Skip to content
This repository

Library for functional reactive programming in Haskell.

branch: master
README.md

Build Status

What is reactive-banana?

Reactive-banana is a library for Functional Reactive Programming (FRP), written in Haskell.

Support the project with a small donation: Flattr this

See the project homepage for documentation, examples and so on.

Compilation from the repository

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.

GUI examples using wxHaskell

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 ..

How is the source code structured?

The project contains several directories:

  • reactive-banana — the core library
  • reactive-banana-wx — bindings to the wxHaskell GUI library, includes many examples

The reactive-banana library actually contains two FRP implementations:

  1. Reactive.Banana.Model - A model implementation for testing and understanding the semantics. You are encouraged to look at the source code.
  2. Reactive.Banana.Prim - The efficient push-driven implementation used for production code. Contains hard to understand trade secrets. ;-)

Contribute

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
Something went wrong with that request. Please try again.