>>501 >>502
? 静的型(宣言)のことか? そうさせてもらうぞ (W

ちと長いし、言ってることはほぼ既出だが...

MLは型付きなので、ユーザは型システムが要請する規則に従ってプログラムを書
かなければならない。だから、慣れないうちはなんだかよく分からない規則のせ
いで思ったようにプログラムが書けない、と窮屈に感じるかもしれん。それに対
してschemeには静的型の概念が無い分、言語の設計が簡潔なのでとっつきやすい。

しかし、MLでは型チェックを通ったプログラムは実行しても型エラー(例えば
Emacs lispでいうところの Wrong type argument: ...)を起こさない。MLの型シ
ステムはこれを満たすように設計されており、またこれからもそうであろう。

これをうれしいと見るか、それとも取るにたらない、と見るか。

そんなエラーはテストで取り除けるからいい、とか手で変数名に型をつけるから
いい、とかいうのであればMLは魅力的に見えないかもしれない。この辺の議論は
「型なし言語逝ってよし」スレにも議論があったと思う。

俺はプログラムが大きくなると(俺的には小さくてもだが)この手の小さなミス
が混入する可能性を排除しきれないと考える。だから、MLの型システムがこれ
を防いでくれるのは、一つのメリットだと思う。