Changelog for reactive-banana-0.8.0.4
Changelog for the reactive-banana
package
version 0.8.0.4
- Just a reupload. The previous archive was broken.
version 0.8.0.3
- Export the
Future
type. - Restrict
containers
dependency to lower bound 0.5.
version 0.8.0.2
- Fix compilation issue with hiding
empty
from the moduleReactive.Banana.Prim.Order
.
version 0.8.0.1
- New examples
Counter.hs
andOctave.hs
. - Bump
transfomers
dependency.
version 0.8.0.0
- A new module
Reactive.Banana.Prim
exports primitive combinators that you can use to implement your own FRP library with a different API. - The push-driven implementation in
Reactive.Banana.Prim
now 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
accumE
andaccumB
combinators evaluate their state to WHNF to avoid a space leak. (Fixes issue #52). On the other hand,Behavior
values 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
liftIONow
function has been removed. - The type of the
changes
function now indicates that the new Behavior value is only available in the context ofreactimate
. A variantreactimate'
makes this explicit. - The module
Control.Event.Handler
now exports theAddHandler
type, which is now anewtype
. The moduleReactive.Banana.Frameworks.AddHandler
has been removed.
version 0.7.1.0
- Deprecate the
liftIONow
function in favor ofliftIO
.
version 0.7.0.0
- Dynamic event switching. Combinators are now available in the module
Reactive.Banana.Switch
. - Rename
NetworkDescription
toMoment
, add class constraintFrameworks t
. - No longer compiles with the JavaScript backend of the Utrecht Haskell compiler.
- Change the
changes
combinator 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
UseExtensions
flag 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
,spill
andunionWith
combinators to deal with simultaneous events. - Remove general
Monoid
instance forEvent
to simplify reasoning about simultaneous events. - Add
initial
andchanges
combinators that allow you to observe updates toBehavior
. Remove theReactive.Banana.Incremental
module. - Rename most modules,
- Change type singaturs: The main types
Event
,Behavior
andNetworkDescription
now carry an additional phantom type.
version 0.4.3.1
- Model implementation of
accumE
now has the intended semantics.
version 0.4.3.0
- Change semantics:
IO
actions from insidereactimate
may 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
Typeable
constraint frominterpret
andinterpretAsHandler
. - Misc: Remove the
BlackBoard
application from the repository.
version 0.4.2.0
- Change type: remove
Typeable
constraint fromfromAddHandler
. - Misc: the
Vault
data type gets its own package. - Misc:
reactive-banana-wx
now compiles properly with cabal. - Add some more examples to the
reactive-banana-wx
package.
version 0.4.1.0
- Add
<@>
operator for more convenience when usingapply
. - Add support for value recursion to the
NetworkDescription
monad. - Add many examples to
reactive-banana-wx
.
version 0.4.0.0 -- announcement
- Add function
fromPoll
to obtain behaviors from mutable data. - Change name:
run
is 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
pause
orrun
them. - change type:
AddHandler
now 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