等価変換計算モデル(Equivalent Transformation Computation Model ;ET モデル) に基づくプログラミングパラダイム(ET パラダイム)

ちゃーらー、らららららーらん♪ってことで、謎のプログラミングパラダイム&言語ETに興味をもって、ずーっと、blogをROMってたんですが、サイトとか見ててもつまらないので、最近、書き込んで話してみてました。なんと、自分のことも知っていてたらしく、感激したりして。


k.inabaさんの何かに反応してたのがきっかけだった気がするんですが。


で、今、論文書いている途中だそうで、draft版が読めます。
http://alohakun.blog7.fc2.com/blog-entry-177.html


プログラミングパラダイムについての考察だけでも、実に素晴らしくまとまっているように思えます。

第2章 命令型パラダイムの変遷
2.2.1 機械語アセンブリ言語高級言語
2.2.2 プログラムの抽象化と組織化
2.2.3 階層構造による抽象化
2.2.4 さらなるデータの抽象化と抽象データ型
2.2.5 オブジェクト指向アスペクト指向
2.2.6 命令型言語の変遷
2.3 命令型パラダイムの問題点
2.4 宣言型パラダイムの変遷
2.4.1 命令型パラダイムと宣言型パラダイムの違い
2.4.2 関数型プログラミング
2.4.3 さらなる宣言性の探求
2.4.4 論理型プログラミング
2.4.5 純粋関数型プログラミング
2.4.6 並行パラダイムと並列論理型プログラミング
2.4.7 制約パラダイムと制約論理型プログラミング
2.4.8 項書き換えシステムと融合プログラミング

ここまで、考えた上で、等価変換プログラミングパラダイムの必要性を述べ、数学的な根拠をもって等価変換プログラミングパラダイムを実現する方法を述べています。

第3 章ET パラダイムの必要性
3.1 既存のパラダイムの問題点
3.2 ET パラダイムの概観
3.3 汎用的な計算モデルの枠組み
3.3.1 用いる記法
3.3.2 仕様空間
3.3.3 プログラム空間
3.3.4 計算の枠組みと正当性
3.3.5 プログラム合成
3.4 等価変換による計算モデルの定式化
3.4.1 ET 計算モデルにおける仕様空間
3.4.2 ET 計算モデルにおけるプログラム空間
3.4.3 ET 計算モデルにおける仕様に対するプログラムの正当性
3.4.4 プログラムET の仕様ET からの合成

そして、第4章では、豊富なサンプルコードが示されています。
これは、まるでSICPの目次の様です。

第4 章問題解決の応用事例
4.1 決定的なプログラミング
4.1.1 手続きの記述
4.1.2 高階プログラミング
4.1.3 様々な再利用
4.2 手続き抽象と高階リスト演算
4.3 データ抽象と抽象データ型
4.3.1 抽象データ型スタックの実現
4.3.2 抽象データ型キューの実現
4.4 インタフェースとポリモーフィズム
4.4.1 ポリモーフィズムとデータ指向プログラミング
4.4.2 ボトムアッププログラミングによるET の拡張
4.4.3 単一化の拡張と制約プログラミング
4.4.4 データ駆動計算
4.4.5 メタ循環インタプリタ
4.5 ストリームプログラミング
4.5.1 ストリームの実現
4.5.2 エラトステネスのふるい
4.5.3 ストリーム同士の直積の生成cartesian-product
4.5.4 ストリームによるオブジェクト指向プログラミング
4.6 非決定的なプログラミング
4.6.1 N ルールによる探索と推論
4.7 様々な高階構
4.7.1 ワールド機構
4.7.2 メタプログラミングと自己書き換え
4.7.3 マルチヘッドN ルールによる多重集合演算
4.8 実問題の法
4.8.1 巡回セールスパーソン問題
4.8.2 自然言語処理



等価変換プログラミングパラダイムは自分はよくわかってないのですが、たぶん、仕様を書いておくとプログラムが生成されるっていう夢のような仕組みのような気がします。それが、数学的な根拠をもち、実装もあり、今までのプログラミングパラダイムと異質ではなく親和性があり、サンプルコードもたくさんある。


ETでゲームはどう変わるのか?そこに興味があります。
また、関数型言語lispから、haskell、mlなどの言語に発展したように
プログラムの表記方法自体の発展も気になるところです。