[Haskell-cafe] What do you call Applicative Functor Morphism?

Sebastian Fischer fischer at nii.ac.jp
Sat Nov 6 02:09:13 EDT 2010


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"?

Wikipedia says:

"In abstract algebra, a homomorphism is a structure-preserving map  
between two algebraic structures"

and

"In mathematics, a morphism is an abstraction derived from structure- 
preserving mappings between two mathematical structures."

One difference is "absract algebra ... algebraic structures" vs  
"mathematics ... mathematic structures" another difference is the  
"abstraction derived from" part in the second phrase.

So for the `Monoid` class, I'd say "monoid homomorphism" but I'm  
unsure whether `Applicative` counts as an algebraic structure or calls  
for using "morphism" instead.

Is there a deeper reason why people use "morphism" and not  
"homomorphism" or is it just because it's shorter?

Sebastian


More information about the Haskell-Cafe mailing list