理論計算機科学研究におけるカテゴリー理論とモナドの現状?


16

背景。私は、カテゴリー理論、モナド、ハスケルに関連する研究に興味のある学士課程の学生であり、その分野の学士論文のトピックを見つけたいです。

私は紙を見ました

そして、私はそれの多くをまだ理解していません。私はおそらくそれを完全に理解するのにかなりの時間が必要でしょう。しかし、研究にもっと時間を費やす前に、この分野とその研究の可能性について理解を深めたいと思います。私は最近それについて私の教授に話しました、そして、彼は90年代にモナドが研究コミュニティで流行していたと私に話しました、しかし、今日彼らは時代遅れです。

したがって、私は現在、モナドに関連する最近の仕事を探していますが、疑問に思っています:

  • 理論的コンピューターサイエンスのどの分野で、カテゴリー理論とモナドに関連する研究が行われていますか?
  • プログラミング理論におけるモナドに関するE. Moggiの研究では、どのような研究が構築または提案されましたか?彼の論文に関連するフォローアップや進行中の研究はありますか?

この質問に答える前に、それは研究レベルではありませんか?cs.stackexchange.comに適している場合があります。
アンドレイバウアー

3
@AndrejBauer私の学士論文は研究レベルではありませんが、私の質問は現在の研究、または少なくとも過去10年間に行われた研究について述べています。
k.stm

9
@AndrejBauer私は同意しません。姉妹サイトは主に宿題の質問用ですが、ここでは専門家の意見が必要です。
ユヴァルフィルマス

@Kavehそれはあなたが今行った抜本的な編集でした。あなたはいくつかの点を改善しましたが、今ではもう私が尋ねていた質問ではありません。明日時間があれば、変更の一部をロールバックします。たとえば、私はそこに背景を持つことが重要です。あなたが必要だと思う変更とその理由を教えてください。
k.stm

1
@Yuval、コンピューターサイエンスの多くの人々は、主に宿題のためであり、専門家はコンピューターサイエンスに参加していないというあなたのコメントに強く反対すると思います。この場合、Andrejはコンピューターサイエンスに関する100を超える質問に回答しています。
カベ

回答:


14

Eugenio Moggiの研究以来、計算理論におけるモナドの使用に関して多くの開発がありました。私は包括的な説明をすることはできませんが、ここで私がよく知っているいくつかのポイントがあります。

モナドの具体例

常に超一般理論を勉強する必要はありません。モナドの例は非常に興味深く、学部の論文全体を埋めるのに十分複雑です。

Dan Piponiのブログがとても気に入っています。彼は、モナドを使用して関数型プログラミングと数学を混合する方法の素晴らしい例を示しています。たとえば、モナドの結び目や組紐に関する彼の作品を検索してください。

mondas価値研究のもう一つの具体的な例は、その参照、選択汎関数のコンテキストでマーティンEscardoとパウロオリバによって与えられた選択機能、バー再帰を、そして後方誘導興味を持って最初のリードを得るために、おそらく、あるいはどのようなシーケンシャルゲーム、Tychonoff定理と二重否定シフトには共通点があります(関連するHaskellおよびAgdaファイルはこちら)。

数学的背景

モナドはカテゴリ理論に由来し、Eugenio Moggiよりもずっと古いです。あなたが数学的に傾いているなら、あなたは背景理論を研究することができます。たとえば、ベックの単項定理を攻撃できます。理論的なコンピューター科学者は、あまり多くの数学を知ることはできません。

テーマのバリエーション

厳密にモナドではないものを見ることができます。

例えば、コナー・マクブライドとロス・パターソンのイディオム:効果伴う応用プログラミングは、モナドを実際に関連性があり洞察力のあるものに一般化する方法を示しています。

または、計算効果をモデル化するためにコマンドがどのように使用されるかを見ることができます。誰かがこのトピックの参考文献をいくつか提案する必要がありますが、良い出発点はDavid Overtoneのスライドです。

モーダル型理論

ホモトピー型理論および一般的な型理論では、モナドはモーダル型理論の形で現れます。切り捨て演算子はモーダル演算子の例であるため、最近、ホモトピー型理論ではモーダル型理論が検討されています。そして、モーダル演算子(モナド)が重要な役割を果たす凝集ホモトピー型理論があります。

代数的効果とハンドラー

[免責事項:ここで自分のホーンを部分的に吹いています。]

しばらく前に、ゴードン・プロットキンとジョン・パワーは、多くの計算効果が単なるモナドではなく、代数理論から生じる特別なモナドであると主張しました。これにより、代数効果として知られる計算効果のまったく新しい処理が可能になります。後にゴードン・プロトキンとマティヤ・プレナーはハンドラーを導入し、代数的効果と一緒に計算効果の非常に素晴らしい理論を形成しました。このアプローチの利点の1つは、代数理論を簡単に組み合わせることができるのに対し、モナドはできないことです。

代数的効果がモナドにどのように関係するかを研究できます。Eff言語Haskellのライブラリとして、人々が代数効果と代数ハンドラをどのように実装しているかを見ることができます。これは多かれ少なかれ現在の研究です。


こんにちは、その答えをありがとう!EffについてあなたのWebサイトをクリックしましたが、「代数効果とハンドラーの概要」へのリンクが古いようeff-lang.org/handlers-tutorial.pdfです。つまり、ファイルがありません。
k.stm

1
リンクを修正するようMatijaに依頼しました。その間、arxiv.org / abs / 1203.1539をご覧ください
アンドレイバウアー

私はすでにです。ところで、あなたの論文を理解するために勉強する必要がある背景理論の簡単な概要を教えていただけますか?カテゴリ理論、型付けされていないラムダ計算、プログラミングの初歩的な理論、プログラミングの初歩的な理論は知っていますが(表示的意味論とは何ですか)、これまでのところはあまり知られていません。たとえば、あなたの論文のセクション3から、タイピングルールを検討する必要があることを既に伝えることができます(したがって、タイプされたラムダ計算)。私はここで強引になってすみません。
k.stm

3
普遍的な代数やLavwereの代数理論の理論について少し知っておく必要があります。タイピングルールに慣れていない場合は、Benjamin PierceのTAPLやBob Harperの Practical Foundations of Programming Languageなど、プログラミング言語に関する一般的な教科書を学ぶことができます
アンドレイバウアー

1

この論文では、モナドを使用した最近の重要な研究をいくつか紹介します。


1
こんにちは、ご回答ありがとうございます。時間を割いて詳細を説明していただければ幸いです。(実際、この論文にはその内容についての素晴らしい紹介がありますが、関連する仕事などがあるかどうかなど、周囲の状況を見てみたいと思います。)
k.stm
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.