An open API service indexing awesome lists of open source software.

https://github.com/nekketsuuu/lambda2pi

λ → π
https://github.com/nekketsuuu/lambda2pi

golang lambda-calculus pi-calculus

Last synced: 3 months ago
JSON representation

λ → π

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.