0.0.6 • Published 7 years ago

@calculemus/abt-lambda v0.0.6

Weekly downloads
1
License
ISC
Repository
github
Last release
7 years ago

Lambda calculus

npm version Build Status Dependency Status Dev Dependency Status Coverage Status

Demonstration of the @calculemus/abt library.

Based on Peter Sestoft's Demonstrating Lambda Calculus Reduction.

Using the evaluator

You can try the following code over at RunKit:

const abtLambda = require("@calculemus/abt-lambda");

// Parse, evaluate, and print as different steps
const [fv, e] = abtLambda.parse("x (x => (x => x) y x)");
console.log(abtLambda.toString(e));
const [gas, norm] = abtLambda.callByName.normalize(100, fv, e);
console.log(abtLambda.toString(norm));

// Do all of that at once
console.log(abtLambda.evaluate("(x => y => x y) (y => x) z"));