diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-06-30 19:51:50 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-06-30 19:51:50 +0100 |
| commit | 334782898b59817a00a3ee9b8031cd974178d1ec (patch) | |
| tree | d5b731976eeab3c52f47cb47e857e31a8f2639f7 /src/main/java/org/shedlang/compiler/ShedCompiler.java | |
| parent | 71c588ca231d275c5263b3e9ca5f7f57c4e048a1 (diff) | |
Define builtin modules outside of code gen
Diffstat (limited to 'src/main/java/org/shedlang/compiler/ShedCompiler.java')
| -rw-r--r-- | src/main/java/org/shedlang/compiler/ShedCompiler.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/main/java/org/shedlang/compiler/ShedCompiler.java b/src/main/java/org/shedlang/compiler/ShedCompiler.java index 3aedc946..bf26436e 100644 --- a/src/main/java/org/shedlang/compiler/ShedCompiler.java +++ b/src/main/java/org/shedlang/compiler/ShedCompiler.java @@ -37,6 +37,14 @@ public class ShedCompiler { var namespaces = new LinkedHashMap<NamespaceName, List<Instruction>>(); var typeCheckerContext = TypeCheckerContext.EMPTY + // TODO: remove duplication of builtin namespace definition + .addNamespaceFields(NamespaceName.of("Shed", "Builtins"), P.orderedMap( + Map.entry("print", new FunctionType( + List.of(Types.STRING), + List.of(), + Types.UNIT + )) + )) .enter(P.map( Map.entry("Io", Types.effectType(Effects.IO)), Map.entry("Unit", Types.metaType(Types.UNIT)), |
