When comparing sodium 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 sodium is ranked 4th. 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 Cross-language
Sodium intends to provide a consistent FRP implementation across multiple languages. It currently supports C#, C++, Java, Haskell and Scala.
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.