Abstract types have existential type

  • Authors:
  • John C. Mitchell;Gordon D. Plotkin

  • Affiliations:
  • Stanford Univ., Stanford, CA;Univ. of Edinburgh, Edinburgh, Scotland, UK

  • Venue:
  • ACM Transactions on Programming Languages and Systems (TOPLAS)
  • Year:
  • 1988

Quantified Score

Hi-index 0.01

Visualization

Abstract

Abstract data type declarations appear in typed programming languages like Ada, Alphard, CLU and ML. This form of declaration binds a list of identifiers to a type with associated operations, a composite “value” we call a data algebra. We use a second-order typed lambda calculus SOL to show how data algebras may be given types, passed as parameters, and returned as results of function calls. In the process, we discuss the semantics of abstract data type declarations and review a connection between typed programming languages and constructive logic.