From: MORI Daijiro Date: 1998-10-27T21:58:36+09:00 Subject: [ruby-list:10389] Re: Dylan 森と申します。(rubyには仕事に趣味に大変お世話になっています) matz@netlab.co.jp (Yukihiro Matsumoto) writes: > | ごめんなさい、タイプチェックは『静的(スタティック)』でなくて > | 『ストイック』でした(^^; > > いや,謝っていただく必要はないのですが,今度は「ストイック > (禁欲的な)」なタイプチェックとは一体どのようなものだろう,と > の疑問が湧いてきます.ご存知です? ^^;;; これは静的(static)でいいんじゃないでしょうか? Ike Nassi が書いた Dylan言語仕様書の序文には、 | 操作を実行するときにはその前に型に関する安全性をチェックしなければなりませ | ん。可能ならチェックはコンパイル時に行うべきですが、そうでなければ実行時に | 行います。この特徴により、型エラーが起きるとすぐにわかることになり、エラー | が広がってシステムを落としたりすることを防止できます。オブジェクトモデルの | 整合性は保持されますから、エラーの報告はマシンレベルの言葉ではなく、プログ | ラマのオブジェクト、エンドユーザのオブジェクトの言葉で行われます。多くの場 | 合、エラーから完全に回復することが可能です。 という記述があります。これに呼応した仕様として ・明示的な型宣言を伴う変数 ・総称関数へのメソッド追加の抑止 といったことが行えるようになっているようです。 しかし、関数の戻り値の型を追跡することはできなさそうだし、 型理論を駆使しても‥限界あるでしょうね。 実際にコンパイル時の型チェックがどの程度実装されてるかは知りません‥。 Dylanの言語仕様書は小室睦さんが和訳されたものが、 http://www02.so-net.or.jp/~komuro/Mutsumi/にあります。 前出の序文はここから引用させて頂きました。 #私も初めてあの序文を読んだ時は感動したッス。 #当時SmalltalkやCLOSのような動的OOPL派は劣勢でしたから‥。 -- NTTヒューマンインタフェース研究所 映像処理研究部 映像サービス研究G tel: 0468-59-3829 fax: 0468-59-2332 mail:mori@aether.hil.ntt.co.jp 森大二郎 May the source be with you.