[Haskell-beginners] Help with "20 intermediate haskell exercises"

Patrick LeBoutillier patrick.leboutillier at gmail.com
Fri Jul 3 11:58:22 EDT 2009


I'm running through these Haskell exercises:


and I'm stuck at number 9:

class Misty m where
  banana :: (a -> m b) -> m a -> m b
  unicorn :: a -> m a

-- Exercise 9
-- Relative Difficulty: 6
instance Misty ((->) t) where
  banana = ???
  unicorn x = (\t -> x)

I can picture it when m is "[]" or "Maybe", but I can't wrap my head
around the banane implementation for "((->) t)".
I can see that this somewhat looks like a Monad, with unicorn = return
and banana = (flip >>=) or something. Perhaps some kind of reader
Can anyone offer any insight?


Patrick LeBoutillier
Rosemère, Québec, Canada

More information about the Beginners mailing list