問題タブ [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.

0 投票する
2 に答える
1065 参照

haskell - カテゴリと矢印の「間」型クラスは意味がありますか?

多くの場合、Applicativeなしpureのようなもの、またはのようなものがありますがMonad、はありませんreturnsemigroupoidパッケージは、これらのケースをとでカバーしApplyますBindArrow今、私は、意味のある関数を定義できないという点で同様の状況にありarrますが、他の関数は完全に理にかなっていると思います。

関数とその逆関数を保持する型を定義しました。

今は実装できませんArrowが、何か弱いものがあります。

&&&と定義されておりf &&& g = arr (\b -> (b,b)) >>> f *** g、元に戻せないため、同等の実装はできないと思います(\b -> (b,b))。それでも、この弱い型クラスが役立つと思いますか?理論的な観点からも意味がありますか?

0 投票する
2 に答える
718 参照

haskell - Control.Category の利点は何ですか?

何かがMonoidまたはMonadであることがわかった場合は、 や など、あらゆる種類の楽しい関数を使用するようfoldMapsequenceなりmapMます。彼らは私を幸せにしてくれます。

何かが であることがわかった場合はどうなりますCategoryか? オーバーロード以外に楽しいことはidあり(.)ますか?

0 投票する
3 に答える
251 参照

haskell - 制約付きの Applicative インスタンスを構築する方法 (ContT を使用して Monad インスタンスを構築するのと同様)

この質問は、モナドである何かから適切なインスタンスを構築することを扱いMonadますが、特定の制約の下でのみ - たとえばSet. トリックは、それを にラップすることContTです。これにより、制約がその値のラップ/ラップ解除に延期されます。

今、私はsで同じことをしたいと思いますApplicative。特に、pureに型クラスの制約があるApplicativeインスタンスがあります。有効なインスタンスを構築する方法と同様のトリックはありますか?Applicative

(モナドの場合と同じように、「すべてのアプリケーション ファンクターの母」は存在しますか?)

0 投票する
1 に答える
304 参照

haskell - 指数型の一般化

(->)( a -> bas b a )の指数関数的解釈は、Hask/Set 以外のカテゴリにどのように一般化されますか? たとえば、非決定論的関数のカテゴリの解釈は、おおよそ2 a * b ( ) のKliesli [] a bように見えます。a -> b -> Bool

0 投票する
2 に答える
219 参照

haskell - Control.Category の一般化 (.) のような一般化 ($)

私はgeneralises($)のように一般化することを考えていましたが、この記事の最後にあるコード (また ideone ) でそれを実行しました。Control.Category(.)

このコードでは、 というクラスを作成しましたFunctionObject。このクラスには($)、次のシグネチャを持つ関数があります。

当然(->)、このクラスのインスタンスを作成するので$、通常の関数を引き続き使用できます。

ただし、これにより、たとえば、以下の例に示すように、独自の逆数を知っている特別な関数を作成できます。

私は、次の 3 つの可能性のうちの 1 つがあると結論付けました。

  1. 私はそれについて考えるのが最初です。
  2. 他の誰かがすでにそれを行っており、私は車輪を再発明しています.
  3. それは悪い考えです。

オプション 1 の可能性は低いと思われ、hayooでの検索ではオプション 2 が見つからなかったので、オプション 3 が最も可能性が高いと思われますが、誰かがその理由を説明できるなら、それは良いことです.

0 投票する
1 に答える
796 参照

haskell - Control.Category、>>> と <<< はどういう意味ですか?

Haskell で簡単な http サーバーを作成するために、このブログをフォローしています。

の使用法は私に>>>は明らかではありません。このコード スニペットは何をしますか?

このリンクで同様に、私は見ています<<<

何をし<<<、何をし>>>ますか?( Hackage 文書は非常に簡潔で、あまり役に立ちませんでした。)