I recently finished my PhD thesis and is now available online. Most of the code related to the thesis is available in this repository.
Etage is a data-flow based programming language. It is build upon Haskell and provides nondeterminism and laziness. It is text based and through few basic commands it allows defining operations (neurons) and connections between operations (nerves) along which data can flow. Moreover, program can form a network with loops and is not limited to only tree-like structure.
I have proposed a new global economic system which, instead of trying to reduce transactions between people to one numerical value (money), stores all information about the transaction itself so that then later on everybody can assign a personalized value to the transaction.
An interesting observation is that we can see people as nodes in a network and transactions between them as connections (edges) in the network. The question is how we define these edges. Do we assign an edge a precomputed simple value, a number, which is made at the moment the edge itself is made. (This is what we currently do.) Or do assign context of the edge to the edge, so that anybody can evaluate the edge by themselves. (This is what I am proposing.)
Etage is a general data-flow framework for Haskell featuring nondeterminism, laziness and neurological pseudo-terminology. It can be used for example for data-flow computations or event propagation networks.
There is also an additional package with data-flow based graph algorithms.