Polymorphic Typing of Variables and References Article

Smith, G, Volpano, D. (1996). Polymorphic Typing of Variables and References . ACM Transactions on Programming Languages and Systems, 18(3), 254-267. 10.1145/229542.229544

cited authors

  • Smith, G; Volpano, D

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 references.

authors

publication date

  • January 1, 1996

Digital Object Identifier (DOI)

start page

  • 254

end page

  • 267

volume

  • 18

issue

  • 3