Skip to content

mgechev/typed-calc

Repository files navigation

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

Releases

No releases published

Packages

No packages published