On Sat, May 10, 2008 at 3:56 PM, PR Stanley <[EMAIL PROTECTED]> wrote: > >>> 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%3Alookup ) or just abut any other function on Hoogle that uses a Maybe type. > Cheers, Paul > _______________________________________________ > Haskell-Cafe mailing list > [email protected] > http://www.haskell.org/mailman/listinfo/haskell-cafe > _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
