Ich möchte Applicative
in Bezug auf die Kategorietheorie verstehen .
Die Dokumentation für Applicative
sagt, dass es ein starker laxer monoidaler Funktor ist .
Erstens sagt die Wikipedia-Seite über monoide Funktoren , dass ein monoider Funktor entweder lasch oder stark ist . Mir scheint also, dass entweder eine der Quellen falsch ist oder sie die Begriffe anders verwenden. Kann das jemand erklären?
Zweitens, welche monoiden Kategorien Applicative
sind monoide Funktoren? Ich gehe davon aus, dass es sich bei den Funktoren um Endofunktionen in der Standardkategorie von Haskell handelt (Objekte = Typen, Morphismen = Funktionen), aber ich habe keine Ahnung, wie die monoidale Struktur in dieser Kategorie lautet.
Danke für die Hilfe.
Functor
eine Stärke haben (WRT-Produkt), einfach weil siefmap
in der Sprache definiert sind? Und was wundert mich, dass Ihre Definition von und im Vergleich zu Ihrem Blog-Post und dem Wikipedia-Artikel umgekehrt ist - ist es ein Tippfehler? Ich habe versucht mit als zu definieren , was eindeutig benötigt wird .pure
i
pure' = \v -> fmap (\() -> v) (i ())
i :: (Applicative f) => () -> f ()