The reactive-banana package

[Tags: bsd3, library]

Reactive-banana is a library for Functional Reactive Programming (FRP).

FRP offers an elegant and concise way to express interactive programs such as graphical user interfaces, animations, computer music or robot controllers. It promises to avoid the spaghetti code that is all too common in traditional approaches to GUI programming.

See the project homepage for more detailed documentation and examples.

Stability forecast:

No semantic bugs expected.

Significant API changes are likely in future versions, though the main interface is beginning to stabilize.

The library features an efficient, push-driven implementation and has seen some optimization work. However, the inner loop still has a rather large constant factor overhead. Moreover, there is currently no garbage collection for events that are created dynamically with Reactive.Banana.Switch.


Dependenciesbase (>=4.2 && <5), containers (==0.5.*), hashable (>=1.1 && <1.3), pqueue (>=1.0 && <1.3), transformers (>=0.2 && <0.5), unordered-containers (>= && <0.3), vault (==0.3.*)
AuthorHeinrich Apfelmus
MaintainerHeinrich Apfelmus <apfelmus quantentunnel de>
Home page
Source repositoryhead: git clone git://
UploadedSun Dec 21 19:58:35 UTC 2014 by HeinrichApfelmus
DistributionsDebian:, NixOS:
Downloads4865 total (365 in last 30 days)
StatusDocs available [build log]
Last success reported on 2014-12-22 [all 1 reports]




useextensionsUse GHC-specific language extensions. This enables the efficient push-driven implementation, but doesn't necessarily work with compilers other than GHC.Enabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainers' corner

For package maintainers and hackage trustees