On Mon, Dec 14, 2015 at 10:10 PM, Erik Hesselink <hesselink@gmail.com> wrote:
Every Arrow is a Functor through:
fmapA :: Arrow arr => (a -> b) -> arr i a -> arr i b
fmapA f a = arr f . a
Right?
That's one of the missing holes in Martin's claim.
In cases like this, it would help to avoid any risk that the usual abuse of language brings. So an arrow is not a functor but it does give rise to one. More precisely, there would be an instance Arrow a => Functor (a b).