implement support for type definitions

This commit is contained in:
Alex Zenla
2025-07-20 19:28:01 -07:00
parent 5ac70d800e
commit f7ff896f81
19 changed files with 212 additions and 5 deletions

View File

@ -3,7 +3,9 @@ package gay.pizza.pork.evaluator
import gay.pizza.pork.ast.gen.Definition
import gay.pizza.pork.ast.gen.FunctionDefinition
import gay.pizza.pork.ast.gen.LetDefinition
import gay.pizza.pork.ast.gen.TypeDefinition
import gay.pizza.pork.ast.gen.visit
import gay.pizza.pork.execution.None
import gay.pizza.pork.frontend.Slab
class SlabContext(val slab: Slab, val evaluator: Evaluator, rootScope: Scope) {
@ -50,6 +52,7 @@ class SlabContext(val slab: Slab, val evaluator: Evaluator, rootScope: Scope) {
EvaluationVisitor(internalScope.fork("let ${definition.symbol.id}"), CallStack())
.visit(definition.value)
}
is TypeDefinition -> None
}
private fun processFinalImportScopes() {