[cap-talk] Tamed Pict (was: Re: A Taxonomy of Current Object-Cap Systems)

Toby Murray toby.murray at comlab.ox.ac.uk
Wed Mar 4 12:01:49 EST 2009

On Wed, 2009-03-04 at 13:48 +0100, Matej Kosik wrote:
> Very short description of relationship among Pict, Tamed Pict, Sahara
> can be found here:
> http://altair.sk/uploads/tmp/introduction.pdf
> Relevant text starts at page 4. The paragraph above the figure.
> Pict is finished.
> Tamed Pict is finished.
> Sahara is finished.

That's awesome. I can't wait to read the rest of your thesis. 

In the meantime, could you clarify a few things for me about Tamed Pict.

Processes in Tamed Pict run concurrently. Hence it is multi-threaded.

Sending of messages between processes in Tamed Pict is nominally
asynchronous because it is so in Pict -- quoting from Pierce and
Turner's "Pict: A Programming Language Based on the pi-Calculus":
"We allow only asynchronous output in Pict; this amounts to restricting
the 'continuation' of each output expression to the null process."

(I say nominally because the reduction semantics would still be
synchronous, but the programmer is forced to make all outputs happen in
parallel with, and therefore asynchronously to, whatever else the object
might be doing, due to the restriction that only the null behaviour can
follow an output.)

Tamed Pict has no nominally synchronous communication primitives because
Pict doesn't. 

Does Tamed Pict allow you to test equality between two channels/names ?

I need to think harder to work out whether Pict's derived forms for
recursive functions allow you to write recursively reentrant code (see
http://mail.eros-os.org/pipermail/e-lang/2009-February/013002.html for
more on what I mean here).



More information about the cap-talk mailing list