reactive-banana icon indicating copy to clipboard operation
reactive-banana copied to clipboard

Library for functional reactive programming in Haskell.

Results 61 reactive-banana issues
Sort by recently updated
recently updated
newest added

If I'm not mistaken, the `MomentIO` action carried by an `Event` that is passed to `execute`... ```haskell execute :: Event (MomentIO a) -> MomentIO (Event a) ^^^^^^^^^^ ``` ...should never...

Type: Enhancement
Type: Question

This makes it slightly more convenient to call when you're in other monads (for example, `RIO`), saving the user a `liftIO`.

I believe the following FRP system has undefined behavior: ```haskell {-# language LambdaCase, BlockArguments, RecursiveDo #-} module Test where import Reactive.Banana import Reactive.Banana.Frameworks import Reactive.Banana.Combinators import Data.Functor main :: IO...

Type: Bug

Fixes #219. The main problem is that in `newtype Event a = E (Prim.Event a)`, we have ```haskell type Prim.Event a = Cached Moment (Pulse a) data Cached m a...

When doing higher-order FRP, the `Moment` concept comes up often. It's similar to `Behavior` in that a `Moment a` represents an `a` that has a value at every point in...

Currently these are inferred as `nominal`, but I think the parameter should be representational. This would let us say ```haskell newtype CheckboxEvent = CheckboxEvent { toEvent :: Event Bool }...

This should fix the issue that handlers registered by `fromAddHandler` were not unregistered by `pause`. It also brings the implementation in line with the documentation, which says that input handlers...

Can we have pure function, similar to [changes](https://hackage.haskell.org/package/reactive-banana-1.1.0.1/docs/Reactive-Banana-Frameworks.html#v:changes) with type like Behavior a -> Moment (Event (Future a)) (or Behavior a -> Moment (Event a), or even Behavior a ->...

Type: Design Discussion

The type of the bidirectional reactimate would be `Event (IO a) -> MomentIO (Event a)`. Whenever the input event occurs, the output event is fired. Unlike `execute` this would not...