プログラミング言語理論と抽象代数


11

プログラミング言語理論への抽象代数の応用はありますか?言語設計とコンパイラの実装に役立つものはありますか?



3
上記のリンクの質問を確認しましたか?また、カテゴリ理論は関数型プログラミングの学習に役立ちますか?および関数型プログラミング。彼らはあなたの質問に答えますか?
カベ

回答:


11

古典的な意味での代数は、代数演算として計算効果のモデリングに使用されます。たとえば、Gordon Plotkinによるこれらのスライドを参照してください。または、実際の 論文博士号を読むことができますあなたが実際に質問をするつもりだった場合、論文

そして、私自身のホーンを吹くには、Effを見て、それについて読んでください。計算効果は代数演算であり、ハンドラーは代数の準同型であるという考えに基づいて設計された言語です。


1
Effは非常にクールです-デリミント化された継続について私が理解しているのは、主にそれから来ています。
ニールクリシュナスワミ

私は、オレグの「有害と考えられるcallcc」に対するブログの反応を検討しています。この反応では、effは継続を扱う構造化された方法であると主張しています。
アンドレイバウアー

答えてくれてありがとう。彼は質問への答えとして彼自身の言語を実装したので、@ AndrejBauerの答えを受け入れなければなりませんでした:)
n00b101

そこには間違った順序があります:) Matijaと私があなたの質問に合った言語を実装したのはまさにそのためです。
アンドレイバウアー

7

単純な「はい」以外の答えはボリュームを埋めることができ、実際に埋めるので、私は答えることをためらいました。プログラミング言語のセマンティクスは、論理への代数の適用であるカテゴリロジックの開発によって深く形作られ、その結果として深く形作られました。

しかし、この質問に答える最良の方法は、Agdaを学ぶように指示することだと思います-依存型を使ったプログラミングの学習の経験は、代数がコンピュータープログラミングにどのように広まっているかを大いに理解することになります。


-1

実際には、理論上の抽象的な代数のためのソフトウェアがあります。このソフトは、アクショングループ、準同型などのようなものを計算します。マグマです:http : //magma.maths.usyd.edu.au/magma/

これがあなたのお役に立てば幸いです。


2
おそらくあなたが質問を誤解しているのではないかと心配しています。
伊藤剛

あなたは考える?まあ、マグマであなたは...例えば、プログラミング言語の抽象代数、他の分野に適用するための便利な環境についての特定のトピックでライブラリを持っている
カミロソレル

1
(1)プログラミング言語理論に適用するのに役立つ抽象代数に関する特定のトピックのライブラリがマグマにある場合は、そのアプリケーションについて書く必要があります。私はマグマへのポインタがこの質問の文脈で役立つとは思わない。(2)正直に言うと、「プログラミング言語理論」の意味を理解しているとは思えません。
伊藤剛

OK、別の「プログラミング言語」を作成または設計するための基礎(例など)として抽象代数のライブラリを備えた別のプラットフォームでアイデアを表現したかっただけです。ここでは簡単に説明しません。私の考えが悪かったり間違っていたりしてすみません。
カミロソラー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.