Binary pi-calculus
Jump to navigation
Jump to search
Binary pi-calculus is a binary encoding of pi-calculus outlined in October of 2020 by User:RocketRace. It is to pi-calculus as binary lambda calculus is to lambda calculus.
Encoding scheme
Programs are encoded in prefix notation, using the following rules. Here, P
& Q
represent processes and x
& y
represent channels (names). _
represents an omitted argument.
000
: Nil process (0
)001P
: Repeatedly spawn copies ofP
(!P
)010P
: Bind name, then executeP
((v_)P
)011PQ
: ExecuteP
andQ
in parallel (P|Q
)100xyP
: Send bound or free namey
over channelx
, then executeP
(x<y>.P
)101xP
: Receive and bind name over channelx
, then executeP
(x(_).P
)110n0
wheren
is zero or more ones: the n-th bound name, where1100
is the most recently bound name,11010
is the second most recent, and so on111n0
wheren
is zero or more ones: the free name labeled with n