Etage

A general data-flow framework

http://mitar.tnode.com

Latest on Hackage:0.1.12

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

LGPL-3.0-only licensed by Mitar Milutinovic
Maintained by [email protected]

A general data-flow framework featuring nondeterminism, laziness and neurological pseudo-terminology. It can be used for example for data-flow computations or event propagation networks. It tries hard to aide type checking and to allow proper initialization and cleanup so that interfaces to input and output devices (data or events producers or consumers) can be made (so that created models/systems/networks can be used directly in real world applications, for example robots).

Its main goal is to model complex neural networks with more biological realism. Namely that impulses do take time to travel and neuron responses are also not instantaneous. And of course that neural systems are in its base nondeterministic and that some level of determinism is build upon that. All this of course makes reasoning about such networks even harder (impossible?).

This framework is in fact just a simple abstraction of Haskell threads and data passing between them through channels with threads' initialization and cleanup wrapped into a Haskell type class.

Feel free to contribute or suggest additional features or (example) programs or to create interfaces to other modules.