kirancodes.me
To Proof Maintenance & Beyond!

Modules, abstraction, and parametric polymorphism

Karl Crary

Abstract

Reynolds's Abstraction theorem forms the mathematical foundation for data abstraction. His setting was the polymorphic lambda calculus. Today, many modern languages, such as the ML family, employ rich module systems designed to give more expressive support for data abstraction than the polymorphic lambda calculus, but analogues of the Abstraction theorem for such module systems have lagged far behind.

Related papers