Syntactic type abstraction
- 1 November 2000
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Programming Languages and Systems
- Vol. 22 (6) , 1037-1080
- https://doi.org/10.1145/371880.371887
Abstract
Software developers often structure programs in such a way that different pieces of code constitute distinct principals . Types help define the protocol by which these principals interact. In particular, abstract types allow a principal to make strong assumptions about how well-typed clients use the facilities that it provides. We show how the notions of principals and type abstraction can be formalized within a language. Different principals can know the implementation of different abstract types. We use additional syntax to track the flow of values with abstract types during the evaluation of a program and demonstrate how this framework supports syntactic proofs (in the sytle of subject reduction) for type-abstraction properties. Such properties have traditionally required semantic arguments; using syntax aboids the need to build a model and recursive typesfor the language. We present various typed lambda calculi with principals, including versions that have mutable state and recursive types.Keywords
This publication has 11 references indexed in Scilit:
- Parametric polymorphism and operational equivalenceMathematical Structures in Computer Science, 2000
- The Definition of Standard MLPublished by MIT Press ,1997
- Relational Properties of DomainsInformation and Computation, 1996
- A simplified account of polymorphic referencesInformation Processing Letters, 1994
- Two-Level Functional LanguagesPublished by Cambridge University Press (CUP) ,1992
- Types, abstraction, and parametric polymorphism, part 2Published by Springer Nature ,1992
- Domain theoretic models of polymorphismInformation and Computation, 1989
- Abstract types have existential typeACM Transactions on Programming Languages and Systems, 1988
- dI-domains as a model of polymorphismPublished by Springer Nature ,1988
- An ideal model for recursive polymorphic typesInformation and Control, 1986