No description
Find a file
2025-05-04 23:53:17 -04:00
.woodpecker.yaml Add README.md 2025-04-29 18:17:49 -04:00
nbe-test.rkt Make the algorithm lazier 2025-04-30 01:35:39 -04:00
nbe.rkt Finish nbe based on de bruijn levels 2025-05-04 23:53:17 -04:00
README.md minor 2025-04-29 18:18:55 -04:00

Kripke-style untyped NbE in racket

status-badge

An implementation of normalization by evaluation loosely based on A Denotational Account of Untyped Normalization by Evaluation and Abel's thesis on NbE.

Since the implementation is untyped, the normalize function only gives you β-normal forms. However, you can get a little bit of βη-equivalence by invoking Coquand's algorithm (η-eq?) on β-normal forms.

I'm hoping to expand the repository into a benchmark suite where I can visualize the performance trade-off of type-directed NbE compared to untyped NbE composed with Coquand's algorithm.