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 <[email protected]> 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 _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
