Polymorphic type inference and assignment
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Type inference for polymorphic references
Information and Computation
Typing references by effect inference
ESOP'92 Symposium proceedings on 4th European symposium on programming
Polymorphism by name for references and continuations
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A simplified account of polymorphic references
Information Processing Letters
A syntactic approach to type soundness
Information and Computation
A note on “A simplified account of polymorphic references”
Information Processing Letters
A type soundness proof for variables in LCF ML
Information Processing Letters
Simple imperative polymorphism
Lisp and Symbolic Computation - Special issue on state in programming languages (part I)
Principal type-schemes for functional programs
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Towards an ML-Style Polymorphic Type System for C
ESOP '96 Proceedings of the 6th European Symposium on Programming Languages and Systems
Standard ML Weak Polymorphism Can Be Sound
Standard ML Weak Polymorphism Can Be Sound
Efficient type inference using ranked type variables
ML '07 Proceedings of the 2007 workshop on Workshop on ML
Hi-index | 0.00 |
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 references