You can always use the Maybe type as a follows: intDiv :: Integer -> Integer -> Maybe Integer intDiv _ 0 = Nothing intDiv n m = Just (div n m)
This allows you to pattern match results of divisions: example :: Integer -> Integer -> Maybe Integer example n m = case intDiv 4 n of Nothing -> Nothing Just n' -> case intDiv 5 m of Nothing -> Nothing Just m' -> Just (n' + m') Or even better using the do notation: example2 :: Integer -> Integer -> Maybe Integer example2 n m = do n' <- intDiv 4 n m' <- intDiv 5 m return (n' + m') Note that example and example2 both do the same thing. I think this is cleaner solution add NaN as a value to the Integer type. Good luck, Daniel Díaz. On Sat, Apr 13, 2013 at 12:16 PM, Алексей Егоров <elect...@list.ru> wrote: > Hello haskellers, > > is there a reason why Integer doesn't have 'NaN' as value? > I think it would be very convenient to be able to handle (1 `div` 0) as > regular NaN value and not as exception. > > Thanks. > > _______________________________________________ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe > > -- E-mail sent by Daniel Díaz Casanueva let f x = x in x
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe