M.V. Hutz bcc0331149 refactor: move event system to reducer, remove engine package
Move the event emitter and lifecycle events from the engine into the reducer,
making the reducer the single point of orchestration for reduction.
This eliminates the engine package entirely.

- Add events.go to pkg/reducer with Start, Step, and Stop events.
- Extend Reducer interface to embed Emitter and add Expression() method.
- Update NormalOrderReducer to embed BaseEmitter and emit lifecycle events.
- Update all plugins to attach to Reducer instead of Engine.
- Remove internal/engine package.
- Add Off() method to BaseEmitter to complete Emitter interface.
- Fix Emitter.On signature to use generic type E instead of string.
2026-01-16 18:50:52 -05:00
2026-01-10 11:37:18 -05:00
2025-12-22 21:09:00 +00:00
2025-12-29 19:28:45 -05:00

lambda

Making a lambda calculus interpreter in Go.

Things to talk about

  • Exhaustive sum types.
  • Recursive descent and left-recursion.
  • Observer pattern, event emission.

https://zicklag.katharos.group/blog/interaction-nets-combinators-calculus/ https://arxiv.org/pdf/2505.20314

Description
Making a lambda calculus interpreter in Go.
Readme AGPL-3.0 863 KiB
Languages
Go 96.6%
Makefile 3.4%