lambda2pi is a toy program that converts a lambda-calculus term into a pi-calculus term.
lambda2pi <input file> [-o <output file>]The input file contains a lambda term, and the output file will contain a pi term.
Also, you can run lambda2pi in REPL mode when no argument is given:
$ lambda2pi
>> Look at lambda2pi --help for detailed syntax for lambda-calculus and pi-calculus.
Let's convert a very simple lambda term \x. x (example/simpleAbs.lambda):
$ lambda2pi ./example/simpleAbs.lambda -o out.pi
$ cat out.pi
pp!yy0.(*yy0?ww.ww?x.(new pp in pp!yy1.(*yy1?ww.x!ww.O)))Install Go >= 1.11, and then run the following command:
go get -u github.com/nekketsuuu/lambda2pi$ # cd to $GOPATH/src/github.com/nekketsuuu/lambda2pi
$ go generate
$ go build
$ go install- Robin Milner, "Functions as processes", 1990
nekketsuuu
The MIT License. See LICENSE for details.