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.