fix game of life support in evaluator

This commit is contained in:
Alex Zenla
2024-12-01 04:13:24 -05:00
parent 4ec5624be4
commit 6e225aab88
6 changed files with 25 additions and 4 deletions

View File

@ -11,7 +11,11 @@ class EvaluatorProvider(val world: World) : ExecutionContextProvider {
override fun prepare(importLocator: ImportLocator, entryPointSymbol: Symbol, nativeRegistry: NativeRegistry): ExecutionContext {
val evaluator = Evaluator(world)
nativeRegistry.forEachProvider { form, provider ->
evaluator.addNativeProvider(form, AdaptedNativeProvider(provider))
if (provider is ExpandedNativeProvider) {
evaluator.addNativeProvider(form, provider)
} else {
evaluator.addNativeProvider(form, AdaptedNativeProvider(provider))
}
}
val slab = evaluator.slabContext(importLocator)
slab.finalizeScope()