55 citations found. Retrieving documents...
Wand M. A Simple algorithm and proof for type inference. Fundamentae Informaticae, 1987;10:115-122.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents  Next 50

A General Framework for Hindley/Milner Type Systems with.. - Sulzmann (2000)   (7 citations)  (Correct)

....need to perform normalization right before a (Let) rule (because the constraint in a type scheme needs to be in normal form) or at the end. This corresponds to by need normalization. An example of a by need formulation of type inference for the Hindley Milner type system can already be found in [Wan87]. Figure 4.2 contains a by need formulation of the type inference algorithm in HM(X) If the constraint X enjoys the principal constraint property and unitary uni cation then both formulations are equivalent. This is justi ed by Theorem 9 in Section 4.2. Theorem 11 (Eager versus by Need ....

Mitchell Wand. A simple algorithm and proof for type inference. In Fundamenta Informaticae X, pages 115-122. North-Holland, 1987.


A Type is a Type is a Type - Müller, Niehren (1995)   (2 citations)  (Correct)

....to soft typing. In recent years, there has been increasing interest in type analysis for untyped languages (soft typing) Tha90, AW93, AWL94, CF91, WC94] By far most of the typing literature is for functional languages. The close relationship between constraint solving and type inference ([Wan87, AW93, PS94] and many others) or more general program analysis (e.g. Hei92, PS94] is well established. Among the abounding literature, the work of Aiken, Wimmers et al. seems closest in some respects [AW93, AWL94] In this work, a rich type language containing union, intersection, complement functional ....

Mitchell Wand. A Simple Algorithm and Proof for Type Inference. Fundamenta Informaticae, 10:115--122, 1987.


A Constraint-Based Recast of ML-Polymorphism (Extended Abstract) - Müller   (Correct)

....programming language, the type inferencer can be run just as specified. We claim that deep reduction is one of the essential features for such a high level implementation of type inference or abstract interpretation algorithms [4] The algorithm can also be viewed as an extension of Wand s [9] towards let polymorphism. Like Wand s, our algorithm is easily modified to supply other monomorphic type systems with ML style polymorphism. The Damas Milner Calculus The Damas Milner algorithm (DM, for short) for polymorphic type inference [3, 1] underlies most of today s statically typed ....

....[ M ] fi [ N ] fl fi = fl ff ) let) let x=M in N ] ff [ N ] ff 9fi( x] fi) x: fl= M ] fl (var) x: fi =E C[ x] ff] x: fi =E C[Efff=fig] cong) j C[E] E F C[F ] j F F Rules (lam) app) let) and (var) essentially turn the DM rules top down. They encode what Wand [9] called the action table of its schematic algorithm. Note that we need to unfold every polytype at least once (hence 9fi( x] fi) in order to deal with the case that for some let x=M in N , x does not appear in N . var) is the application axiom of the ae calculus [7] Polymorphic types are ....

Mitchell Wand. A Simple Algorithm and Proof for Type Inference. Fundamenta Informaticae, 10:115-- 122, 1987.


Type Inference of Turbo Pascal - Hougaard, Schwartzbach, Askari (1995)   (1 citation)  (Correct)

....use [ e] to stand for the type variable representing the type of expression e. Now we have reduced the problem of type inference to that of finding a solution to a set of constraints. In the case of ML we can again solve the constraints by a single application of the unification algorithm. Wand [6] has used this technique for type inference of the simply typed calculus (ML without polymorphic let) In Turbo Pascal we use this constraint technique. In ML we could limit ourselves to generating constraints of the form [ e] e 0 ] e 00 ] but Turbo Pascal has much more complex ....

M. Wand. A simple algorithm and proof for type inference. Fundamentae Informaticae, X:115 -- 122,


Abstract Interpretation in the Operational Semantics Hierarchy - Schmidt (1997)   (3 citations)  (Correct)

.... of such representations of the collecting semantics are the table generated from solving a set of data flow equations (see the next section) the cache generated from solving a set of denotational semantics equations [28, 10] and the solution of a constraints set generated for type inference [4, 5, 67] or control flow analysis [27, 52] Because of the emphasis placed upon the collecting semantics, it is all too easy to confuse an a.i. with the collecting semantics extracted from it. As a result, precision can be inadvertantly lost when an algorithm for calculating directly the collecting ....

Mitchell Wand. A simple algorithm and proof for type inference. Fundamenta Infomaticae, 10:115--122,


An Analysis of the Core-ML Language: Expressive Power .. - Kanellakis.. (1994)   (3 citations)  (Correct)

....description of syntax and semantics we refer the reader to [40, 14, 29, 38] The problem of Core ML (TLC) type reconstruction is: Given a term without any some type annotations find if it is typable using the ML (TLC) typing rules. For TLC this is an efficiently solvable problem in linear time [48], by reduction to first order unification [43, 15] but it is also PTIME complete. For Core ML it is EXPTIME complete in the size of the program typed, see [29, 30] The proof sketch we present in Section 4.2 is based on [22] Fixed Functionality: In [24, 25] we continued the investigation of ....

.... followed by reduction from the Circuit Value Problem [34] Type inference for ML programs without let (equivalently, simply typed calculus) is easily reduced to first order unification, where a program is transformed to a unification problem of size linear in the size of the original program [48] and vice versa. As a consequence, type inference for the simply typed case is complete for PTIME. By adding the polymorphic let and iterating its use, it is possible to write a program that generates a unification problem of exponential size. Bootstrapping the ideas of [15] one may then simulate ....

M. Wand. A Simple Algorithm and Proof for Type Inference. Fundamenta Informaticae 10 (1987). 23


Hybrid Constraints for Regular Terms - Hougaard   (Correct)

....same type. Constraints have been used as a tool to solve many di#erent problems. In each application the domain of the constraints depends on the problem that are being solved. The domains used are as di#erent as the set of real numbers, R [9] an arbitrary finite domain [11, 6] finite terms [17], sets of strings [12] and regular terms [14] It is the latter domain we will look at here. The constraints used in [14] are ine#cient in the sense that there is no known polynomial time algorithm for finding a solution to the constraints (although the satisfiability problem is polynomial time ....

....maps t 1 , t rank(#) to #(t 1 , t rank(#) We can therefore view # as a function alphabet where the standard interpretation is J# (#) # Reg # . We shall write # instead of # Reg # where no ambiguity occurs. The equality constraints over terms are widely used (e.g. in [17]) Two terms, t and t # , are equal, i# they have the same set of valid addresses and for each address, #, we have t(#) t # (#) The equality constraints are the constraints from = V, #] Solving a constraint of the form e = e # is known as unification of e and e # . Paterson and Wegman ....

M. Wand. A simple algorithm and proof for type inference. Fundamentae Informaticae, X:115 -- 122, 1987. 20


Reflections on complexity of ML type reconstruction - Wierzbicki (1997)   (Correct)

....critical subroutine of a type checker) was the simplest one. Also from the theoretical point of view the ML type system seemed to be not much stronger than the Curry style simply typed lambda calculus, for which type reconstruction was known to be in DLINTIME (a formal proof has been published in [30]) These facts gave rise to a folk theorem stating PTIME membership of the ML type reconstruction. It was explicitly claimed in [21] Its stronger version (DLINTIME membership) appeared in the influential paper of John C. Mitchell and Robert Harper [25] presented at POPL 88. A year later, to the ....

M. Wand, A simple algorithm and proof for type inference, Fundamenta Informaticae, X (2) (1987), series IV, 115--121. 20


Let-Polymorphism and Eager Type Schemes - Chuck Liang University (1997)   (1 citation)  (Correct)

....nothing to constrain the generalization of free type variables. Variables can be given multiple instantiations which are then resolved at the end. But algorithm V does not include a case for let. Leivant chose to address let polymorphism in the context of a rank 2 conjunctive type discipline. Wand [13] gave a similar algorithm, which likewise bypassed let. Appel and Shao s algorithm W [1] can be seen as essentially an extension of algorithm V to include let. They use a procedure called Monounify which serves basically the same purpose as join. W is similar to the approach here in that it too ....

Mitchell Wand. A simple algorithm and proof for type inference. Fundamenta Infomaticae, 10:115--122, 1987. 12


Recursive Types in a Calculus of Objects - Vasconcelos (1993)   (Correct)

....names (in the form of type equations) and on type variables (in the form of kind assignments) thus producing a kinded set of equations. This kinded set of equations is then submitted to a kinded unification algorithm. The inference algorithm is based on that of Wand for the simply typed calculus [15], and that of Vasconcelos and Honda for the polyadic calculus [13] 4 Recursive types and recursive typing assignment There are numerous meaningful and useful terms that cannot be typed in the simple type system described so far. Terms representing natural numbers, lists and trees are examples ....

Mitchell Wand. A simple algorithm and proof for type inference. Fundamenta Informaticae, X:115--122, 1987. 13


Type Analysis and Data Structure Selection - Cai, Facon, Henglein, Paige.. (1991)   (14 citations)  (Correct)

....applications of the (COERCE) rule into the type inference system of Appendix B. This is done by systematically replacing every assumption of the form e : set( or e : 0 ; 00 ) by e : oe; oe set( respectively e : oe; oe ( 0 ; 00 ) where oe is a new meta variable. 8 See [Wan87, FM88, Hen88] for a sample of reductions of type inference to type constraint systems and [Hen91b, Hen91a] for reductions very similar to the one necessary to prove this theorem. can be extended in a canonical fashion to a mapping from type expressions to subsets of U by defining T [ fv : ....

M. Wand. A simple algorithm and proof for type inference. Fundamenta Informaticae, X:115--122, 1987.


Simplifying Subtyping Constraints: A Theory - Pottier (2000)   (25 citations)  (Correct)

....set of all valid types of a given (un annotated) expression e has a very regular structure: it is either empty, or exactly the set of all substitution instances of a most general type . Then, inferring the (most general) type of an expression reduces to solving a set of equations between types [Wan87]. The addition of let polymorphism, as done in ML [Mil78] essentially preserves this fact. These systems have type instantiation as their only notion of type compatibility. In particular, they view any two ground types as incompatible unless they are equal. For instance, assume machine integers ....

Mitchell Wand. A simple algorithm and proof for type inference. Fundamenta Informaticae, 10:115-122, 1987. URL: ftp://ftp.ccs.neu.edu/pub/people/wand/papers/ fundamenta-87.dvi. 38


Constrained Types: A Personal Perspective - Smith (1996)   (Correct)

....; t n : produced by the Hindley Milner algorithm. The classic Hindley Milner inference algorithm is more similar in spirit to constrained type inference than would first appear; this can be better seen when the Hindley Milner algorithm is rephrased as inferring a set of equations between types [Wan87] In the Hindley Milner algorithm, a function f of inferred type f applied to an argument a of inferred type a induces the equivalence constraints f f = t 0 t 1 ; a = t 0 g for fresh type variables t 0 , t 1 . In the standard presentation of Hindley Milner type inference, these equations are ....

....a induces the equivalence constraints f f = t 0 t 1 ; a = t 0 g for fresh type variables t 0 , t 1 . In the standard presentation of Hindley Milner type inference, these equations are eagerly unified, and the most general unifying substitution immediately applied to the result type t 1 . Wand [Wan87] shows how unification and substitution can be delayed, defining a type inference algorithm by collecting a set of equivalence constraints on types as outlined above. The act of eager substitution is reasonable for Hindley Milner inference because substitution of equals for equals proceeds ....

Mitchell Wand. A simple algorithm and proof for type inference. Fundamenta Informaticae, 10:115--122, 1987.


What Are Principal Typings and What Are They Good for? - Jim (1995)   (116 citations)  (Correct)

....technical advance is a way of solving subtype satisfaction problems for types with quantifiers and intersections at unlimited depth. 9 Related work Principal typings are not a new concept. A number of existing type systems have principal typings, including the simply typed lambda calculus [31], the system of recursive types [5] the system of simple subtypes [25] and the system of intersection types [4] Our contribution is to highlight the practical uses of the principal typing property, and to distinguish it from the principal type property. A number of authors have published ....

Mitchell Wand. A simple algorithm and proof for type inference. Fundamenta Infomaticae, 10:115--122, 1987.


Let-Polymorphism and Eager Type Schemes - Liang (1997)   (1 citation)  (Correct)

....to constrain the generalization of free type variables. Variables can be given multiple instantiations which are then resolved at the end. But algorithm V does not include a case for ML s let. Leivant chose to address let polymorphism in the context of a rank 2 conjunctive type discipline. Wand [18] gave a similar algorithm, which likewise bypassed let. Appel and Shao s algorithm W [1] can be seen as essentially an extension of algorithm V to include let. They use a procedure called Monounify which serves basically the same purpose as join. W is similar to the approach here in that it too ....

Mitchell Wand. A simple algorithm and proof for type inference. Fundamenta Infomaticae, 10:115--122, 1987. This article was processed using the L a T E X macro package with LLNCS style


Analysis of Objects with Dynamic and Multiple Inheritance - Agesen, Palsberg.. (1995)   (3 citations)  (Correct)

....our approach to type inference for Self. We will use the Self terminology without explanation. 2.1 Constraint Based Analysis Our approach to type inference is based on constraints, like in our previous papers on an idealized subset of Smalltalk. The main idea in constraint based analysis [17, 14, 12] is as follows. First, define type variables for the unknown type information. Second, derive constraints on these variables from the given program. Third, solve the resulting constraints to obtain the desired information. The algorithms in [11, 10] had safety checking as an integral part of the ....

Mitchell Wand. A simple algorithm and proof for type inference. Fundamentae Informaticae, X:115--122, 1987. This article was processed using the L A T E X macro package with LLNCS style


Efficient Type Inference for Higher-Order Binding-Time Analysis - Henglein (1991)   (62 citations)  (Correct)

.... Since the lift operator and every variant underscored and not underscored of every syntactic operator have exactly one inference rule scheme (without side conditions) it follows that type checking for an annotated term is (RAM )linear time equivalent to solving a unification problem [Wan87,Hen88a] and thus can be done efficiently in linear [PW78,MM82] or almostlinear time [Hue76,ASU86] We will show that type inference for unannotated (or partially annotated) terms and computation of minimal completions can actually be done in essentially the same time. 3 Type constraint ....

.... language of constraints as the front end of our analysis and the algorithm(s) 5 Similar considerations can be applied to other type inference problems to derive systematically reductions to solvability of type constraint systems; in particular, the reductions of Mitchell [Mit84] Wand [Wan87] Fuh and Mishra [FM88] Stansifer [Sta88] Henglein [Hen88b] can be derived in this fashion. for solving these constraints as its back end . We hope that, possibly after some suitable generalization, our constraints are both expressive enough to capture many interesting program analyses and ....

M. Wand. A simple algorithm and proof for type inference. Fundamenta Informaticae, X:115--122, 1987.


Type Inference of SELF: Analysis of Objects with.. - Agesen, Palsberg.. (1993)   (38 citations)  (Correct)

....describe our approach to type inference for Self. We will use the Self terminology without explanation. 2.1 Constraint Based Analysis Our approach to type inference is based on constraints, like in our previous papers on an idealized subset of Smalltalk. The main idea in constraintbased analysis [15, 12, 11] is as follows. First, define type variables for the unknown type information. Second, derive constraints on these variables from the given program. Third, solve the resulting constraints to obtain the desired information. The algorithms in [10, 9] had safety checking as an integral part of the ....

Mitchell Wand. A simple algorithm and proof for type inference. Fundamentae Informaticae, X:115-122, 1987.


Analysis of Objects with Dynamic and Multiple Inheritance - Agesen, Palsberg.. (1993)   (3 citations)  (Correct)

....our approach to type inference for Self. We will use the Self terminology without explanation. 2.1 Constraint Based Analysis Our approach to type inference is based on constraints, like in our previous papers on an idealized subset of Smalltalk. The main idea in constraint based analysis [17, 14, 12] is as follows. First, de ne type variables for the unknown type information. Second, derive constraints on these variables from the given program. Third, solve the resulting constraints to obtain the desired information. The algorithms in [11, 10] had safety checking as an integral part of the ....

Mitchell Wand. A simple algorithm and proof for type inference. Fundamentae Informaticae, X:115122, 1987. This article was processed using the L A T E X macro package with LLNCS style


A Language for Specifying Recursive Traversals of Object.. - Ovlinger, Wand (1999)   (5 citations)  Self-citation (Wand)   (Correct)

....not specify all. Typically, for many of the classes in the traversal, a return type will not be specified, and for each needs to infer the type returned by traversing an object from the collection. Since there are no function types or polymorphism, we can infer types by simple constraint solving [Wan87]. Since all constraints are equivalence relations, it is possible to sort all type variables into equivalence classes in O(nff(n) time, where ff is the inverse Ackerman function and realistically never returns a value greater than 4 [CLR90] The rules for generating the constraints are given in ....

Mitchell Wand. A simple algorithm and proof for type inference. Fundamenta Infomaticae, 10:115--122, 1987.


A Language for Specifying Recursive Traversals of Object.. - Ovlinger, Wand   (5 citations)  Self-citation (Wand)   (Correct)

....not specify all. Typically, for many of the classes in the traversal, a return type will not be specified, and for each needs to infer the type returned by traversing an object from the collection. Since there are no function types or polymorphism, we can infer types by simple constraint solving [Wan87]. Since all constraints are equivalence relations, it is possible to sort all type variables into equivalence classes in O(nff(n) time, where ff is the inverse Ackerman function and realistically never returns a value greater than 4 [CLR90] The rules for generating the constraints are given in ....

Mitchell Wand. A simple algorithm and proof for type inference. Fundamenta Infomaticae, 10:115-- 122, 1987.


Consistency Checking by Type - Inference And Constraint   (Correct)

No context found.

Wand M. A Simple algorithm and proof for type inference. Fundamentae Informaticae, 1987;10:115-122.


Formal Verification of Algorithm W: The Monomorphic Case - Nazareth, Nipkow (1996)   (6 citations)  (Correct)

No context found.

M. Wand. A simple algorithm and proof for type inference. Fundementa Informaticae,


Aspects Theoriques Et Pratiques De L'inferences De Type Et Effets - Talpin (1993)   (Correct)

No context found.

Wand, M. A simple algorithm and proof for type inference. In Fundamenta Informaticae, volume 10, pages 115-122. North Holland, 1987.


Type Inference of SELF: Analysis of Objects with Dynamic and.. - Agesen (1995)   (38 citations)  (Correct)

No context found.

Mitchell Wand, `A simple algorithm and proof for type inference', Fundamentae Informaticae, X, 115--122 (1987).

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