Saya ingin memahami Applicative
dalam hal teori kategori.
The dokumentasi untuk Applicative
mengatakan bahwa itu functor longgar monoidal kuat .
Pertama, Wikipedia halaman tentang functors monoidal mengatakan bahwa functor monoidal adalah baik longgar atau kuat . Jadi menurut saya salah satu sumber salah, atau mereka menggunakan istilah secara berbeda. Adakah yang bisa menjelaskannya?
Kedua, apa kategori monoid yang merupakan fungsi monoid Applicative
? Saya berasumsi bahwa functors adalah endo-functors pada kategori Haskell standar (objek = tipe, morfisme = fungsi), tetapi saya tidak tahu apa struktur monoid pada kategori ini.
Terimakasih atas bantuannya.
Functor
memiliki kekuatan (produk WRT), hanya karena mereka didefinisikan menggunakanfmap
di dalam bahasa? Juga, apa yang membingungkan saya bahwa definisi Anda tentang dan terbalik dibandingkan dengan posting blog Anda dan artikel Wikipedia - apakah ini salah ketik? Saya mencoba mendefinisikan menggunakan sebagai , yang jelas perlu .pure
i
pure' = \v -> fmap (\() -> v) (i ())
i :: (Applicative f) => () -> f ()