elerea: A minimalistic FRP library
Elerea (Eventless reactivity) is a tiny discrete time FRP implementation without the notion of event-based switching and sampling, with first-class signals (time-varying values). Reactivity is provided through various higher-order constructs that also allow the user to work with arbitrary time-varying structures containing live signals. Signals have precise and simple denotational semantics.
Stateful signals can be safely generated at any time through a monadic interface, while stateless combinators can be used in a purely applicative style. Elerea signals can be defined recursively, and external input is trivial to attach. The library comes in two major variants:
Simple: signals are plain discrete streams isomorphic to functions over natural numbers;
Param: adds a globally accessible input signal for convenience;
This is a minimal library that defines only some basic primitives,
and you are advised to install elerea-examples
as well to get an
idea how to build non-trivial systems with it. The examples are
separated in order to minimise the dependencies of the core library.
The dow
package contains a full game built on top of the simple
variant.
The basic idea of the implementation is described in the WFLP 2010 paper Efficient and Compositional Higher-Order Streams (http://sgate.emt.bme.hu/documents/patai/publications/PataiWFLP2010.pdf).
Additional contributions: Takano Akio, Mitsutoshi Aoe
Downloads
- elerea-2.9.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 0.1.0, 0.2.0, 0.3.0, 0.4.0, 0.5.0, 0.6.0, 1.0.0, 1.1.0, 1.2.0, 1.2.1, 1.2.2, 1.2.3, 2.0.0, 2.1.0, 2.2.0, 2.3.0, 2.4.0, 2.5.0, 2.6.0, 2.7.0, 2.7.0.1, 2.7.0.2, 2.8.0, 2.9.0 |
---|---|
Change log | CHANGES |
Dependencies | base (>=4 && <5), containers, transformers, transformers-base [details] |
License | BSD-3-Clause |
Copyright | (c) 2009-2012, Patai Gergely |
Author | Patai Gergely |
Maintainer | Patai Gergely (patai.gergely@gmail.com) |
Category | reactivity, FRP |
Uploaded | by GergelyPatai at 2016-06-19T14:31:07Z |
Distributions | LTSHaskell:2.9.0, NixOS:2.9.0, Stackage:2.9.0 |
Reverse Dependencies | 5 direct, 0 indirect [details] |
Downloads | 24393 total (36 in the last 30 days) |
Rating | 2.0 (votes: 1) [estimated by Bayesian average] |
Your Rating | |
Status | Docs available [build log] Last success reported on 2016-06-19 [all 1 reports] |