6b946fb5dc16f37a817e3a7da0a5b14090a1ed1b
Refactors the event emitter system from string-based messages to a type-safe generic implementation using typed events. Consolidates separate tracker packages into a unified plugins architecture. Changes: - Replace Emitter with BaseEmitter[E comparable] using generics - Add Event type with StartEvent, StepEvent, and StopEvent constants - Create Listener[E] interface with BaseListener implementation - Consolidate explanation, performance, and statistics trackers into internal/plugins package - Simplify main CLI by using plugin constructors instead of manual event subscription - Add Items() iterator method to Set for idiomatic range loops
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%