refactor: extract abstract Expression interface #30

Merged
mvhutz merged 1 commits from refactor/expression-interface into main 2026-01-16 23:37:32 +00:00

1 Commits

Author SHA1 Message Date
eba2182151 refactor: extract abstract Expression interface
Introduce pkg/expr.Expression as a base interface for all evaluatable
expression types, enabling future support for multiple evaluation modes
(SKI combinators, typed lambda calculus, etc.).

- Add pkg/expr/expr.go with Expression interface requiring String() method.
- Update lambda.Expression to embed expr.Expression.
- Add String() method to Abstraction, Application, and Variable types.
- Update plugins to use String() instead of lambda.Stringify().
2026-01-16 18:35:14 -05:00