thalerjonathan / chimera

A library for pure functional Agent-Based Simulation in Haskell
GNU General Public License v3.0
13 stars 0 forks source link

chimera

NOTE: THIS PROJECT HAS BEEN DISCONTINUED AND IS INACTIVE

A library for pure functional Agent-Based Simulation.

This library is being developed during my PhD in which I am exploring the benefits and drawbacks of using the functional programming paradigm in Haskell for implementing Agent-Based Simulations. My research led into an approach I termed Functional Reactive Agent-Based Simulation (FrABS) which I implemented in this library. Due to its hybrid approach (it can easily implement SD and with a bit more work DES) I termed my library 'chimera' after the Chimera from the gree mythology which is also a hybrid being: "[...] usually depicted as a lion, with the head of a goat arising from its back, and a tail that might end with a snakes head [...]" (Wikipedia).

FrABS is a radically different approach to ABS in which agents are implemented as time-continuous signals which can exhibit both continuous and discrete behaviour. Compared to the traditional object-oriented approach FrABS differs fundamentally in the following points:

At the moment much refactoring is going on as the current prototype is still too much object-oriented and not functional reactive enough. Currently the following points are open

How-To run examples cd to examples cabal sandbox init cabal install ../../chimera/ cabal run AgentZero (or any other example)