FOOL 2005 START ConferenceManager    

Recursive Object-Oriented Modules

Keiko Nakata and Akira Ito and Jacques Garrigue

Presented at Foundations of Object-Oriented Languages (FOOL 2005), Long Beach, California (in conjunction with POPL), Saturday 15 January 2005


ML-style modules and classes are complementary. The former are better at structuring and genericity, the latter at extension and mutual recursion. We investigate the convergence of both mechanisms by designing an object-oriented calculus based on a nominal module system with mutual recursion. Our modules assume simultaneously the roles of classes with subtyping, nested structures with type members, and simple functors. Flexible inter-module recursion is obtained by allowing free references not constrained by the order of definitions. Close examination of the well-foundedness of the recursion is performed, in the presence of nesting and functors. To keep the mutual recursion seen in object-oriented languages, we propose an innovative approach to the well-foundedness, by considering the topological sortability of modules. Its static inspection is possible at the cost of some forms of parametricity. The presented type system is provably decidable, and ensures well-foundedness of the recursion. The paper also presents a call-by-value semantics, for which type soundness is proved.


START Conference Manager (V2.47.9)