[email protected]
[Top] [All Lists]

Re: [Haskell-cafe] lawless instances of Functor

Subject: Re: [Haskell-cafe] lawless instances of Functor
From: Derek Elkins
Date: Tue, 5 Jan 2010 07:52:45 +0900
On Tue, Jan 5, 2010 at 7:49 AM, Steffen Schuldenzucker
<[email protected]> wrote:
> 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?
Haskell-Cafe mailing list
[email protected]

<Prev in Thread] Current Thread [Next in Thread>