When comparing reactive-banana vs Yampa, the Slant community recommends reactive-banana for most people. In the question“What are the best Functional Reactive Programming (FRP) libraries for Haskell?” reactive-banana is ranked 2nd while Yampa is ranked 5th. The most important reason people chose reactive-banana is:
Unlike monadic FRP implementations, operations on reactive-banana's behaviors aren't inherently sequential. This allows more opportunities for laziness, parallelism and similar optimizations.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Asynchronous data flow
Unlike monadic FRP implementations, operations on reactive-banana's behaviors aren't inherently sequential. This allows more opportunities for laziness, parallelism and similar optimizations.
Pro The network is expressed via pure functions
Rather than being constructed inside a monad or arrow, reactive-banana behavior networks are a set of mutually-recursive pure functions. Events and behaviours can easily be composed with each other to form new ones. This style encourages the types to be written down explicitly, which in turn makes the code easier to understand.
Pro Easy binding to GUI libraries
reactive-banana
has existing interfaces for wx and SDL, and wrapping other GUIs is extremely straightforward.
Cons
Con Legacy code overlaps with other libraries
Yampa is an older package and portions were written before current de facto libraries, resulting in some duplication and potential idiosyncrasies.