Pict, a language based on Pi-Calculus

Paul Dufresne dufrp@oricom.ca
Thu, 15 Jul 1999 12:34:38 -0400


Hey, I am not sure but I think Tunes is unaware of the Pict programming
language.

I heard of this on the Concurrent-Clean mailing-list (a thread basically
saying that Concurrent-Clean is not concurrent in the same sense that
Pict is).

Pict have a compiler (written in OCaml I think) to C. Pict is really
based on Pi-calculus. Pi-calculus was only a buzzword for me two
days ago. But Pict came with a .ps tutorial that explain Pict and
in the same time pi-calculus. Well, maybe my view of it is really too
narrow since I am just beginning to read the tutorial, but pi-calculus
is essentially a framework in which you can have signals and channels
sent through channels. You can run process simultaneously that either
send stuff through channels or listen to channels and do something
with the signal or channel received. Channels can be created inside
a process. I think that's a short description of what it is.

Normal (monadic) let you transmit only a channel at once through an
other channel. But Pict is based on polyadic pi-calculus, that is
you can pass a record of channel through a channel. This caused
the possibility of failing since that way a process can receive
a record bigger or smaller that what it was waiting for. But this
failing seem to be seen like a pro rather than a con from the author
but I have still to read why.

Pict is under GNU GPLv2 and have binaries for Linux and Solaris.

Anyway, Pict can be found at
http://www.cis.upenn.edu/~bcpierce/papers/pict/