summaryrefslogtreecommitdiffstats
path: root/Compiler.sml
diff options
context:
space:
mode:
authorRose Hogenson <rosehogenson@posteo.net>2025-05-18 08:17:20 -0700
committerRose Hogenson <rosehogenson@posteo.net>2025-06-13 19:14:58 -0700
commit8b3a9b8f0d80e7dd789f363deb6bb36189a31f01 (patch)
tree414ac8c234ded42f1bf4d8da7a96a4c7078db95f /Compiler.sml
parentcc3f514265fc7c4166b8e30fcdbb26e69286f339 (diff)
downloadsml-8b3a9b8f0d80e7dd789f363deb6bb36189a31f01.tar.zst
Add a typechecker
Diffstat (limited to 'Compiler.sml')
-rw-r--r--Compiler.sml4
1 files changed, 3 insertions, 1 deletions
diff --git a/Compiler.sml b/Compiler.sml
index 0ca0ee5..539d334 100644
--- a/Compiler.sml
+++ b/Compiler.sml
@@ -3,7 +3,9 @@ struct
fun compile (prog : Syntax.expr) : Word8Vector.vector =
let
val _ = print ("ast:\n" ^ ShowSyntax.exprToString prog ^ "\n")
- val elab = Elab.elaborate prog
+ val typed as (typedAST, _) = Types.tag prog
+ val _ = print ("typed AST:\n" ^ ShowSyntax.typedExprToString typedAST ^ "\n")
+ val elab = Elab.elaborate typed
val _ = print ("lambda lang:\n" ^ ShowSyntax.lexpToString elab ^ "\n")
val cps =
CPS.toCPS elab