reactive-banana
reactive-banana-sdl2
Our great sponsors
reactive-banana | reactive-banana-sdl2 | |
---|---|---|
5 | - | |
520 | 2 | |
- | - | |
5.2 | 0.0 | |
3 months ago | almost 6 years ago | |
Haskell | Haskell | |
BSD 3-clause "New" or "Revised" License | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
reactive-banana
-
Haskell, JS, and WebDev?
As I grew up on a Macintosh, I was always interested in graphical user interfaces. In my free time, I'm currently working on refreshing my reactive-banana library so that it will hopefully work well with the upcoming JavaScript backend. (The library relies on a few non-trivial garbage collector features, which were not implemented in GHCJS a decade ago. Essentially, I ended up with a program that gave different results, depending on whether it was compiled with GHC native or with GHCJS. 😅)
-
Any haskell-like languages with native FRP?
Another FRP implementation that I think is quite simple is reactive-banana. Heinrich recently refactored the module hierarchy to stratify it based on low-level, mid-level and high-level abstractions: https://github.com/HeinrichApfelmus/reactive-banana/tree/master/reactive-banana/src/Reactive/Banana/Prim
-
Applicatives should usually implement Semigroup and Monoid
I agree! Having foldMap be available in a monadic context is a big win - here's an example of me asking for it in reactive-banana, along with a motivating example - https://github.com/HeinrichApfelmus/reactive-banana/issues/222. Library authors, please consider adding these instances - your users will thank you!
-
How to prevent a deadlock in reactive-banana with event-switching? (Exception: thread blocked indefinitely in an MVar operation)
There are some examples that also use event-switching, like https://github.com/HeinrichApfelmus/reactive-banana/blob/master/reactive-banana-wx/src/BarTab.hs , which also seems to use execute. They use <$ though instead of <$>:
reactive-banana-sdl2
We haven't tracked posts mentioning reactive-banana-sdl2 yet.
Tracking mentions began in Dec 2020.
What are some alternatives?
DefendTheKing - A simple multiplayer RTS game
reactive-bacon - FRP (functional reactive programming) framework inspired by RX and Iteratee
rhine - Haskell Functional Reactive Programming framework with type-level clocks
yampa-glut - Yampa adapter for GLUT
reflex-dom - Web applications without callbacks or side-effects. Reflex-DOM brings the power of functional reactive programming (FRP) to the web. Build HTML and other Document Object Model (DOM) data with a pure functional interface.
reactive-thread
dunai - Classic FRP, Arrowized FRP, Reactive Programming, and Stream Programming, all via Monadic Stream Functions
euphoria - Dynamic network FRP with events and continuous values
netwire - FRP library
reflex - Interactive programs without callbacks or side-effects. Functional Reactive Programming (FRP) uses composable events and time-varying values to describe interactive systems as pure functions. Just like other pure functional code, functional reactive code is easier to get right on the first try, maintain, and reuse.