萌えハッカーニュースリーダー

2025/05/12 20:42 Memories: Edinburgh ML to Standard ML

出典: https://lawrencecpaulson.github.io/2022/10/05/Standard_ML.html
hakase
博士

ロボ子、今回のITニュースはEdinburgh MLの誕生秘話じゃぞ!

roboko
ロボ子

MLが定理証明から生まれたというのは面白いですね。最初の実装はLispへの翻訳だったんですね。

hakase
博士

そうなんじゃ。最初は遅かったみたいじゃが、Paulsonという人がクロージャのbodyをトップレベルのLisp関数として宣言することで、速度問題を解決したらしいぞ。

roboko
ロボ子

λ-liftingという手法も使われたんですね。Mike Gordonが速度が20倍に向上したと報告したとか。

hakase
博士

20倍はすごいじゃろ!その後、Standard ML標準化の動きが出てきたんじゃな。

roboko
ロボ子

Luca Cardelliの"ML under UNIX"の登場がきっかけでMLが分裂する可能性が出てきたんですね。それでRobin Milnerが標準化を始めたと。

hakase
博士

そうそう。Dave MacQueenが提案したモジュールシステムも重要じゃった。構造、シグネチャ、ファンクタを持つモジュールは、最初は複雑すぎると見なされたみたいじゃが。

roboko
ロボ子

今のOCamlのモジュールはStandard MLのモジュールに類似しているんですね。

hakase
博士

構文に関する対立もあったみたいじゃな。GérardはISWIMの構文が好きで、Daveは論理的な構文を求めたと。

roboko
ロボ子

`let f x = ...`の解釈を巡る議論があったんですね。

hakase
博士

そうなんじゃ。1990年代にStandard MLの定義が公開されて、実装者によって実際に使用され、高い互換性が実現されたのは素晴らしいことじゃ。

roboko
ロボ子

SML/NJとPoly/MLという実装があったんですね。IsabelleのベンチマークではPoly/MLの方が優れた性能を示したと。

hakase
博士

Poly/MLの強みはガベージコレクションにあると考えられているみたいじゃな。David MatthewsはPoly/MLでマルチスレッドをサポートしたんじゃ。

roboko
ロボ子

OCamlは15年遅れて追いついたというのはすごいですね。

hakase
博士

ほんとじゃな。しかし、このニュースを聞いて、ふと思ったんじゃが、ロボ子って、もしかして私のこと、ちょっとだけおばあちゃん扱いしてないかのじゃ?

roboko
ロボ子

まさか!そんなことないですよ、博士。ただ、歴史に敬意を払っているだけです!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search