Commit Graph

6 Commits

Author SHA1 Message Date
mvhutz 528956b033 feat: add De Bruijn indexed reduction engine
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
2026-01-16 19:36:05 -05:00
mvhutz 2499921679 style: moved functions around 2025-12-30 15:58:14 -05:00
mvhutz f4897d53a9 feat: it works! 2025-12-27 23:51:04 -05:00
mvhutz f038d0a685 feat: parse saccharine, conversion incoming 2025-12-27 23:36:44 -05:00
mvhutz c37e96770f feat: tokenizer accepts braces, line terminator, and equal sign 2025-12-27 19:52:18 -05:00
mvhutz df53409887 fix: parameters converted in opposite order 2025-12-27 01:41:00 -05:00