res <- HashTable.lookup h 3 >>= maybe (return Nothing) (flip HashTable.lookup 1000)
On Mon, Apr 13, 2009 at 6:59 PM, John Smith <[email protected]> wrote: > Yes, agreed. Got any clue on the original problem (except to use Data.Map)? > > On Mon, Apr 13, 2009 at 6:55 PM, Jason Dagit <[email protected]> wrote: >> >> 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 > > _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
