| M. Tofte. Type inference for polymorphic references. Information and Computation, 89:1--34, November 1990. |
....program accepted would be to explicitly force it to accept only lists of a xed ground type (int and string are just possible choices) This typing seeming too restrictive, more re ned type systems were developed to handle the speci city of types affected by side e ects. The Tofte discipline [15], used in Standard ML 90 [11] introduces imperative type variables for references, marked by a , which must be instantiated to ground types whenever a side e ect may occur, i.e. after any function application or reference cell creation. This was extended in Standard ML of New Jersey to allow ....
M. Tofte. Type inference for polymorphic references. Information and Computation, 89:1-34, 1990.
.... Language Following Harper [Har93] wesay that a store oe is well formed with respect to a context Delta, written Delta oe, if 8loc 2 BV( Delta)# if Delta loc : con Ref then Delta oe(x) con: This formulation of store typing avoids the need for complex maximal fixed point constructions [Tof90] An essentially similar observation was made byWrightandFelleisen [WF91] Fix a base type ans of answers to which a complete, closed program might evaluate. We can say that a machine state is well formed, written ( Delta#oe#E#phrase)# if and only if Delta E[phrase] ans, phrase ....
Mads Tofte. Type inference for polymorphic references. Information and Computation, 89(1):1--34, November 1990.
....2. This de nition requires no changes if we enrich the language with imperative features. A more precise de nition ( the values in type C are objects of the form new D(o) where D : C and, o i 2 [ F i ] where F i is the type of the i eld of class D ) would require a co inductive reading (cf. [33]) to make sense in the imperative setting. Intuitively, the reason we can get away with this permissive interpretation of object types is that later, e.g. in the proof of soundness, we will never deal with arbitrary elements of [ C] but only with elements that we also know are well typed ....
M. Tofte. Type inference for polymorphic references. Information and Computation, 89(1), Nov. 1990.
....for the applicative one, even though they have exactly the same semantics. As demonstrated here, the programming style (imperative vs. applicative) interferes with the type speci cations. This clearly goes against modular programming. Some enhancements to the ML type system have been proposed [4, 16, 17, 1], that weaken the restrictions over polymorphic mutable data. Standard ML [11] incorporates some of these ideas. These enhanced type systems make it possible to de ne many useful generic functions over mutable data structures, such as the function that copies a vector. However, these systems are ....
....rst the systems proposed for ML. All these systems rely on detecting the creation of mutable values (e.g. by special typechecking rules for the ref construct) and ensuring that the resulting mutable values have monomorphic types. The rst system we consider is the one proposed by Tofte [16, 17], and adopted in Standard ML [11] It makes use of weak type variables (written with a superscript) to prohibit polymorphic references. Weak type variables cannot be generalized by a let binding, unless the corresponding expression is guaranteed to be non expansive, i.e. that it does not create ....
M. Tofte. Type inference for polymorphic references. Information and Computation, 89(1), 1990.
.... modi ed in place) and rst class continuations (objects that capture the control state of the evaluator) In the ML community, it has long been known that the naive polymorphic typing for references is unsound; strong typing restrictions must be put on polymorphic references to ensure soundness [19]. Recently, it has been shown that the natural polymorphic typing for continuations [4] is unsound for similar reasons [8, 9] In this paper, we show that these diculties are not inherent to the polymorphic typing of references and continuations, but speci c to the ML semantics for ....
....by value, some typing restrictions must be put on generalization and or on the constructs that build references and continuations to avoid the inconsistent use of one reference or continuation object with di erent types. Several polymorphic type systems have been proposed that achieve this goal [3, 19, 15, 13, 20, 18], but they are either overly restrictive (many useful polymorphic functions that use references or continuations are rejected) or complicated and hard to understand from the programmer s standpoint. In contrast, with polymorphism by name, the simple, intuitive polymorphic type disciPage 1 ....
[Article contains additional citation context not shown here]
M. Tofte. Type inference for polymorphic references. Information and Computation, 89(1), 1990.
.... raw expressions a 1 : a n such that j= e : E and E (function p 1 a 1 j : j p n a n ) 1 2 ) function p 1 b 1 j : j p n b n ) j= dynamic(v : if and only if = dyn and j= v : The use of the typing relation to de ne j= over functional values is taken from [25]. The semantic typing relation extends to type schemes and to environments: j= v : if and only if j= v : for all types j= e : E if and only if e and E have the same domain, and j= e(x) E(x) for all x in their domain. The following property shows that semantic typing is stable ....
Mads Tofte. Type inference for polymorphic references. Information and Computation, 89(1), 1990.
....1 2 : 8 1 : n : Here and elsewhere, we write x for an identi er, i for an integer constant, f for a oating point constant, and for a type variable. Primitives are presented as prede ned identi ers such as add float. To the source language we apply Milner s type discipline [10, 16]. We recall the typing rules below. They de ne the familiar predicate E a : under assumptions E, term a has type ) Here, E is a nite mapping from identi ers x to type schemes . E x : E i : int E f : float E x : 1 a : 2 E x: a : 1 2 E a 2 : 1 2 ....
....) as expected. 2 3.4 Operational semantics In this section, we give operational semantics for the source language and for the target language, in preparation for a proof of the semantic correctness of the translation. We de ne two evaluation predicates, mapping terms to values, in the style of [12, 16]. The syntax for values is: v : i j f j hvi j v 1 ; v 2 j clos(k; x: a; e) j op op : add j : A value is either a constant; a pointer hvi to a heap cell containing value v; an (unallocated) pair of two values v 1 ; v 2 ; a primitive operation op; or a closure clos(k; x: a; e) of ....
[Article contains additional citation context not shown here]
M. Tofte. Type inference for polymorphic references. Information and Computation, 89(1), 1990.
....: a,m ref # and the other part r(1) a,m # 1 .Their frame axiom introduction rule is useful when aliasing is not 11 expected to occur because their predicates R are stronger than just typing judgments. Other related work. The use of a store typing mapping locations to types is not new. Tofte [32] uses this approach in his type soundness proof for polymorphic references. Tofte, however, makes use of coinduction to handle cycles in the memory graph. Harper [9] has shown how a progressand preservation proof can be arranged so that there is no need for coinduction. Our model, meanwhile, can ....
M. Tofte. Type inference for polymorphic references. Information and Computation, 89:1--34, November 1990. 13
....system to allow polymorphic use of functions that create references [Dam85] Unfortunately, although his soundness theorem is not known to be false, the soundness proof is incorrect. Tofte was the rst to give a type discipline for polymorphic references together with a correct soundness proof [Tof88, Tof90]. The central idea of Tofte s solution is to partition the types into imperative and applicative types, requiring all type variables that occur in an imperative type to be imperative. Values of imperative type can be stored, but only applicative type variables are treated polymorphically, ....
M. Tofte. Type inference for polymorphic references. Information and Computation, 89(1):1{ 34, 1990.
No context found.
Tofte, M. Type inference for polymorphic references. In Information and Computation, 89(1), pages 1-34, 1990.
No context found.
M. Tofte. Type inference for polymorphic references. Information and Computation, 89:1--34, November 1990.
No context found.
Mads Tofte. Type Inference for Polymorphic References. In Information and Computation'80 Conference Proceedings, pages 1--34, November 1980.
No context found.
M. Tofte. Type inference for polymorphic references. Information and Computation, 89:1--34, 1990.
No context found.
Mads Tofte. Type Inference for Polymorphic References. In Information and Computation'80 Conference Proceedings, pages 1--34, November 1980.
No context found.
Mads Tofte. Type Inference for Polymorphic References. In Information and Computation'80 Conference Proceedings, pages 1--34, November 1980.
No context found.
M. Tofte. Type inference for polymorphic references. Information and Computation, 89:1--34, 1990.
No context found.
Mads Tofte. Type inference for polymorphic references. Information and Computation, 89(1):1 -- 34, November 1990.
No context found.
Mads Tofte. Type inference for polymorphic references. Information and Computation, 89:1--34, November 1990.
No context found.
Mads Tofte. Type inference for polymorphic references. Information and Computation, 89:1--34, November 1990.
No context found.
Mads Tofte. Type inference for polymorphic references. Information and Computation, 89:1-- 34, November 1990.
No context found.
Mads Tofte. Type inference for polymorphic references. Information and Computation, 89(1):1--34, November 1990.
No context found.
M. Tofte. Type inference for polymorphic references. Information and Computation, 89(1):1--34, November 1990.
No context found.
M. Tofte. Type inference for polymorphic references. Information and Computation, 89:1--34 1990.
No context found.
M. Tofte. Type inference for polymorphic references. Information and Computation, 89(1):1-- 34, 1990.
No context found.
Tofte, M., Type inference for polymorphic references, Info. & Comp., 89:1-34, 1990.
First 50 documents Next 50
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC