J'aimerais comprendre Applicative
en termes de théorie des catégories.
La documentation de ce documentApplicative
indique qu’il s’agit d’ un foncteur fort monoïdal laxiste .
Premièrement, la page Wikipedia sur les foncteurs monoïdaux indique qu’un foncteur monoïdal est laxiste ou fort . Il me semble donc que l'une ou l'autre des sources est fausse ou qu'elle utilise les termes différemment. Quelqu'un peut-il expliquer cela?
Deuxièmement, quelles sont les catégories monoïdales qui Applicative
sont des foncteurs monoïdaux? Je suppose que les foncteurs sont des endo-foncteurs de la catégorie standard de Haskell (objets = types, morphismes = fonctions), mais je n'ai aucune idée de la structure monoïdale de cette catégorie.
Merci pour l'aide.
Functor
ont une force (produit WRT), simplement parce qu'elles sont définies en utilisantfmap
le langage? De plus, ce qui me laisse perplexe sur le fait que votre définition de et i soit inversée par rapport à la fois à votre article de blog et à l'article de Wikipedia - s'agit-il d'une faute de frappe? J'ai essayé de définir utiliser comme , ce qui est clairement nécessaire .pure
i
pure' = \v -> fmap (\() -> v) (i ())
i :: (Applicative f) => () -> f ()