When comparing Netwire vs reactive-banana, 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 Netwire is ranked 3rd. 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 Wire type unifies events and signals
Netwire uses the Wire
type for both continuous signals/behaviors and discrete events, allowing a more general set of core functions and operators.
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.