On Dec 15, 2007 3:15 AM, Ryan Ingram <[EMAIL PROTECTED]> wrote:
>
> On 12/14/07, David Menendez <[EMAIL PROTECTED]> wrote:
> > And yes, I'm pretty sure that's the only possible implementation for that
> type which satisfies the functor laws.
>
> Lets just prove it, then; I'm pretty sure it comes pretty easily from the
> free theorem for the type of fmap.
...
> Now, first note that since we cannot make any choices based on the type of
> f, there's no way for f to be relevant to the result of fmap; we have no way
> to get something of type "a" besides _|_ to pass to f, and no use for things
> of type "b".

Hmmm. Something about that ticks off my "don't play fast and loose
with bottom" detector.

data Val a = Val Int

instance Functor Val where
    fmap f (Val x) = f `seq` Val x

:-)

- Benja
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to