主催: 日本ソフトウェア科学会
プログラミング言語において、クラスとML-styleのモジュールは補完的な関係にある。前者は拡張性に優れ、後者は抽象化の扱いに優れている。本論では、相互参照のあるオブジェクト指向モジュールシステムを構築することで、両機構を併せ持つ言語の設計を提案する。本システムでは、モジュールとクラスが同一視されており言語の簡潔さが保たれている。モジュール間に循環的な依存関係が存在し得るため、このシステムの設計においては、安全性を静的に保証することは困難な問題となる。我々は、決定可能な型システムによりモジュールの定義が循環的に依存していないことを保証する。また、値呼び出しの意味論を定義し、型システムがこれに対して健全であることを示す。