
You probably don't want that minBound in the pattern, but rather as a
comparison in a guard.
Dan
On Tue, Dec 1, 2009 at 6:14 PM, Sjoerd Visscher
Hi Ted,
Some tips:
invlist_negate [] = [0] invlist_negate (0:xs) = xs invlist_negate xs = 0:xs
You are doing this for generic Num instances, so 0 probably isn't the lower bound. Haskell has another type class for this: Bounded. Then you can use minBound instead of 0. Also the first line is just a special case of the last one.
invlist_negate :: (Bounded a, Num a) => [a] -> [a] invlist_negate (minBound : xs) = xs invlist_negate xs = minBound : xs
Try doing invlist_member together with a function invlist_notMember (just like there is notElem for lists), I think that would clean things up a bit.
Keep on going, there's lots of fun ahead!
greetings, Sjoerd
-- Sjoerd Visscher sjoerd@w3future.com
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe