Difference between revisions of "Reactive-banana"

From HaskellWiki
Jump to navigation Jump to search
(One intermediate revision by the same user not shown)
Line 20: Line 20:
 
Current development focuses on dynamic event switching. Examples from game programming and computer music are planned.
 
Current development focuses on dynamic event switching. Examples from game programming and computer music are planned.
   
  +
* 02 August 2013: Initial release of reactive-banana-threepenny. Binds to the threepenny-gui GUI library.
 
* 26 August 2012: reactive-banana 0.7.0.0 released. Features dynamic event switching.
 
* 26 August 2012: reactive-banana 0.7.0.0 released. Features dynamic event switching.
 
* 15 May 2012: reactive-banana 0.6.0.0 released.
 
* 15 May 2012: reactive-banana 0.6.0.0 released.
Line 44: Line 45:
 
* Download on Hackage
 
* Download on Hackage
 
** {{HackagePackage|id=reactive-banana}} - the FRP library itself
 
** {{HackagePackage|id=reactive-banana}} - the FRP library itself
  +
** {{HackagePackage|id=reactive-banana-threepenny}} - binding to the {{HackagePackage|id=threepenny-gui}} GUI library
 
** {{HackagePackage|id=reactive-banana-wx}} - binding to the [[wxHaskell]] GUI library
 
** {{HackagePackage|id=reactive-banana-wx}} - binding to the [[wxHaskell]] GUI library
 
* <span id="documentation">Documentation</span>
 
* <span id="documentation">Documentation</span>
Line 56: Line 58:
 
* Source code on github
 
* Source code on github
 
** [https://github.com/HeinrichApfelmus/reactive-banana/tree/develop/reactive-banana reactive-banana] development branch
 
** [https://github.com/HeinrichApfelmus/reactive-banana/tree/develop/reactive-banana reactive-banana] development branch
** [https://github.com/HeinrichApfelmus/reactive-banana/tree/develop/reactive-banana-wx reactive-banana-wx] development branch
+
** [https://github.com/HeinrichApfelmus/reactive-banana/tree/master/reactive-banana-threepenny reactive-banana-threepenny] master branch
   
 
== External Links ==
 
== External Links ==

Revision as of 09:25, 2 August 2013

What is it?

Reactive banana displaying trigger-happy Behavior.

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

Support the project with a small donation: flattr-badge-large.png

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.

The goal of the library is to provide a solid foundation.

  • Writing graphical user interfaces with FRP is made easy. The library can be hooked into any existing event-based framework like wxHaskell or Gtk2Hs. A plethora of example code helps with getting started. You can mix FRP and imperative style. If you don't know how to express functionality in terms of FRP, just temporarily switch back to the imperative style.
  • Programmers interested in the implementation of FRP will have a reference for a simple semantics with a working implementation. The library stays close to the semantics pioneered by Conal Elliott.
  • The library features an efficient implementation. No more spooky time leaks, predicting space & time usage should be straightforward.

Feedback is welcome, I want to hear from you!

Status

Current development focuses on dynamic event switching. Examples from game programming and computer music are planned.

  • 02 August 2013: Initial release of reactive-banana-threepenny. Binds to the threepenny-gui GUI library.
  • 26 August 2012: reactive-banana 0.7.0.0 released. Features dynamic event switching.
  • 15 May 2012: reactive-banana 0.6.0.0 released.
  • 25 March 2012: reactive-banana 0.5.0.0 released.
  • 24 October 2011: reactive-banana 0.4.3.0 released.
  • 26 September 2011: Added some more examples, reactive-banana 0.4.2.0 released.
  • 14 July 2011: Implemented many examples, reactive-banana 0.4.1.0 released.
  • 22 June 2011: reactive-banana 0.3.0.0 released
  • 28 April 2011: reactive-banana 0.2.0.0 released

Fake Testimonials

"In the programming-language world, one rule of survival is simple: dance or die. This library makes dancing easy." – Simon Banana Jones

"About the use of language: it is impossible to sharpen a pencil with a blunt axe. You should try reactive-banana instead." — Event Dijkstra

"When I need a bullet event, I can just trigger it." — Billy the Reactive Banana

"This should be in a museum!" — Banana Jones

"Hey Mister! Why not use reactive-banana as a smartphone app to brush your teeth?" — Tommy "Banana" Johnson

Releases and Resources

External Links