archives

Efficient, Correct Simulation of Biological Processes in the Stochastic Pi-calculus

Efficient, Correct Simulation of Biological Processes in the Stochastic Pi-calculus. Andrew Phillips, Luca Cardelli. September 2007.

In recent years, there has been considerble research on designing programming languages for complex parallel computer systems. Interestingly, some of this research is also applicable to biological systems, which are typically highly complex and massively parallel. In particular, a mathematical programming language known as the stochastic Pi-calculus has recently been used to model and simulate a range of biological systems...

...the prototype simulator presented in this paper will form the basis of the next release of the Stochastic Pi Machine.

SPiM, The Stochastic Pi Machine, is here, where you'll find tutorials and related information.

A nice introduction to the Gillespie algorithm can be found here.

Question about the Monad associativity law

A really dump question...

The associativity law states (using Haskell syntax):

m >>= (\x -> k x >>= h) = (m >>= k) >>= h

What I don't understand is why "bind" can be associative. One use of monad is to encapsulate side-effects. And the order of operations is important when there are side-effects. If so, why does associativity hold?