Hirrolot / untyped-nbe

Untyped lambda calculus via Normalization by Evaluation (NbE) in Haskell

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

untyped-nbe

A simple implementation of untyped lambda calculus using Normalization by Evaluation (NbE) in Haskell.

We use De Bruijn indices for terms and De Bruijn levels for values. In combination with NbE, this completely avoids the need for term reindexing, manual substitution, alpha equivalence, and alpha conversion. Inspired by elaboration-zoo/01-eval-closures-debruijn (I've cleaned it up and removed everything except pure NbE).

Type stack test in the root project directory to execute the tests.

About

Untyped lambda calculus via Normalization by Evaluation (NbE) in Haskell

License:MIT License


Languages

Language:Haskell 100.0%