[Stackless] CSP functionality

Tom Locke tom at livelogix.com
Mon Jun 30 16:39:28 CEST 2003


I have read with interest Christian's comments on the website about
Limbo and CSP ideas.

Do you still intend to move in this direction Christian? If so, I might
be able to offer some pointers and some help.

I am a PhD student under Peter Welch at the university of Kent, UK
(although I'm now an external student living in the US). At Kent I've
worked extensively on CSP related technologies. Do you know of Peter
Welch? He is one of the best minds of the academic CSP scene.

Kent publishes JCSP (open source), a library providing CSP primitives
for Java, implemented on top of Java's threads and wait/notify. It's a
very full implementation which includes PAR and ALT.


Although I'm very new to Stackless, I'm guessing it would be possible to
port JCSP to Stackless. This would be a good thing to do, because JCSP
was a lot of work, and this stuff is *hard* to get right (especially the
ALT - there is now a formal proof of correctness for the JCSP ALT
(limited to 2 clients))

The main question is, what synchronization primitives does Stackless
provide? If it has monitors (wait/notify), then porting JCSP should be
fairly straightforward.

Going further, it may be possible to improve on the JCSP implementation.
I understand that micro-threading in Stackless is pre-emptive, but if
there is a way to have an atomic block of code where there can be no
scheduling, then significant improvements to the JCSP algorithms are
possible. This was not possible in Java, as there was no way to have an
uninterruptible block.


Stackless mailing list
Stackless at www.tismer.com

More information about the Stackless mailing list