elerea-2.1.0: elerea.cabal
Name: elerea
Version: 2.1.0
Cabal-Version: >= 1.2
Synopsis: A minimalistic FRP library
Category: reactivity, FRP
Description:
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.
.
Stateful signals can be safely generated at any time through a
specialised monad, 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 four
major variants:
.
* Simple: signals are plain discrete streams isomorphic to functions
over natural numbers;
.
* Param: adds a globally accessible input signal for convenience;
.
* Clocked: adds the ability to freeze whole subnetworks at will;
.
* Delayed: attempts to resolve instantaneous dependency cycles
(i.e. cycles without a delay); this variant is likely to be
deprecated in the near future.
.
The first three variants come with precise denotational semantics.
.
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.
Author: Patai Gergely
Maintainer: Patai Gergely (patai@iit.bme.hu)
Copyright: (c) 2009, Patai Gergely
License: BSD3
License-File: LICENSE
Stability: experimental
Build-Type: Simple
Extra-Source-Files:
CHANGES
Library
Exposed-Modules:
FRP.Elerea.Legacy
FRP.Elerea.Legacy.Graph
FRP.Elerea.Legacy.Internal
FRP.Elerea.Simple
FRP.Elerea.Param
FRP.Elerea.Clocked
FRP.Elerea.Delayed
Build-Depends: base >= 3 && < 5, containers, mersenne-random
ghc-options: -Wall -O2