package plugins import ( "log/slog" "git.maximhutz.com/max/lambda/pkg/interpreter" ) type Logs struct { logger *slog.Logger reducer interpreter.Interpreter } func NewLogs(logger *slog.Logger, r interpreter.Interpreter) *Logs { plugin := &Logs{logger, r} r.On(interpreter.StepEvent, plugin.Step) return plugin } func (t *Logs) Step() { t.logger.Info("reduction", "tree", t.reducer.Expression().String()) }