CSCI 6962 DCI Exercise 4


Pairing Primitives

pr(x,y): returns a pair containing x and y.

ispr(x): returns 't' if x is a pair; 'f' otherwise

1st(pr(x,y))=x: 1st returns the first value of the pair

2nd(pr(x,y))=y: 2nd returns the second value.

Actor Cells


if (get?(m),

    seq(become(b(c)), send(cust(m),c)),

    if (set?(m),




Using the cell:

letactor{a:=Bcell(0)}e where

    e=seq(send(a,mkset(3)), send(a,mkset(5)), send(a,mkget(c)))

A reference cell in π-calculus

Example using reference cell:

will receive the value v over the channel d assuming no other processes interacting with the reference cell.

Here is today's exercise:

1. Use λ-calculus and pairing primitives to define the following functions (appear in the "Actor Cells")


2. What is the difference between REF(r,w,i) and Bcell? (Hint: the target to be notified)

Modify the actor cell so that it behalves as the  π-calculus cell. And also modify the π-calculus cell so that it behalves as the actor cell.