I have released version 0.6.0.0 of my reactive-banana library on hackage.
Compared to the previous release, the public API is essentially
unchanged, except that I have renamed the module
Reactive.Banana.Experimental.Model to
Reactive.Banana.Model again, hence the major change in the
version number.
Moreover, this release now works with the latest versions (0.13 and
0.90) of the wxHaskell
library. Make sure that you install the latest patch release of
wx, wxcore and wc if applicable,
as they resolve a few problems with wxWidgets 2.9.3.
The major change introduced in this release is that the library can now be compiled with the Utrecht Haskell Compiler, in particular the JavaScript backend. It was Mathijs Kwik who suggested this feature to me. In other words, you can now use functional reactive programming with Haskell in the web browser! Well, if you manage to get UHC up and running, that is. The infrastructure still needs some work compared to GHC. But hey, if you want to program browser-based user interfaces with Haskell, my bananas are loaded and ready.
The main problem was that UHC doesn’t support all the language
extensions that I needed for my efficient push-driven implementation. To
solve this, I have introduced a new flag UseExtensions in
the .cabal file. It is on by default, but will (hopefully) be disabled
automatically if the compiler doesn’t support extensions like GADTs or
TypeFamilies. (You can also disable it by hand.) The implementation will
then fall back to the less efficient model implementation.
Many thanks to all users for suggesting and discussing changes with me, especially Mathijs Kwik and Henning Thielemann. Special thanks to Jeremy O’Donoghue for his work on wxHaskell.
Howdy, cowboy, it’s advertisment time! If you like the
reactive-banana project, you can support me with a small donation:
. Furthermore, at the end of every month, all
ardent supporters will receive ¢2 worth of status information and fruity
puns! (This magnificent offer can be respectfully declined in your
Flattr preferences.)
PS: What happened to dynamic event switching? Well, I can tell you that the next version of reactive-banana, 0.7.0.0, will definitely include dynamic event switching and it will likely work with UHC as well!