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

https://github.com/mgechev/typed-calc

Interpreter for simply typed lambda calculus implemented in JavaScript λ
https://github.com/mgechev/typed-calc

interpreter lambda-calculus type-system

Last synced: about 1 year ago
JSON representation

Interpreter for simply typed lambda calculus implemented in JavaScript λ

Awesome Lists containing this project

README

          

# Simply Typed Lambda Calculus

A type checker and interpreter for simply typed lambda calculus written in JavaScript.

# Example

The following program:

```
(λ a: Int → a) if (λ a: Int → iszero a) pred 0 then succ 0 else 0
```

Is correct and evaluates to `0`.

# How to use?

## Interpreter

```
$ node index.js demo/correct1.lambda

0
```

## Compiler

```
$ node index.js compile demo/correct1.lambda

(function(a) {
return a;
})(
(function(a) {
return a === 0;
})(0 - 1)
? 0 + 1
: 0
);
```

# License

MIT