auto
Version 0.2.0.5 revision 2 uploaded by jle.
Package meta
- Synopsis
- Denotative, locally stateful programming DSL & platform
- Description
(Up to date documentation is maintained at https://mstksg.github.com/auto)
Read the README first! https://github.com/mstksg/auto/blob/master/README.md for motivating, short examples and concrete explanations of the things described here.
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. It is suited for any domain where either the input or the output can be described as a stream: a stream of input events, output views, etc.
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 https://github.com/mstksg/auto/blob/master/README.md; you can get started by reading the tutorial, which is also in this project directory in the tutorial directory, and also incidentally online at https://github.com/mstksg/auto/blob/master/tutorial/tutorial.md. Also, check out the auto-examples repository on github for plenty of real-world and toy examples to learn from!
Support available on freenode's #haskell-auto, #haskell-game, and also on the github issue tracker for the source repository.
Import Control.Auto to begin!
- Author
- Justin Le
- Bug reports
- https://github.com/mstksg/issues
- Category
- Control
- Copyright
- (c) Justin Le 2015
- Homepage
- https://github.com/mstksg/auto
- Maintainer
- justin@jle.im
- Package URL
- n/a
- Stability
- n/a