DocumentCode
1823208
Title
Standard ML-NJ weak polymorphism and imperative constructs
Author
Hoang, My ; Mitchell, John ; Viswanathan, Ramesh
Author_Institution
Dept. of Comput. Sci., Stanford Univ., CA, USA
fYear
1993
fDate
19-23 Jun 1993
Firstpage
15
Lastpage
25
Abstract
Standard ML of New Jersey (SML-NJ) uses weak-type variables to restrict the polymorphic use of functions that may allocate reference cells, manipulate continuations, or use exceptions. However, the type system used in the SML-NJ compiler has not been presented in a form other than source code and has not been proved correct. A type system, in the form of typing rules and an equivalent algorithm, that appears to subsume the implemented algorithm is presented. Both use type variables of only a slightly more general nature than the compiler. One insight in the analysis is that the indexed type of a free variable is used in two ways, once in describing the applicative behavior of the variable itself and once in describing the larger term containing the variable. Taking this into account, an application rule that is more general than SML-NJ is formulated for applications of polymorphic functions to imperative arguments. The soundness of the type system is proved for imperative code using operational semantics
Keywords
high level languages; lambda calculus; program compilers; type theory; SML-NJ compiler; Standard ML of New Jersey; Standard ML-NJ weak polymorphism; application rule; continuations; exceptions; free variable; imperative arguments; imperative constructs; operational semantics; polymorphic functions; reference cells; type variables; weak-type variables; Board of Directors; Calculus; Computer science; Control systems; Inference algorithms; Prediction algorithms; Program processors; Programming profession; Runtime; Scholarships;
fLanguage
English
Publisher
ieee
Conference_Titel
Logic in Computer Science, 1993. LICS '93., Proceedings of Eighth Annual IEEE Symposium on
Conference_Location
Montreal, Que.
Print_ISBN
0-8186-3140-6
Type
conf
DOI
10.1109/LICS.1993.287604
Filename
287604
Link To Document