right clean Generics library version added
[tt2015.git] / a3 / code / Generics / GenEq.dcl
1 definition module GenEq
2
3 import StdGeneric
4
5 generic gEq a :: a a -> Bool
6
7 // base cases
8 derive gEq Int, Char, Bool, Real, String, UNIT, PAIR, EITHER, CONS, FIELD, OBJECT, {}, {!}
9
10 // standard types
11 derive gEq [], (,), (,,), (,,,), (,,,,), (,,,,,), (,,,,,,), (,,,,,,,)
12
13 (===) infix 4 :: a a -> Bool | gEq{|*|} a
14 (=!=) infix 4 :: a a -> Bool | gEq{|*|} a