A semantic basis for Quest
- 1 April 1991
- journal article
- research article
- Published by Cambridge University Press (CUP) in Journal of Functional Programming
- Vol. 1 (4) , 417-458
- https://doi.org/10.1017/s0956796800000198
Abstract
Quest is a programming language based on impredicative type quantifiers and subtyping within a three-level structure of kinds, types and type operators, and values.The semantics of Quest is rather challenging. In particular, difficulties arise when we try to model simultaneously features such as contravariant function spaces, record types, subtyping, recursive types and fixpoints.In this paper we describe in detail the type inference rules for Quest, and give them meaning using a partial equivalence relation model of types. Subtyping is interpreted as in previous work by Bruce and Longo (1989), but the interpretation of some aspects – namely subsumption, power kinds, and record subtyping – is novel. The latter is based on a new encoding of record types.We concentrate on modelling quantifiers and subtyping; recursion is the subject of current work.Keywords
This publication has 13 references indexed in Scilit:
- A modest model of records, inheritance, and bounded quantificationInformation and Computation, 1990
- A small complete categoryAnnals of Pure and Applied Logic, 1988
- Polymorphic type inference and containmentInformation and Computation, 1988
- A semantics of multiple inheritanceInformation and Computation, 1988
- Bounded quantifiers have interval modelsPublished by Association for Computing Machinery (ACM) ,1988
- A categorical approach to realizability and polymorphic typesPublished by Springer Nature ,1988
- On understanding types, data abstraction, and polymorphismACM Computing Surveys, 1985
- Polymorphism is not set-theoreticPublished by Springer Nature ,1984
- The Effective ToposPublished by Elsevier ,1982
- Lambda‐Calculus Models and ExtensionalityMathematical Logic Quarterly, 1980