https://github.com/nekketsuuu/lambda2pi
λ → π
https://github.com/nekketsuuu/lambda2pi
golang lambda-calculus pi-calculus
Last synced: 3 months ago
JSON representation
λ → π
- Host: GitHub
- URL: https://github.com/nekketsuuu/lambda2pi
- Owner: nekketsuuu
- License: mit
- Created: 2016-11-16T13:38:41.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2019-02-06T06:42:10.000Z (over 6 years ago)
- Last Synced: 2024-06-20T19:23:22.862Z (12 months ago)
- Topics: golang, lambda-calculus, pi-calculus
- Language: Go
- Homepage:
- Size: 33.2 KB
- Stars: 6
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
## About
`lambda2pi` is a toy program that converts a lambda-calculus term into a pi-calculus term.
## Usage
```sh
lambda2pi [-o ]
```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:
```sh-session
$ lambda2pi
>>
```Look at `lambda2pi --help` for detailed syntax for lambda-calculus and pi-calculus.
## Example
Let's convert a very simple lambda term `\x. x` (`example/simpleAbs.lambda`):
```sh-session
$ 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)))
```## Installation
Install Go >= 1.11, and then run the following command:
```sh
go get -u github.com/nekketsuuu/lambda2pi
```### Manual Installation
```sh-session
$ # cd to $GOPATH/src/github.com/nekketsuuu/lambda2pi
$ go generate
$ go build
$ go install
```## References
* Robin Milner, "Functions as processes", 1990
## Author
nekketsuuu
## License
The MIT License. See `LICENSE` for details.