I wrote:
> For example, we know just from the fact that
> concat : Forall a. a -> a, that
>
>   \xs.map A B f (concat A xs) = \xs. concat B (map A B f xs)
>
> where map : forall a. forall b. A -> B -> ([A] -> [B]). Here the
> endofunctor in question is the list functor, [].

Oops, I really screwed this up.

First, I wrote the wrong type for concat:

  concat : forall a. [[a]] -> [a]

Second, that equation is not even well-typed. I meant:

  \xs. map A B f (concat A xs) = \xs. concat B (map [A] [B] (map A B f) xs)

BTW, there is no significance to the fact that I kept switching between
"Forall" and "forall"...

Maybe I should just leave the category theory to Hans...!

--FC



Reply via email to