isNull{Fun,}Ptr
Malcolm Wallace
Malcolm.Wallace at cs.york.ac.uk
Wed Sep 11 05:36:21 EDT 2002
Manuel M T Chakravarty <chak at cse.unsw.edu.au> writes:
> Sure, but there is also
> null = (== [])
> in the Prelude and `Maybe.isNothing'.
No, the definition of null is
null [] = True
which is quite different from (==[]) because it has a less-constrained type.
null :: [a] -> Bool
(==[]) :: Eq a => [a] -> Bool
Likewise,
isNothing :: Maybe a -> Bool
(==Nothing) :: Eq a => Maybe a -> Bool
So there are good reasons for having separate predicates testing
the null/empty case at those polymorphic types, but no reason (except
consistency of naming) for a pseudo-polymorphic type like Ptr a.
However, consistency of naming is perhaps sufficient reason to add them
anyway.
Regards,
Malcolm
More information about the FFI
mailing list