528956b03394844064544eaac27aa0fa04245bd5
Add a new interpreter option (-i debruijn) that uses De Bruijn indices for variable representation, eliminating the need for variable renaming during substitution. - Add -i flag to select interpreter (lambda or debruijn) - Create debruijn package with Expression types (Variable with index, Abstraction without parameter, Application) - Implement shift and substitute operations for De Bruijn indices - Add conversion functions between lambda and De Bruijn representations - Update CLI to support switching between interpreters - Add De Bruijn tests to verify all samples pass Closes #26
lambda
Making a lambda calculus interpreter in Go.
Things to talk about
- Exhaustive sum types.
- Recursive descent and left-recursion.
- Observer pattern, event emission.
Links
https://zicklag.katharos.group/blog/interaction-nets-combinators-calculus/ https://arxiv.org/pdf/2505.20314
Languages
Go
96.6%
Makefile
3.4%