A kernel language for modules and abstract data types

  • Rod Burstall ,
  • Butler Lampson

International Symposium on Semantics of Data Types |

Published by Lecture Notes in Computer Science 173, Springer. ISBN 978-3540133469 | Organized by IFIP and EATCS

Also Digital SRC Research Report 1, September 1984. A later version appeared as "Pebble: A kernel language for modules and abstract data types" in Information and Computation 76, 2/3 (Feb./Mar. 1988), pp 278-346

DOI

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.