
On Fri, May 13, 2011 at 4:48 PM, Luke Palmer
On Thu, May 12, 2011 at 5:50 PM, Daniel Fischer
wrote: Prelude Data.List> maximum [0,-1,0/0,-5,-6,-3,0/0,-2] 0.0 Prelude Data.List> minimum [0,-1,0/0,-5,-6,-3,0/0,-2] -2.0 Prelude Data.List> sort [0,-1,0/0,-5,-6,-3,0/0,-2] [-6.0,-5.0,-2.0,NaN,-3.0,NaN,-1.0,0.0]
Wow, that's the best example of NaN poison I've seen.
Somewhat less impressive, but would everyone expect these functions to be equivalent up to performance characteristics? f :: (Eq a) => [a] -> [a] f = nub . concatMap (replicate 5) g :: (Eq a) => [a] -> [a] g = nub If the answer that springs to mind is "yes, for any well-behaved instance of Eq", well... Bonus question: Should this function ever return False? h :: (Ord a) => a -> a -> Bool h x y = case compare x y of GT -> x > y EQ -> x == y LT -> x < y - C.