Manifest Types, Modules, and Separate Compilation

Xavier Leroy. Manifest Types, Modules, and Separate Compilation. In POPL. pages 109-122, 1994.

Abstract

This paper presents a variant of the SML module system that introduces a strict distinction between abstract types and manifest types (types whose definitions are part of the module specification), while retaining most of the expressive power of the SML module system. The resulting module system provides much better support for separate compilation.