問題タブ [profunctor]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
haskell - プロファンクターの自由モナドの類似物
を定義することができdata Free f a = Pure a | Free (f (Free f a))
ますFunctor f => Monad (Free f)
。
私たちが定義し
た場合、私data T f a b = R a | S b | T (f a (T f a b))
たちはいくつかの類似物を持っているM
のでProfunctor f => M (T f a)
、どこでclass Profunctor f where dimap :: (a -> b) -> (c -> d) -> f b c -> f a d
?
私が指摘Data.Comp.Term.Context
して以来ずっと疑問に思っておりFree
、 の潜在的な類似物について同形ですData.Comp.Param.Term.Context
。
haskell - デカルト (Profunctor) の例?
次のコード サンプルを実行していますが、(->) と (Star f) が 'first' を実装して Cartisian のメンバーになると、その使用方法を理解するのが難しいことがわかりました。
誰かがそれらのわかりやすい例をいくつか提供できますか? ありがとう。
haskell - 強い閉プロファンクターの一般化
私は、強力で閉じたプロファンクターのクラスを見ていました:
((,)
は対称バイファンクターであるため、「profunctors」パッケージでの定義と同等です。)
(->) a
私は両方に注意し、(,) a
エンドファンクターです。それは似たような形Strong
をしClosed
ています:
確かに、法則を見ると、似たような形をしているものもあります。
これらはどちらも一般的なケースの特別なケースですか?