プランカルキュール

プランカルキュール（独: Plankalkül、英: Plan Calculus）はコンラート・ツーゼが研究目的で考案したプログラミング言語。世界初の非ノイマン型高級言語として1942年から1945年にかけて設計された。1941年に記述されたこの言語に関するメモが現在も残されている。
プランカルキュールは第二次世界大戦や戦後の混乱期が重なり、また彼自身も計算機Z3を商業化するのに忙しかったため公には発表されなかった。ツーゼは1946年にこの言語に関する書籍を執筆したが発行されなかった。ツーゼは1948年に"Archiv der Mathematik"というタイトルでプランカルキュールについての論文を発表したが反響はほとんどなく、長年にわたりマシン語でなければコンピュータのプログラムは作成できないと考えられていた。
1972年になってようやくプランカルキュールが発表され、1998年に最初のコンパイラが開発された。また後になってこれとは別に、ベルリン自由大学で2000年に全く新しい実装が開発された。
ドイツ語の"Kalkül"という単語は形式的を意味する。例えばヒルベルト演繹系は元々は"Hilbert-Kalkül"である。従ってプランカルキュールは「設計のための形式的システム」という意味である。
解説.
プランカルキュールはAPLと関係代数の類似性を示している。代入文、サブルーチン、条件文、ループ、浮動小数点演算、配列、階層構造を持つ構造体、アサート、例外処理、目的指向型実行(goal-directed execution)などのような先進的な機能がある。
"max"関数を用いて3つの値の最大値を求めるプログラムの例：
 P1 max3 (V0[:8.0],V1[:8.0],V2[:8.0]) => R0[:8.0]
 max(V0[:8.0],V1[:8.0]) => Z1[:8.0]
 max(Z1[:8.0],V2[:8.0]) => R0[:8.0]
 END
 P2 max (V0[:8.0],V1[:8.0]) => R0[:8.0]
 V0[:8.0] => Z1[:8.0]
 (Z1[:8.0] < V1[:8.0]) -> V1[:8.0] => Z1[:8.0]
 Z1[:8.0] => R0[:8.0]
 END
プランカルキュールは複数の行を用いた特殊な表記法を持つ。これはゴットロープ・フレーゲが1879年に開発した数理論理学用の""と同じものである。