start with adts
[minfp.git] / ast.icl
diff --git a/ast.icl b/ast.icl
index 0c30c46..2c6c306 100644 (file)
--- a/ast.icl
+++ b/ast.icl
@@ -25,3 +25,13 @@ instance toString Value where
        toString (a ** b) = toString (Tuple a b)
        toString (Lambda` v a) = toString (Lambda v a)
        toString (Builtin a) = "builtin"
+
+instance toString Type where
+       toString (TVar a) = toString a
+       toString (TTuple a b) = concat ["(", toString a, ",", toString b, ")"]
+       toString TInt = "Int"
+       toString TBool = "Bool"
+       toString (a --> b) = concat ["(", toString a, " -> ", toString b, ")"]
+
+instance toString TypeDef where
+       toString (TypeDef name args def) = ""