Finished algorithm U
[cc1516.git] / AST.icl
diff --git a/AST.icl b/AST.icl
index 26686b2..68def61 100644 (file)
--- a/AST.icl
+++ b/AST.icl
@@ -115,11 +115,13 @@ printFunCall s args = [s, "(":printersperse "," args] ++ [")"]
 derive gEq Op2
 instance == Op2 where (==) o1 o2 = gEq{|*|} o1 o2
 
+instance zero Pos where
+       zero = {line=0, col=0}
+
 derive gEq Op1
 instance == Op1 where (==) o1 o2 = gEq{|*|} o1 o2
+instance < Op2 where (<) o1 o2 = toString o1 < toString o2
+instance < Op1 where (<) o1 o2 = toString o1 < toString o2
 
-instance < Op2 where
-    (<) o1 o2 = (toString o1) < (toString o2)
-
-instance < Op1 where
-    (<) o1 o2 = (toString o1) < (toString o2)
\ No newline at end of file
+derive gEq Type
+instance == Type where (==) t1 t2 = gEq{|*|} t1 t2
\ No newline at end of file