Nicholas Ng


Golang process calculi

nickng/asyncpi is a mini-language modelled after the asynchronous π-calculus implemented in Go intended to be used as a teaching language.

The basic syntax is given below:

P,Q ::= 0           nil process
      | P|Q         parallel composition of P and Q
      | (new a)P    generation of a with scope P
      | !P          replication of P, infinite parallel composition  P|P|P...
      | u<v>        output of v on channel u
      | u(x).P      input of distinct variables x on u, with continuation P