kirancodes.me
To Proof Maintenance & Beyond!

Principal Signatures for Higher-Order Program Modules

Mads Tofte

Abstract

Abstract In this paper we present a language for programming with higher-order modules. The language HML is based on Standard ML in that it provides structures, signatures and functors. In HML, functors can be declared inside structures and specified inside signatures; this is not possible in Standard ML. We present an operational semantics for the static semantics of HML signature expressions, with particular emphasis on the handling of sharing. As a justification for the semantics, we prove a theorem about the existence of principal signatures. This result is closely related to the existence of principal type schemes for functional programming languages with polymorphism.

DOI 10.1017/s0956796800001088

Related papers