Files
lambda/internal/plugins/debug.go
M.V. Hutz e85cf7ceff refactor: make lambda expression types immutable (#38)
## Summary

- Change Abstraction, Application, and Variable to use private fields with getter methods.
- Return value types instead of pointers from constructors.
- Update all type switches to match value types instead of pointer types.

## Test plan

- [x] All existing tests pass (`make test`).

Reviewed-on: #38
Co-authored-by: M.V. Hutz <git@maximhutz.me>
Co-committed-by: M.V. Hutz <git@maximhutz.me>
2026-01-17 22:00:54 +00:00

24 lines
420 B
Go

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())
}