<div dir="ltr"><div class="gmail-_2w7fkGYeZk22ZtKCTcGj_T"><div style="opacity:1"><div class="gmail-_3xX726aBn29LDbsDtzr_6E gmail-_3l9ryDzeuWyQEv-5287xPH"><div class="gmail-_292iotee39Lmt0MkQZ2hPV gmail-RichTextJSON-root"><p class="gmail-_1qeIAgB0cPwnLhDF9XSiJM">Hi everyone!</p><p class="gmail-_1qeIAgB0cPwnLhDF9XSiJM">I've just released version 0.9.0 of the <code class="gmail-_34q3PgLsx9zIU5BiSOjFoM">dunai</code> libraries, which comes with version 0.13.6 of <code class="gmail-_34q3PgLsx9zIU5BiSOjFoM">bearriver</code>.</p><p class="gmail-_1qeIAgB0cPwnLhDF9XSiJM">For those unfamiliar, <code class="gmail-_34q3PgLsx9zIU5BiSOjFoM">dunai</code> is a reactive programming library structured around a notion of <a href="https://dl.acm.org/doi/abs/10.1145/3241625.2976010" class="gmail-_3t5uN8xUmg0TOwRCOGQEcU" rel="noopener nofollow ugc" target="_blank">Monadic Stream Functions</a>. <code class="gmail-_34q3PgLsx9zIU5BiSOjFoM">dunai</code> can be used to implement other reactive and FRP frameworks on top, including Classic FRP and Arrowized FRP variants. <code class="gmail-_34q3PgLsx9zIU5BiSOjFoM">bearriver</code> itself is an API-compatible implementation of <code class="gmail-_34q3PgLsx9zIU5BiSOjFoM">Yampa</code>. <code class="gmail-_34q3PgLsx9zIU5BiSOjFoM">dunai</code> also comes with a QuickCheck-based temporal testing library, and can be connected with the testing system <code class="gmail-_34q3PgLsx9zIU5BiSOjFoM">haskell-titan.</code>  All versions of GHC from 7.6 to 9.4 are supported.</p><p class="gmail-_1qeIAgB0cPwnLhDF9XSiJM"><i><span class="gmail-_7s4syPYtk5hfUIjySXcRE">Release information</span></i></p><p class="gmail-_1qeIAgB0cPwnLhDF9XSiJM">This is mainly a maintenance release. Among other changes, this version improves the documentation in <code class="gmail-_34q3PgLsx9zIU5BiSOjFoM">dunai-test</code>. Additionally, a function that was exposed unnecessarily is being deprecated in preparation for its future removal.</p><ul class="gmail-_33MEMislY0GAlB78wL1_CR"><li class="gmail-_3gqTEjt4x9UIIpWiro7YXz"><p class="gmail-_1qeIAgB0cPwnLhDF9XSiJM">Release: <a href="https://github.com/ivanperez-keera/dunai/releases/tag/v0.9.0" class="gmail-_3t5uN8xUmg0TOwRCOGQEcU" rel="noopener nofollow ugc" target="_blank">https://github.com/ivanperez-keera/dunai/releases/tag/v0.9.0</a>.</p></li><li class="gmail-_3gqTEjt4x9UIIpWiro7YXz"><p class="gmail-_1qeIAgB0cPwnLhDF9XSiJM">Hackage:</p><ul class="gmail-_33MEMislY0GAlB78wL1_CR"><li class="gmail-_3gqTEjt4x9UIIpWiro7YXz"><p class="gmail-_1qeIAgB0cPwnLhDF9XSiJM"><code class="gmail-_34q3PgLsx9zIU5BiSOjFoM">dunai</code>: <a href="https://hackage.haskell.org/package/dunai" class="gmail-_3t5uN8xUmg0TOwRCOGQEcU" rel="noopener nofollow ugc" target="_blank">https://hackage.haskell.org/package/dunai</a>.</p></li><li class="gmail-_3gqTEjt4x9UIIpWiro7YXz"><p class="gmail-_1qeIAgB0cPwnLhDF9XSiJM"><code class="gmail-_34q3PgLsx9zIU5BiSOjFoM">dunai-test</code>: <a href="https://hackage.haskell.org/package/dunai-test" class="gmail-_3t5uN8xUmg0TOwRCOGQEcU" rel="noopener nofollow ugc" target="_blank">https://hackage.haskell.org/package/dunai-test</a></p></li><li class="gmail-_3gqTEjt4x9UIIpWiro7YXz"><p class="gmail-_1qeIAgB0cPwnLhDF9XSiJM"><code class="gmail-_34q3PgLsx9zIU5BiSOjFoM">bearriver</code>: <a href="https://hackage.haskell.org/package/bearriver" class="gmail-_3t5uN8xUmg0TOwRCOGQEcU" rel="noopener nofollow ugc" target="_blank">https://hackage.haskell.org/package/bearriver</a></p></li></ul></li><li class="gmail-_3gqTEjt4x9UIIpWiro7YXz"><p class="gmail-_1qeIAgB0cPwnLhDF9XSiJM">Repo: <a href="https://github.com/ivanperez-keera/dunai" class="gmail-_3t5uN8xUmg0TOwRCOGQEcU" rel="noopener nofollow ugc" target="_blank">https://github.com/ivanperez-keera/dunai</a>.</p></li></ul><p class="gmail-_1qeIAgB0cPwnLhDF9XSiJM"><i><span class="gmail-_12FoOEddL7j_RgMQN0SNeU">Upcoming changes</span></i></p><p class="gmail-_1qeIAgB0cPwnLhDF9XSiJM">We are synchronizing releases with the <code class="gmail-_34q3PgLsx9zIU5BiSOjFoM">Yampa</code> project to ensure that <code class="gmail-_34q3PgLsx9zIU5BiSOjFoM">bearriver</code> incorporates any changes added to <code class="gmail-_34q3PgLsx9zIU5BiSOjFoM">Yampa</code>. Additionally, the goal is to eventually use <code class="gmail-_34q3PgLsx9zIU5BiSOjFoM">Yampa</code>'s tests also to give <code class="gmail-_34q3PgLsx9zIU5BiSOjFoM">bearriver</code> full test coverage.</p><p class="gmail-_1qeIAgB0cPwnLhDF9XSiJM">Two changes are being discussed that will potentially affect users:</p><ul class="gmail-_33MEMislY0GAlB78wL1_CR"><li class="gmail-_3gqTEjt4x9UIIpWiro7YXz"><p class="gmail-_1qeIAgB0cPwnLhDF9XSiJM">The introduction of a new constraint in <code class="gmail-_34q3PgLsx9zIU5BiSOjFoM">VectorSpace</code> in <code class="gmail-_34q3PgLsx9zIU5BiSOjFoM">simple-affine-space</code> would alter the type constraints of some functions. See <a href="https://github.com/ivanperez-keera/dunai/issues/298" class="gmail-_3t5uN8xUmg0TOwRCOGQEcU" rel="noopener nofollow ugc" target="_blank">#298</a>.</p></li><li class="gmail-_3gqTEjt4x9UIIpWiro7YXz"><p class="gmail-_1qeIAgB0cPwnLhDF9XSiJM">A re-structuring of the API to better reflect the purpose of the implementation. This could also lead to a division of <code class="gmail-_34q3PgLsx9zIU5BiSOjFoM">dunai</code> into multiple libraries. See <a href="https://github.com/ivanperez-keera/dunai/issues/305" class="gmail-_3t5uN8xUmg0TOwRCOGQEcU" rel="noopener nofollow ugc" target="_blank">#305</a>.</p></li></ul><p class="gmail-_1qeIAgB0cPwnLhDF9XSiJM">The next release is expected to be published on October 21, 2022.</p><p class="gmail-_1qeIAgB0cPwnLhDF9XSiJM">Happy Haskelling!</p><p class="gmail-_1qeIAgB0cPwnLhDF9XSiJM">Ivan<br></p></div></div></div></div></div>