[Haskell-cafe] Types and hashes of hashes, trouble for a
Java-programmer...
Jason Dagit
dagit at codersbase.com
Mon Apr 13 12:55:52 EDT 2009
Others have provided help to answer your question but I'd like to
provide a little bit different feedback.
On Mon, Apr 13, 2009 at 8:42 AM, John Smith <smithsnorth at gmail.com> wrote:
> Hi, a java-programmer running into trouble while trying to learn Haskell.
>
> I try to make a hash containing hashes but can not getting a value out of
> the innermost hash - I keep running into type-trouble where IO and Maybe
> monad is getting mixed?
>
> My attempt:
>
> removeMaybeHash x =
> case x of
> Just ref -> ref
> Nothing -> HashTable.new (==) (\key -> key)
When you see yourself writing a function like this, you could write it
like this instead:
removeMaybeHash (Just ref) = ref
removeMaybeHash Nothing = HashTable.new (==) (\key -> key)
Hopefully you agree this 2 line version is more clear. You could go
further of course and use the function 'maybe' from the prelude, and
pass the function 'id' instead of \key -> key, but I don't want to
overwhelm you.
Good luck,
Jason
More information about the Haskell-Cafe
mailing list