カテゴリカル用語でのApplicativeファンクターの説明-モノイダルファンクター


40

Applicativeカテゴリ理論の観点から理解したいと思います。

ドキュメントApplicativeは、それは強力な緩いモノイダルファンクターであると書かれています。

第一に、モノイドのファンクターに関するウィキペディアのページでは、モノイドのファンクター緩い強いのいずれかであると述べています。したがって、ソースのいずれかが間違っているか、用語が異なって使用されているように思えます。誰もそれを説明できますか?

第二に、Applicativeモノイドのファンクターであるモノイドのカテゴリーは何ですか?ファンクターは、標準のHaskellカテゴリー(オブジェクト=タイプ、モーフィズム=関数)の内部ファンクターであると仮定しますが、このカテゴリーのモノイド構造が何であるかはわかりません。

手伝ってくれてありがとう。

回答:


35

ここで実際に使用されている「強さ」という言葉には、2つの用途があります。

  • 強いendofunctor モノイド圏上C Iは天然の形質転換に付属しているものであるσ A F B F A B 、に対するいくつかのコヒーレンス条件を満足します私がつや出しするアソシエータ。この状態は、「Fには強さがある」と発音されることもあります。F:CC(C,,I)σ:AF(B)F(AB)F

  • F:CD(C,,I)(D,,J)ϕ:F(A)F(B)F(AB)i:JF(I)、アソシエータに関してコヒーレンス条件を再び満たします。

  • F:CDϕiF(AB)F(A)F(B)ϕ

Haskellプログラムの意味での適用可能なファンクターは、強度のある緩いモノイダルエンドファンクターであり、問題のモノイダル構造はデカルト積です。だから、逆説的な発音の用語「強い緩いモノイダルファンクター」を取得する理由です。

Fmap:(AB)(F(A)F(B))

最後に、Haskellスタイルの応用ファンクターの型理論に興味があるなら、私はそれについてブログに書きました。


1
Functorfmapϕipureipure' = \v -> fmap (\() -> v) (i ())i :: (Applicative f) => () -> f ()

1
この答えにはタイプミスがありましたが、今は修正されました。はい、すべてのインスタンスFunctorは強力です(wrt product)。
ニールクリシュナスワミ

また、モナドの位置について詳しく説明していただけますか?私が正しく理解すれば、それはモノイドの内部機能も同様です。
egdmitry 14年

Hask

私は、単語を使用することを提案するかもしれstrengthyを「強い」と表記の衝突を避けるために?これは、スコットランドの(ここでは特に注目されている)方言のバリエーションであり、ウィクリフの聖書で最初に使用された「強い」ものです。
フォスコ

3

モナドによって引き起こされるApplicativeを理解するために、次の構成を指摘します。

FAnat(Hom(A,B),FB)

a(gF(g)(a))
FABAFB.
FAFA
FAFBAFFB.
FFBFB
FBAFAFB,
LiftM2 id
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.