11 May 01:02
Re: Maybe a, The Rationale
Philip Weaver <philip.weaver <at> gmail.com>
2008-05-10 23:02:53 GMT
2008-05-10 23:02:53 GMT
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 >
>>
>> 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 (
RSS Feed