@@ -113,6 +113,10 @@ instance Eq Char where
113instance Eq String where
113instance Eq String where
114 (==) = boolOp prim__eqString
114 (==) = boolOp prim__eqString
116+instance (Eq a, Eq b) => Eq (a, b) where
117+ (==) (a, c) (b, d) = (a == b) && (c == d)
116data Ordering = LT | EQ | GT
120data Ordering = LT | EQ | GT
118class Eq a => Ord a where
122class Eq a => Ord a where
@@ -172,6 +176,13 @@ instance Ord String where
179+instance (Ord a, Ord b) => Ord (a, b) where
180+ compare (xl, xr) (yl, yr) =
175class (Eq a, Ord a) => Num a where
186class (Eq a, Ord a) => Num a where
176 (+) : a -> a -> a
187 (+) : a -> a -> a
177 (-) : a -> a -> a
188 (-) : a -> a -> a