aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/shedlang/compiler/ShedCompiler.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-07-03 11:46:35 +0100
committerMichael Williamson <mike@zwobble.org>2023-07-03 11:46:35 +0100
commitfc22eb6b047c5a3bbabdf728edb84cfdf81ba9b5 (patch)
tree2405cf68c1c89d38ff87100bbbe7268b38afe0b6 /src/main/java/org/shedlang/compiler/ShedCompiler.java
parentd0a86977da222df158778dd7be95873da44ed90a (diff)
Extract print name and type
Diffstat (limited to 'src/main/java/org/shedlang/compiler/ShedCompiler.java')
-rw-r--r--src/main/java/org/shedlang/compiler/ShedCompiler.java16
1 files changed, 2 insertions, 14 deletions
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<NamespaceName, List<Instruction>>();
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) {