Haskell's Applicative Functor is called Lax Monoidal Functor in mathematics.
What is Haskell's Alternative Functor called in mathematics?
Recall that Haskell's Alternative Functor is defined as follows:
class Applicative f => Alternative f where -- | The identity of '<|>' empty :: f a -- | An associative binary operation (<|>) :: f a -> f a -> f a Edit: In other words, an Alternative Functor f is an Applicative Functor such that for every type a, f a is a monoid, where <|> is the binary operation of type f a -> f a -> f a and empty is the identity of type f a. Uncurrying the type of <|>, we get $$f\ a \times f\ a \rightarrow f\ a$$ and empty can be equivalently defined to have type $$1 \rightarrow f\ a$$ In the Haskell definition, the type variable a is universally quantified. As far as I know, this translates to the requirement that they are natural in a.