
Is this true, in general?: fmap h (fmap g f) == fmap (h . g) f Is there a simple proof? Thanks, -db

This is one of the functor laws, the other one being `fmap id = id'. If it
doesn't hold your type *should* not have a Functor instance, but the
compiler doesn't verify this for you.
HTH,
Adam
On Thu, Dec 31, 2015 at 2:15 AM, David Banas
Is this true, in general?:
fmap h (fmap g f) == fmap (h . g) f
Is there a simple proof?
Thanks, -db
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe

This law implies from fmap id = id, see https://www.fpcomplete.com/user/edwardk/snippets/fmap On 12/31/2015 03:27 AM, Adam Bergmark wrote:
This is one of the functor laws, the other one being `fmap id = id'. If it doesn't hold your type *should* not have a Functor instance, but the compiler doesn't verify this for you.
HTH, Adam
On Thu, Dec 31, 2015 at 2:15 AM, David Banas
mailto:capn.freako@gmail.com> wrote: Is this true, in general?:
fmap h (fmap g f) == fmap (h . g) f
Is there a simple proof?
Thanks, -db
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org mailto:Haskell-Cafe@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
participants (3)
-
Adam Bergmark
-
David Banas
-
Roman Cheplyaka