
Hi,
Thanks for the help. I figured it out after that. I'm having a hard
time with the other exercises though, I'm currently stuck at 14:
class Misty m where
banana :: (a -> m b) -> m a -> m b
unicorn :: a -> m a
-- Exercise 14
-- Relative Difficulty: 6
moppy :: (Misty m) => [a] -> (a -> m b) -> m [b]
moppy = error "todo"
Does anyone know if the solutions are posted anywhere?
Patrick
On Fri, Jul 3, 2009 at 12:08 PM, Daniel Fischer
Am Freitag 03 Juli 2009 17:58:22 schrieb Patrick LeBoutillier:
Hi,
I'm running through these Haskell exercises:
http://dibblego.wordpress.com/2008/09/18/20-intermediate-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 Monad?
Exactly.
You want
banana :: (a -> (t -> b)) -> (t -> a) -> (t -> b) banana fun af = \tval -> ???
There's not much choice what you can do with those types and data.
Can anyone offer any insight?
Patrick
_______________________________________________ Beginners mailing list Beginners@haskell.org http://www.haskell.org/mailman/listinfo/beginners
-- ===================== Patrick LeBoutillier Rosemère, Québec, Canada