reset a3, kut Charlie ;)
[tt2015.git] / a3 / code / Generics / GenEq.dcl
diff --git a/a3/code/Generics/GenEq.dcl b/a3/code/Generics/GenEq.dcl
new file mode 100644 (file)
index 0000000..af9248d
--- /dev/null
@@ -0,0 +1,14 @@
+definition module GenEq\r
+\r
+import StdGeneric\r
+\r
+generic gEq a  :: a a -> Bool\r
+\r
+// base cases\r
+derive gEq Int, Char, Bool, Real, String, UNIT, PAIR, EITHER, CONS, FIELD, OBJECT, {}, {!} \r
+\r
+// standard types\r
+derive gEq [], (,), (,,), (,,,), (,,,,), (,,,,,), (,,,,,,), (,,,,,,,)\r
+\r
+(===) infix 4 :: a a -> Bool | gEq{|*|} a\r
+(=!=) infix 4 :: a a -> Bool | gEq{|*|} a\r