@@ -186,14 +186,12 @@ instance (Ord a, Ord b) => Ord (a, b) where
186 else compare xr yr
186 else compare xr yr
189−class (Eq a, Ord a) => Num a where
189+class Eq a => Num a where
190 (+) : a -> a -> a
190 (+) : a -> a -> a
191 (-) : a -> a -> a
191 (-) : a -> a -> a
192 (*) : a -> a -> a
192 (*) : a -> a -> a
194 abs : a -> a
194 abs : a -> a
195− abs x = if (x < 0) then (-x) else x
197 fromInteger : Int -> a
195 fromInteger : Int -> a
@@ -203,7 +201,8 @@ instance Num Int where
203 (-) = prim__subInt
201 (-) = prim__subInt
204 (*) = prim__mulInt
202 (*) = prim__mulInt
206− fromInteger = id -- prim__bigIntToInt
204+ fromInteger = id
205+ abs x = if x<0 then -x else x
209instance Num Integer where
208instance Num Integer where
@@ -211,6 +210,7 @@ instance Num Integer where
211 (-) = prim__subBigInt
210 (-) = prim__subBigInt
212 (*) = prim__mulBigInt
211 (*) = prim__mulBigInt
213+ abs x = if x<0 then -x else x
214 fromInteger = prim__intToBigInt
214 fromInteger = prim__intToBigInt
@@ -219,6 +219,7 @@ instance Num Float where
219 (-) = prim__subFloat
219 (-) = prim__subFloat
220 (*) = prim__mulFloat
220 (*) = prim__mulFloat
222+ abs x = if x<0 then -x else x
222 fromInteger = prim__intToFloat
223 fromInteger = prim__intToFloat