This is an illustration of a sequential computation with actors and graphic lambda calculus, based on the ideas from Actors for the Ackermann machine . It describes the inverse of the currying process described in Currying by using zippers and an allusion to the cartesian theater.
Without further ado, let’s watch the play.
The preparation consists in introducing the cast and the initial actors diagram.
The play starts. The actor introduces to and dies, or maybe goes playing elsewhere.
We see the states of the actors and , the other main character is waiting for his line, while the figuration wait in the back of the stage, in artful positions.
The rest of the process consists in unzipping a graphic lambda calculus zipper. Zippers are very useful, because the unzipping process is sequential, i.e. it can happen in only one way. Therefore, by using zippers we can force a naturally distributed parallel computation to happen in a sequential way!
At the end of the computation, the two actors and , which represent the two parts of the zipper, cancel one another. Eventually the graph is now connected with the output to the address and with the inputs to the (addresses of the) figuration actors .
The graph corresponds to the graph from the post Currying by using zippers and an allusion to the cartesian theater and the computation just described is a reversed computation of the one described in the mentioned previous post.
As a side remark, graphic lambda calculus suggests that currying and un-currying should be eliminated at the preparation stage of a distributed computation. However, I took this example of computation with actors and GLC as a simple illustration and also for stressing that zippers can impose, if needed, an order of reduction moves in GLC.