Polymorphic typing of variables and references
- 1 May 1996
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Programming Languages and Systems
- Vol. 18 (3), 254-267
- https://doi.org/10.1145/229542.229544
Abstract
In this article we consider the polymorphic type checking of an imperative language. Our language contains variables , first-class references (pointers), and first-class functions. Variables, as in traditional imperative languages, are implicitly dereferenced, and their addresses ( L -values) are not first-class values. Variables are easier to type check than references and, in many cases, lead to more general polymorphic types. We present a polymorphic type system for our language and prove that it is sound. Programs that use variables sometimes require weak types, as in Tofte's type system for Standard ML, but such weak types arise far less frequently with variables than with referencesKeywords
This publication has 6 references indexed in Scilit:
- A note on “A simplified account of polymorphic references”Information Processing Letters, 1996
- Simple imperative polymorphismHigher-Order and Symbolic Computation, 1995
- A type soundness proof for variables in LCF MLInformation Processing Letters, 1995
- A Syntactic Approach to Type SoundnessInformation and Computation, 1994
- A simplified account of polymorphic referencesInformation Processing Letters, 1994
- Type inference for polymorphic referencesInformation and Computation, 1990