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

_______________________________________________
Haskell-Cafe mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to