[Haskell-cafe] What do you call Applicative Functor Morphism?
wren ng thornton
wren at freegeek.org
Sat Nov 6 04:22:10 EDT 2010
On 11/6/10 2:09 AM, Sebastian Fischer wrote:
> Hello,
>
> I'm curious and go a bit off topic triggered by your statement:
>
> On Nov 6, 2010, at 12:49 PM, roconnor at theorem.ca wrote:
>
>> An applicative functor morphism is a polymorphic function,
>> eta : forall a. A1 a -> A2 a between two applicative functors A1 and
>> A2 that preserve pure and <*>
>
> I recently wondered: why "morphism" and not "homomorphism"?
Indeed, for the present example I'd call eta an applicative-functor
homomorphism[1].
The use of "morphism" in category theory originated as a shortening of
"homomorphism"[2], though there is a semantic difference between them as
the two terms are used today. A morphism is an arrow in any particular
category. What it takes to be morphism in category, C, depends on which
category C happens to be. It turns out that many of the algebraic
constructs studied outside of category theory form categories where the
objects are particular constructs (e.g., specific rings, groups,...) and
the morphisms are the appropriate homomorphisms (e.g., ring
homomorphisms, group homomorphisms,...). Thus, the term "homomorphism"
has to do with particular kinds of structure preserving transformations
that are discussed in the underlying theories, whereas "morphism" is a
general term in category theory used as a metatheory.
[1] Assuming the context presented in the original email. In other
contexts I may refer to eta as an Applicative morphism (i.e., a morphism
in the category whose objects are Applicative instances) or as an
Applicative transformation (i.e., a natural transformation between
Applicative instances viewed as functors).
[2] Whence the use of "Hom(A,B)" to refer to the collection of morphisms
from A to B, and related terms like "hom-set" and "hom-functor".
--
Live well,
~wren
More information about the Haskell-Cafe
mailing list