Generativity and dynamic opacity for abstract types

A Rossberg - Proceedings of the 5th ACM SIGPLAN international …, 2003 - dl.acm.org
A Rossberg
Proceedings of the 5th ACM SIGPLAN international conference on Principles …, 2003dl.acm.org
The standard formalism for explaining abstract types is existential quantification. While it
provides a sufficient model for type abstraction in entirely statically typed languages, it
proves to be too weak for languages enriched with forms of dynamic typing, where
parametricity is violated. As an alternative approach to type abstraction that addresses this
shortcoming we present a calculus for dynamic type generation. It features an explicit
construct for generating new type names and relies on coercions for managing abstraction …
The standard formalism for explaining abstract types is existential quantification. While it provides a sufficient model for type abstraction in entirely statically typed languages, it proves to be too weak for languages enriched with forms of dynamic typing, where parametricity is violated. As an alternative approach to type abstraction that addresses this shortcoming we present a calculus for dynamic type generation. It features an explicit construct for generating new type names and relies on coercions for managing abstraction boundaries between generated types and their designated representation. Sealing is represented as a generalized form of these coercions. The calculus maintains abstractions dynamically without restricting type analysis.
ACM Digital Library