
Hello all, Elerea is a simple pull-based FRP library, which allows you to do stream-oriented programming using a primarily applicative style. Unlike traditional stream-based languages, streams (which I call 'signals' in the library) are first-class entities. I uploaded a new version with an experimental branch that reimplements the original idea in a completely different way: - without unsafePerformIO (although with some restructuring it could be used to make the interface 'more applicative') or existential types - signals are Monad instances, so you can use do notation to sample them - for the same reason the 'sampler' combinator is gone; you can use join instead, which is also well-behaved in comparison (i.e. the output of signals doesn't depend any more on how you observe them) - since the library didn't build on the time step being a Double in any way, I relaxed its type (see the Param branch) - the semantics is cleaned up somewhat (I plan to elaborate on this point later in a blog post, but until then you can check the Simple branch for a general idea) Gergely -- http://www.fastmail.fm - Accessible with your email software or over the web