
4 Jan
2010
4 Jan
'10
5:52 p.m.
On Tue, Jan 5, 2010 at 7:49 AM, Steffen Schuldenzucker
Hi Paul,
Paul Brauner wrote:
Hi,
I'm trying to get a deep feeling of Functors (and then pointed Functors, Applicative Functors, etc.). To this end, I try to find lawless instances of Functor that satisfy one law but not the other.
I've found one instance that satisfies fmap (f.g) = fmap f . fmap g but not fmap id = id: [...] But I can't come up with an example that satifies law 1 and not law 2. I'm beginning to think this isn't possible but I didn't read anything saying so, neither do I manage to prove it.
I'm sure someone knows :)
data Foo a = Foo a
instance Functor Foo where fmap f (Foo x) = Foo . f . f $ x
And what is the type of f here?