[Haskell-beginners] [Haskell-Beginners] Just
daniel.is.fischer at googlemail.com
Tue Jun 14 17:36:27 CEST 2011
On Tuesday 14 June 2011, 17:16:12, Michael Xavier wrote:
> I'm someone will offer a much more eloquent answer after me but here's
> my shot as a fellow beginner:
> The type Maybe is defined:
> data Maybe a = Just a | Nothing
data Maybe a = Nothing | Just a
which makes a difference for the derived Ord instance (Nothing < Just
whatever instead of the other way round).
> It means that a value of type Maybe String can manifest in 1 of 2
> values: either Nothing, which typically signifies an error has occurred
"error" is too strong.
Maybe a as a result type signifies that a computation may produce a result
or not (e.g. an integer may have an integral k-th root or not), it's quite
useful if you're doing the same computation for many arguments, you do the
next step for those which produce a (Just something).
As an argument type, it's a way to indicate whether to use some default or
a caller-supplied value.
> or a "null" value that you'd see in other programming languages.
> Just "foo" is a value that represent a value that is *not* nothing, such
> as a successful result from a computation. You can pattern match to get
> the value out of it:
> case somethingThatProducesAMaybe of
> Just success -> doStuff success
> Nothing -> error "Oh the humanity!"
> I hope that helps.
More information about the Beginners