最も表現力豊かな、終了言語は何ですか?


7

私はほとんど何でも書くことができる言語にはあまり興味がありませんが、あなたが書いたものが終了するという付随する証拠を書く必要があります。

私は本質的に、構造によって特定の複雑さのクラスに本質的に制限されている言語のデザインスペースに興味があります。

サブチューリング完全言語には何らかの理論階層がありますか?


一部のシェーダー言語(グラフィカルプロセッサのプログラミングに使用される言語)には、非終了プログラムを記述できないものがあります。それらが理論的にどれほど興味深いかはわかりませんが、実用的な例が必要な場合は、ここに行きます(たとえば、GLSLを探します)。
wvxvw 2016年

回答:


7

すべてのプログラムが終了するプログラミング言語のクラスはたくさんあります。強制終了の最も一般的な形式は、タイプによるものです。計算を終了するためのタイピングシステムの最もよく発達した理論はタイピングを3つの直交軸に分解するBarendregtのLambdaキューブの理論かもしれません。

単純に型付けされた -calculusλなどの終了言語から始めて、これら3つの軸の任意の組み合わせを追加して終了を保持できます。

これは、カリーハワード通信を介して、ロジックと密接な関係があります。

複雑さのクラスをキャプチャするタイプを含む、多くの拡張と改良があります。


1
複雑さのクラス(紙や本など)をキャプチャする型への方向性を教えてください
アントントルノフ2016年

3
@AntonTrunov一般的なフィールドは「暗黙の計算の複雑さ」です。若い分野なので、まだ本はないと思います。先駆的な作品の1つはJ.-Yです。A. ScedrovとP. Scottが共同執筆したGirard、Light Linear Logic、および彼のBounded Linear Logic。
Martin Berger

4

ベルラントーニ&クックのA New Recursion-Theoretic Characterization of Polytime Functionsの基本的な作業に続いて、Martin Bergerがコメントで述べているように、線形論理への強いつながりを備えた、総言語による複雑性クラスの単純な特性化に関する多くの作業がありました。

この作業に基づいて、他の複雑性クラスが特徴付けられました。LeivantとMarionは、PSPACEELEM(最後の1つは特に素晴らしい)の特性を与えました。

また、上の作業が行われていますLOGSPACE LeivantとRamyaaで再び、。

毎年開催されるカンファレンスで、とてもエキサイティングな分野です。


これは実際に私が探していた答えの詳細ですが、もう1つはすでに受け入れました。私もフィールドに興奮しています。
sfultong 2016年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.