From fc22eb6b047c5a3bbabdf728edb84cfdf81ba9b5 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Mon, 3 Jul 2023 11:46:35 +0100 Subject: Extract print name and type --- src/main/java/org/shedlang/compiler/ShedCompiler.java | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) (limited to 'src/main/java/org/shedlang/compiler/ShedCompiler.java') diff --git a/src/main/java/org/shedlang/compiler/ShedCompiler.java b/src/main/java/org/shedlang/compiler/ShedCompiler.java index 39250e27..6f72328f 100644 --- a/src/main/java/org/shedlang/compiler/ShedCompiler.java +++ b/src/main/java/org/shedlang/compiler/ShedCompiler.java @@ -9,7 +9,6 @@ import org.shedlang.compiler.stackir.instructions.Instruction; import org.shedlang.compiler.typechecker.TypeChecker; import org.shedlang.compiler.typechecker.TypeCheckerContext; import org.shedlang.compiler.types.Effects; -import org.shedlang.compiler.types.FunctionType; import org.shedlang.compiler.types.NamespaceName; import org.shedlang.compiler.types.Types; import org.shedlang.compiler.util.P; @@ -37,25 +36,14 @@ public class ShedCompiler { var namespaces = new LinkedHashMap>(); var typeCheckerContext = TypeCheckerContext.EMPTY - // TODO: remove duplication of builtin namespace definition .addNamespaceFields(ShedBuiltins.NAMESPACE_NAME, P.orderedMap( - Map.entry("print", new FunctionType( - List.of(Types.STRING), - List.of(), - Effects.IO, - Types.UNIT - )) + Map.entry(ShedBuiltins.PRINT_NAME, ShedBuiltins.PRINT_TYPE) )) .enterBlock(P.map( Map.entry("Io", Types.effectType(Effects.IO)), Map.entry("Unit", Types.metaType(Types.UNIT)), - Map.entry("print", new FunctionType( - List.of(Types.STRING), - List.of(), - Effects.IO, - Types.UNIT - )) + Map.entry(ShedBuiltins.PRINT_NAME, ShedBuiltins.PRINT_TYPE) )); for (var sourceFilePath : sourceFilePaths) { -- cgit v1.2.3