The reactive package

[Tags: ]

Reactive is a simple foundation for programming reactive systems functionally. Like Fran/FRP, it has a notions of (reactive) behaviors and events. Unlike most previous FRP implementations, Reactive has a hybrid demand/data-driven implementation, as described in the paper "Push-pull functional reactive programming",

This version of Reactive has some serious bugs that show up particularly with some uses of the Event monad. Some problems have been due to bugs in the GHC run-time support for concurrency. I do not know whether the remaining problems in Reactive are still more subtle RTS issues, or some subtle laziness bugs in Reactive. Help probing the remaining difficulties is most welcome.

Import FRP.Reactive for FRP client apps. To make a Reactive adapter for an imperative library, import FRP.Reactive.LegacyAdapters.

Please see the project wiki page:

© 2007-2009 by Conal Elliott; GNU AGPLv3 license (see COPYING). I am not thrilled with GPL. If you would like different terms, please talk to me.

With contributions from: Robin Green, Thomas Davie, Luke Palmer, David Sankel, Jules Bean, Creighton Hogg, Chuan-kai Lin, and Richard Smith. Please let me know if I've forgotten to list you.


Versions0.0, 0.2, 0.3, 0.5,, 0.8.3, 0.8.6, 0.8.8, 0.9.0, 0.9.1, 0.9.3, 0.9.4, 0.9.5, 0.9.6, 0.9.7, 0.9.8, 0.9.9, 0.9.10, 0.10.0, 0.10.1, 0.10.2, 0.10.3, 0.10.4, 0.10.5, 0.10.7, 0.11, 0.11.2, 0.11.3, 0.11.4, 0.11.5
Dependenciesbase (==4.*), category-extras (>=0.53.5), checkers (>=0.2.3), old-time, QuickCheck (>=, random, Stream (>=0.3.1), TypeCompose (>=0.6.3), unamb (>=0.1.5), vector-space (>=0.5)
Copyright(c) 2007-2009 by Conal Elliott
AuthorConal Elliott
Categoryreactivity, FRP
Home page
Bug tracker
Upload dateMon Oct 12 17:33:10 UTC 2009
Uploaded byConalElliott
Downloads1635 total (174 in last 30 days)




Maintainers' corner

For package maintainers and hackage trustees