問題タブ [category-theory]

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 投票する
5 に答える
1511 参照

haskell - zygo/meta/histo/para/futu/dyna/whatever-morphisms とは何ですか?

広範な圏論の知識がなくてもアクセスできる例を含むそれらのリストはありますか?

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

math - 圏論を学ぶためのリソース

近々圏論の授業を受ける予定です。

それについて学ぶために、どのリソースをお勧めしますか?

どの部分を学ぶのが適切で、自分の知識を応用するにはどうすればよいですか?

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

haskell - liftMはliftAと異なることができますか?

Typeclassopedia(他のソースの中でも)によると、Applicative論理的には型クラス階層のMonadPointed(したがってFunctor)に属しているので、Haskellの前奏曲が今日書かれた場合、理想的には次のようなものになります。

(これらのデフォルトの定義がウィキペディアの説明から私によって再入力された場合、エラーは私自身のものですが、エラーがある場合は少なくとも原則として可能です。)

ライブラリは現在定義されているため、次のようになります。

と:

各ペア内のこれらのタイプ間の類似性に注意してください。

私の質問は次のとおりです。liftM(とは異なるliftA)とap(とは異なる)は、単に、念頭に置いて設計されていない<*>歴史的現実の結果ですか?それとも、コンテキストのみを必要とするバージョンとは異なる、他の動作方法(場合によっては、いくつかの法的な定義)ですか?MonadPointedApplicativeMonadApplicative

それらが異なる場合、(Typeclassopediaや他の場所で説明されているが、型システムによって強制されていない、、、、および定義に必要なMonad法則に従う)定義の単純なセットを提供できますか?ApplicativePointedFunctorliftAliftM

あるいは、それらが明確でない場合、前提と同じ法則を使用してそれらの同等性を証明できますか?

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

c# - 有用または重要なデュアルインターフェイスの例

最近、Erik MeijerらIObservable/IObserverは、のデュアルがどのようになっているのかを示していますIEnumerable/IEnumerator。それらがデュアルであるという事実は、一方のインターフェイスでのすべての操作がもう一方のインターフェイスでも有効であることを意味します。したがって、.Netのリアクティブエクステンションの理論的基盤を提供します。

他のデュアルインターフェイスは存在しますか?.Netベースだけでなく、あらゆる例に興味があります。

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

covariance - 誰かがタイプ共変性/反変性と圏論の関係を説明できますか?

圏論について読み始めたばかりですが、CSの反変性/共分散と圏論の関係を誰かが説明していただければ幸いです。いくつかの例のカテゴリーは何でしょうか(つまり、それらのオブジェクト/射は何ですか?)?前もって感謝します?

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

haskell - すべての Haskell ファンクターはエンドファンクターですか?

私は少し混乱しており、誰かが私を正す必要があります. 私の現在の理解を概説しましょう:

Eエンドファンクタはどこにあり、Aいくつかのカテゴリは次のとおりです。

Haskell のすべてのタイプとモーフィズムがHaskカテゴリに含まれているため、Haskell のファンクタはエンドファンクタでもありませんか? .F : Hask -> Hask

私は自分が間違っていると感じていて、これをどうにかして単純化しすぎているので、誰かに私がなんてバカなのか教えてもらいたいのです。ありがとう。

0 投票する
4 に答える
677 参照

oop - オブジェクト指向プログラミングにはどのような数学的双対がありますか?

最近Channel9のGoingDeep番組を見た場合、非常に頻繁に言及されるトピックの1つは、プログラミングにおける数学的双対性です。TomasPには、オブジェクト指向プログラミングの二重性に関する優れたブログ投稿があります。

これは、Microsoft Researchが、オブザーバーデザインパターンが実際にはイテレーターパターンの数学的デュアルであることを発見してからです。それ以来、彼らはさまざまな方法で二重性の概念を使用してきました。

私の質問は:

プログラミングにはどのような数学的二重性がありますか?

オブジェクト指向プログラミングは良いスタートです。主なGoFデザインパターンは、デコレータ、ステート、イテレータ、ファサード、ストラテジー、プロキシ、ファクトリメソッド、アダプタ、オブザーバ、テンプレートメソッド、コンポジット、シングルトン、アブストラクトファクトリおよびコマンドです。これが良いオブジェクトグラフポスターです。

0 投票する
5 に答える
191646 参照

haskell - モナドはエンドファンクターの範疇にあるモノイドにすぎませんが、何が問題なのですか?

次の言葉を最初に言ったのは誰?

モナドはエンドファンクターの範疇にあるモノイドにすぎませんが、何が問題なのですか?

それほど重要ではありませんが、これは本当ですか? もしそうなら、説明をしてもらえますか?

0 投票する
5 に答える
5652 参照

haskell - 付属物としてのモナド

圏論のモナドについて読んでいます。モナドの定義の 1 つは、随伴関手 (adjoint functor) のペアを使用します。モナドは、それらのファンクターを使用したラウンドトリップによって定義されます。どうやら随伴は圏論では非常に重要ですが、随伴関手の観点から Haskell モナドの説明を見たことがありません。誰かがそれを考えましたか?

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

haskell - 接合組織型前プロモーフィズムの実世界への応用

はい、これらのもの:

はい、私はそれらが ( HHOS ) 冗談であることを知っています。単純なハック値の実際の例を探していますが、最後に、「これは XYZ を表現する慣用的な方法です」と言って wiki に追加します。解決策が見つからない場合は、報奨金出します。彼らが何について話しているのか完全にわからない場合は、Edwardが redditに短い説明を投稿しました。

適格な回答は次の条件を満たす必要があります。

  1. 少なくともリモートで理論的に計算上有用なことを行います。つまり、 に還元される答えidはアウトです。

  2. スキームのすべての機能を使用し、id、const、または同等のものを渡さないでください。

  3. 単純なバニラ フォールドなどで同じように表現できるわけではないため、単純にproduct蛇行した方法で実装しないでください。

ボーナス ポイントは次の場合に付与されます。

  • よく知られた問題またはアルゴリズム

  • それぞれ得られる異常な方法で解決され、表現された

  • 明快さおよび/またはパフォーマンス

  • および/またはハック値

  • および/またはlulz、おおよそその順序で、

  • 上位の回答 (yay 民主主義)

以下のエドワードの回答にも注意してください。どの ZHPM 実装を使用するかは、あなたの選択です。