Skip to content

CarlOlson/vanilla-lc

Repository files navigation

Vanilla Lambda Calculus

About

A plain implementation of lambda calculus, nothing special (it is vanilla). This was created in order to implement Conway’s Game of Life, read about it here.

A pretty animated gif

./example/glider.gif

Implementation details

The code is functional. Terms can share references in memory, but are reduced separately. To get improved speeds two values are attached to each term: dirty and depth. Dirty is true if there exists the possibility of reductions inside the term. Depth is the value of the outer-most variable used inside the term. A clean term is not reduced and depth can determine if substitutions are necessary.

About

a vanilla implementation of lambda calculus

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published