Changelog for reactive-banana-1.2.0.0
Changelog for the `reactive-banana** package
version 1.2.0.0
-
Make
MonadFixsuperclass ofMonadMoment. #128 -
Add
SemigroupandMonoidinstances forEvent. #104 -
Semigroup compatibility with GHC 8.4.1 #168
-
Increased upper-bound on
pqueue.
version 1.1.0.1
- Adapt library to work with GHC-8.0.1.
version 1.1.0.0
- Fix bug: Types of
switchBandswitchEneed to be in theMomentmonad. - Clean up and simplify model implementation in the
Reactive.Banana.Modelmodule. - Update type signatures of the
interpret*functions to make it easier to try FRP functions in the REPL. - Remove
showNetworkfunction.
version 1.0.0.1
- Improve documentation.
- Add prose section on recursion.
- Improve explanation for the
changesfunction.
- Bump
transfomersdependency. - Remove defunct
UseExtensionsflag from cabal file.
version 1.0.0.0
The API has been redesigned significantly in this version!
- Remove phantom type parameter
tfromEvent,BehaviorandMomenttypes.- Change accumulation functions (
accumB,accumE,stepper) to have a monadic result type. - Merge module
Reactive.Banana.Switchinto moduleReactive.Banana.Combinators. - Simplify types of the switching functions (
switchE,switchB,observeB,execute). - Remove functions
trimEandtrimB. - Remove types
AnyMomentandIdentity.
- Change accumulation functions (
- Remove
Frameworksclass constraint, useMomentIOtype instead.- Add class
MonadMomentfor both polymorphism over theMomentandMomentIOtypes.
- Add class
- Change type
Eventto only allow a single event per moment in time.- Remove function
union. UseunionWithinstead. - Change function
unionsto only merge events of typeEvent (a -> a).
- Remove function
- Remove module
Reactive.Banana.Experimental.Calm. - Change the model implementation in the module
Reactive.Banana.Modelto the new API as well.
Other changes:
- Add
mapEventIOutility function to build an Event that contains the result of an IO computation. - Add
newBehaviorutility function to build a Behavior that can be updated with aHandler. - Add illustrations to the API documentation.
version 0.9.0.0
-
Implement garbage collection for dynamically switched events.
-
Fix issue #79 where recursive declarations would sometimes result in dropped events.
-
Limit value recursion in the
Momentmonad slightly. -
Change
initialandvalueBto behave subtly different when it comes to value recursion in theMomentmonad. -
Add
Functor,ApplicativeandMonadinstances for theFrameworksMomenttype. -
Depend on the pqueue package instead of the psqueues package again, as the former has been updated to work with the current version of GHC.
version 0.8.1.2
version 0.8.1.1
- Links to the Haskell wiki now point to the
http://wiki.haskell.orgsubdomain.
version 0.8.1.0
-
Module
Reactive.Banana.Switchnow adheres to the "Functor Applicative Monad Proposal" proposal]amp-proposal.
version 0.8.0.4
- Just a re-upload. The previous archive was broken.
version 0.8.0.3
- Export the
Futuretype. - Restrict
containersdependency to lower bound 0.5.
version 0.8.0.2
- Fix compilation issue with hiding
emptyfrom the moduleReactive.Banana.Prim.Order.
version 0.8.0.1
- New examples
Counter.hsandOctave.hs. - Bump
transfomersdependency.
version 0.8.0.0
- A new module
Reactive.Banana.Primexports primitive combinators that you can use to implement your own FRP library with a different API. - The push-driven implementation in
Reactive.Banana.Primnow has the performance characteristics of an actual push-driven implementation. Some work has gone into optimizing constant factors as well. However there is still no garbage collection for dynamically created events and behaviors. - The
accumEandaccumBcombinators evaluate their state to WHNF to avoid a space leak. (Fixes issue #52). On the other hand,Behaviorvalues are evaluated on demanded, i.e. only when required by the apply combinator<@>or similar. - Recursion between events and behaviors should now work as advertised. (Fixed issue #56).
- The deprecated
liftIONowfunction has been removed. - The type of the
changesfunction now indicates that the new Behavior value is only available in the context ofreactimate. A variantreactimate'makes this explicit. - The module
Control.Event.Handlernow exports theAddHandlertype, which is now anewtype. The moduleReactive.Banana.Frameworks.AddHandlerhas been removed.
version 0.7.1.0
- Deprecate the
liftIONowfunction in favor ofliftIO.
version 0.7.0.0
- Dynamic event switching. Combinators are now available in the module
Reactive.Banana.Switch. - Rename
NetworkDescriptiontoMoment, add class constraintFrameworks t. - No longer compiles with the JavaScript backend of the Utrecht Haskell compiler.
- Change the
changescombinator to be less useful.
version 0.6.0.0
- Can now be compiled with the JavaScript backend of the Utrecht Haskell compiler.
- The push-driven implementations needs the
UseExtensionsflag to work. This flag is enabled by default. - Minor module reorganization.
version 0.5.0.0 -- announcement
This update includes numerous changes, in particular a complete overhaul of the internal implementation. Here a partial list.
- Add
collect,spillandunionWithcombinators to deal with simultaneous events. - Remove general
Monoidinstance forEventto simplify reasoning about simultaneous events. - Add
initialandchangescombinators that allow you to observe updates toBehavior. Remove theReactive.Banana.Incrementalmodule. - Rename most modules,
- Change type signatures: The main types
Event,BehaviorandNetworkDescriptionnow carry an additional phantom type.
version 0.4.3.1
- Model implementation of
accumEnow has the intended semantics.
version 0.4.3.0
- Change semantics:
IOactions from insidereactimatemay now interleave as dictated by your event-based framework (issue #15). - Fix bug: compiling a network twice no longer fails due to lingering global state (issue #16).
- Change type: remove
Typeableconstraint frominterpretandinterpretAsHandler. - Misc: Remove the
BlackBoardapplication from the repository.
version 0.4.2.0
- Change type: remove
Typeableconstraint fromfromAddHandler. - Misc: the
Vaultdata type gets its own package. - Misc:
reactive-banana-wxnow compiles properly with cabal. - Add some more examples to the
reactive-banana-wxpackage.
version 0.4.1.0
- Add
<@>operator for more convenience when usingapply. - Add support for value recursion to the
NetworkDescriptionmonad. - Add many examples to
reactive-banana-wx.
version 0.4.0.0 -- announcement
- Add function
fromPollto obtain behaviors from mutable data. - Change name:
runis now calledactuate. - Add derived data type
Discrete. - Add function
interpretAsHandler.
version 0.3.0.0 -- announcement
- change: event networks are now first-class values, you can
pauseorrunthem. - change type:
AddHandlernow expects a way to unregister event handlers. - add example
RunPause.hs
version 0.2.0.0 -- announcement
- change: now implements proper semantics as pioneered by Conal Elliott
- model implementation for semantics
- push-driven implementation for efficiency
- add example
SlotMachine.hs
version 0.1.0.0
- initial release