[Haskell-beginners] Help with "20 intermediate haskell exercises"
Daniel Fischer
daniel.is.fischer at web.de
Fri Jul 3 12:08:30 EDT 2009
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
More information about the Beginners
mailing list