
28 Jul
2008
28 Jul
'08
3:05 a.m.
On Fri, Jul 25, 2008 at 10:12 AM, Michael Karcher
David Menendez
wrote: Incidentally, is there a Backward applicative functor transfomer defined anywhere?
newtype Backward f a = Backward { runBackward :: f a } deriving Functor
instance Applicative f => Applicative (Backward f) where pure = Backward . pure (Backward f) <*> (Backward a) = Backward (f <**> a)
My intuitive typechecker doesn't accept that. And GHCi 6.8.2 seems to agree (I had to enable GeneralizedNewtypeDeriving for obvious reasons). [..] Did I misunderstand something?
That's a typo on my part. I should have written "Backward (a <**> f)".
--
Dave Menendez