
On Sat, May 10, 2008 at 3:56 PM, PR Stanley
Paul: Hi folks
data Maybe a = Nothing | Just a
What is the underlying rationale for the Maybe data type? is it the safe style of programming it encourages/ Something tells me this is going to start a lengthy discussion. :-)
Bob: Pure and simple -- it allows you to represent partial functions.
Here's one simple example that popped into my head... maybeHead :: [a] -> Maybe a maybeHead [] = Nothing maybeHead (x:xs) = Just x
Looking up a map will only sometimes find a value, so we either return Nothing, or Just that value.
Paul: Would yu like to demonstrate this in an example?
See the 'lookup' function ( http://haskell.org/ghc/docs/latest/html/libraries/base/Data-List.html#v%3Alo... ) or just abut any other function on Hoogle that uses a Maybe type.
Cheers, Paul _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe