On Tue, Sep 21, 2010 at 3:15 PM, edgar
klerks
<edgar.klerks@gmail.com>
wrote:
Hello
Martin,
You have two options. You can use fromJust :: Maybe a -> a, which is
a partial function, so it can fail if the supplied value is Nothing and
gives a hard to track down exception.
Or you can use fromMaybe :: a -> Maybe a -> a, which returns a
default a in case Maybe a = Nothing and a if Maybe a = Just a.
There is also a third: maybe :: b -> (a -> b) -> Maybe a ->
b, which can be useful in the last step of some chain of functions.
Note that fromMaybe is just (flip maybe id).
Greets,
Edgar
On Tue, Sep 21, 2010 at 3:05 PM, Martin
Tomko
<martin.tomko@geo.uzh.ch>
wrote:
Dear
All,
as a newbie, I am only just discovering some intricacies of haskell.
I have a Data.Map map, and am trying the lookup function to get the
value for a given key (it is a list in my case, btw). I am struggling
to get access to the value, as it is constructed using Just. I know
that the question is therefore more general then the application on
Map, so I would be glad to get a wider picture. I Checked in Real World
Haskell, btu did nto find and answer. In Haskell the craft of... I
found the following (p263):
mapValue :: (a->b)-> Maybe a -> Maybe b
mapValue g (Just a) = Just (g a)
mapValue g Nothing = Nothing
Which is fine, but it makes the Just constructor travel through the
whole code, which is annoying. Is there a way out? Or would that be a
dirty hack?
I do not quite understand the following discussion of maybe (p263-4),
but it seems like the code suggested is able to return a value at the
end...
Thanks
Martin
_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://www.haskell.org/mailman/listinfo/beginners