Rod Burstall and Butler Lampson
Citation: Information and Computation 76, 2/3 (Feb./Mar. 1988), pp 278-346
Links: Abstract, Acrobat. Here is an HTML version created by OCR for the benefit of search engines; it is not meant for human consumption.
Email: firstname.lastname@example.org. This paper is at http://research.microsoft.com.
A small set of constructs can simulate a wide variety of apparently distinct features in modern programming languages. Using a kernel language called Pebble based on the typed lambda calculus with bindings, declarations, dependent types, and types as compile-time values, we show how to build modules, interfaces and implementations, abstract data types, generic types, recursive types, and unions. Pebble has a concise operational semantics given by inference rules.