Doing exercises from "Haskell tutorial" ...
Frank Atanassow
franka@cs.uu.nl
Tue, 2 Oct 2001 17:52:29 +0200
Dmitry Astapov wrote (on 02-10-01 15:16 +0300):
> union (SL []) (SL ys) = SL ys
> union (SL (x:xs)) (SL ys) | member x (SL ys) = union (SL xs) (SL (x:ys))
> | otherwise = union (SL xs) (SL ys)
I take it back: your implementation has a small problem in it, but nothing to
do with the Eq class. The two cases in the second clause for union should be
switched:
> union (SL (x:xs)) (SL ys) | member x (SL ys) = union (SL xs) (SL ys)
> | otherwise = union (SL xs) (SL (x:ys))
--
Frank Atanassow, Information & Computing Sciences, Utrecht University
Padualaan 14, PO Box 80.089, 3508 TB Utrecht, Netherlands
Tel +31 (030) 253-3261 Fax +31 (030) 251-379