[Haskell-cafe] Maybe a, The Rationale

Philip Weaver philip.weaver at gmail.com
Sat May 10 19:02:53 EDT 2008


On Sat, May 10, 2008 at 3:56 PM, PR Stanley <prstanley at ntlworld.com> 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
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>


More information about the Haskell-Cafe mailing list