auto: Denotative, locally stateful programming DSL & platform
(Up to date documentation is maintained at https://mstksg.github.com/auto)
auto is a Haskell DSL and platform providing declarative, compositional, denotative semantics for discrete-step, locally stateful, interactive programs, games, and automations, with implicitly derived serialization.
auto works by providing a type that encapsulates "stream transformers", or locally stateful functions; by specifying your program as a (potentially cyclic) graph of relationships between streams, you create a way of "declaring" a system based simply on static relationships between quantities.
Instead of a "state monad" type solution, where all functions have access to a global state, auto works by specifying relationships which each exist independently and on their own, without any global state.
A more fuller exposition is in the
README.md, in this
project directory and also online at
you can get started by reading the tutorial, which is
also in this project directory in the
directory, and also incidentally online at
Also, check out the
repository on github for plenty of real-world and toy
examples to learn from!
Import Control.Auto to begin!
[Skip to Readme]
|Versions [RSS]||0.2.0.2, 0.2.0.3, 0.2.0.4, 0.2.0.5, 0.2.0.6, 0.3.0.0, 0.4.0.0, 0.4.1.0, 0.4.2.0, 0.4.2.1, 0.4.2.2, 0.4.2.3, 0.4.3.0, 0.4.3.1 (info)|
|Dependencies||base (>=4.6 && <4.8), bytestring (>=0.10.4.0 && <0.11), cereal (>=0.4.1.1 && <0.5), containers (>=0.5.5.1 && <0.6), deepseq (>=184.108.40.206 && <2.0), profunctors (>=4.4.1 && <5.0), random (>=1.1 && <2.0), semigroups (>=0.16.2.2 && <0.17), transformers (>=0.4.2.0 && <0.5) [details]|
|Copyright||(c) Justin Le 2015|
|Source repo||head: git clone git://github.com/mstksg/auto.git|
|Uploaded||by jle at 2015-03-16T05:14:38Z|
|Downloads||11009 total (50 in the last 30 days)|
|Rating||2.25 (votes: 2) [estimated by Bayesian average]|
|Status||Docs available [build log]
Last success reported on 2015-03-16 [all 1 reports]