feat: engine -> process, engine is now a factory for a proces

This commit is contained in:
2026-02-05 14:20:30 -05:00
parent 5f6a9f9663
commit 22e8a99362
7 changed files with 90 additions and 41 deletions

View File

@@ -36,14 +36,15 @@ func main() {
engine, err := r.GetDefaultEngine("lambda")
cli.HandleError(err)
err = engine.Set(compiled)
process := engine.Load()
err = process.Set(compiled)
cli.HandleError(err)
// Run reduction.
for engine.Step(1) {
for process.Step(1) {
}
// Return the final reduced result.
result, err := engine.Get()
result, err := process.Get()
cli.HandleError(err)
output, err := r.Marshal(result)

View File

@@ -13,14 +13,14 @@ func GetRegistry() *registry.Registry {
r := registry.New()
// Codecs
r.AddConversions(cli.ConvertCodec(convert.Saccharine2Lambda{}, "saccharine", "lambda")...)
r.MustAddConversions(cli.ConvertCodec(convert.Saccharine2Lambda{}, "saccharine", "lambda")...)
// Engines
r.AddEngine(cli.ConvertEngine(&normalorder.Engine{}, "normalorder", "lambda"))
r.MustAddEngine(cli.ConvertEngine(normalorder.Engine{}, "normalorder", "lambda"))
// Marshalers
r.AddMarshaler(cli.ConvertMarshaler(lambda.Marshaler{}, "lambda"))
r.AddMarshaler(cli.ConvertMarshaler(saccharine.Marshaler{}, "saccharine"))
r.MustAddMarshaler(cli.ConvertMarshaler(lambda.Marshaler{}, "lambda"))
r.MustAddMarshaler(cli.ConvertMarshaler(saccharine.Marshaler{}, "saccharine"))
return r
}