問題タブ [category-abstractions]
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 - カテゴリと矢印の「間」型クラスは意味がありますか?
多くの場合、Applicative
なしpure
のようなもの、またはのようなものがありますがMonad
、はありませんreturn
。semigroupoidパッケージは、これらのケースをとでカバーしApply
ますBind
。Arrow
今、私は、意味のある関数を定義できないという点で同様の状況にありarr
ますが、他の関数は完全に理にかなっていると思います。
関数とその逆関数を保持する型を定義しました。
今は実装できませんArrow
が、何か弱いものがあります。
&&&
と定義されておりf &&& g = arr (\b -> (b,b)) >>> f *** g
、元に戻せないため、同等の実装はできないと思います(\b -> (b,b))
。それでも、この弱い型クラスが役立つと思いますか?理論的な観点からも意味がありますか?
haskell - Control.Category の利点は何ですか?
何かがMonoid
またはMonad
であることがわかった場合は、 や など、あらゆる種類の楽しい関数を使用するようfoldMap
にsequence
なりmapM
ます。彼らは私を幸せにしてくれます。
何かが であることがわかった場合はどうなりますCategory
か? オーバーロード以外に楽しいことはid
あり(.)
ますか?
haskell - 指数型の一般化
(->)
( a -> b
as b a )の指数関数的解釈は、Hask/Set 以外のカテゴリにどのように一般化されますか? たとえば、非決定論的関数のカテゴリの解釈は、おおよそ2 a * b ( ) のKliesli [] a b
ように見えます。a -> b -> Bool
haskell - Control.Category の一般化 (.) のような一般化 ($)
私はgeneralises($)
のように一般化することを考えていましたが、この記事の最後にあるコード (また ideone ) でそれを実行しました。Control.Category
(.)
このコードでは、 というクラスを作成しましたFunctionObject
。このクラスには($)
、次のシグネチャを持つ関数があります。
当然(->)
、このクラスのインスタンスを作成するので$
、通常の関数を引き続き使用できます。
ただし、これにより、たとえば、以下の例に示すように、独自の逆数を知っている特別な関数を作成できます。
私は、次の 3 つの可能性のうちの 1 つがあると結論付けました。
- 私はそれについて考えるのが最初です。
- 他の誰かがすでにそれを行っており、私は車輪を再発明しています.
- それは悪い考えです。
オプション 1 の可能性は低いと思われ、hayooでの検索ではオプション 2 が見つからなかったので、オプション 3 が最も可能性が高いと思われますが、誰かがその理由を説明できるなら、それは良いことです.
haskell - Control.Category、>>> と <<< はどういう意味ですか?
Haskell で簡単な http サーバーを作成するために、このブログをフォローしています。
の使用法は私に>>>
は明らかではありません。このコード スニペットは何をしますか?
このリンクで同様に、私は見ています<<<
何をし<<<
、何をし>>>
ますか?( Hackage 文書は非常に簡潔で、あまり役に立ちませんでした。)