[Haskell-cafe] Implementing pi-calculus using STM

Derek Elkins derek.a.elkins at gmail.com
Fri Oct 17 21:41:36 EDT 2008

On Fri, 2008-10-17 at 14:56 +0100, Edsko de Vries wrote:
> Hi,
> (Note: assumes knowledge of pi-calculus.)
> I am playing with writing a simple interpreter for the pi-calculus  
> using STM. The implementation of most of the operators of the pi- 
> calculus is straightforward, but I am unsure on how to implement the  
> replication operator. The interpretation of !P should be the  
> interpretation of the infinite number of parallel processes P | P |  
> P ... . I am implementing parallel processes using the fork operation,  
> but spawning an infinite amount of processes -- even if the (infinite)  
> majority of them all immediately lock -- seems like a bad idea.
> So I would prefer to spawn one P, and as soon as the thread that  
> interprets P makes any progress at all, spawn another, and so on. I'm  
> not too sure however how to achieve this.

Typically replication is restricted to replicated input for reasons akin
to this.

More information about the Haskell-Cafe mailing list