Reactive-banana is a library for Functional Reactive Programming (FRP), written in Haskell.
Support the project with a small donation:
See the project homepage for documentation, examples and so on.
To build and install the core library from the source repository, simply type
cd reactive-banana && cabal install && cd ..
However, to try out the GUI examples, you have to install one of the of the additional packages.
Prerequisites: the wxHaskell package
cabal install wx
Note that you need to have a development version of the wxWidgets libraries installed before building wx. If you run into ExitFailure 1
exceptions, please follow the wxHaskell Quick Start instructions and try again.
To build the wx examples, type
cd reactive-banana-wx
cabal configure -fbuildExamples && cabal build
cd ..
The project contains several directories:
reactive-banana
— the core libraryreactive-banana-wx
— bindings to the wxHaskell GUI library, includes many examples
The reactive-banana library actually contains two FRP implementations:
- Reactive.Banana.Model - A model implementation for testing and understanding the semantics. You are encouraged to look at the source code.
- Reactive.Banana.Prim - The efficient push-driven implementation used for production code. Contains hard to understand trade secrets. ;-)
Send me your examples, bindings, problems, suggestions, etc!
With contributions from
- Abu Alam
- Alexander Berntsen
- Kevin Cantu
- Gregory Crosswhite
- Elliott Hird
- John Lato
- Gideon Sireling
- Henning Thielemann
- Daniel Werner