5 citations found. Retrieving documents...
Bruce J. McAdam. On the Uni cation of Substitutions in Type Inference. In Kevin Hammond, Anthony J. T. Davie, and Chris Clack, editors, Implementation of Functional Languages (IFL'98), London, UK, volume 1595 of LNCS, pages 139-154. Springer-Verlag, September 1998.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Improving Polymorphic Type Explanations - Yang (2001)   (Correct)

....to know which parts contribute to the type error. 2.6 Inference algorithm error reporting vs. Manifesto We classify algorithms like W and M which have been designed primarily to analyze programs eciently as inference algorithms. There are similar algorithms devised to improve error reporting [30, 31]. Used in examples, is the W algorithm implemented in Standard ML of New Jersey, Version 110.0.6, October 31, 1999 [37] and my own implementation of the M algorithm based on [29] A suite of 16 type error examples are used as a basis for comparing error reports generated by di erent algorithms ....

....algorithms are de ned and implemented with this philosophy: the Uni cation of Assumption Environments ( UAE) and the Improved Error Inference ( IEI) 4. 1 Type error reporting in W and M algorithm Debugging type errors in programs written in polymorphic languages with type inference is hard [6, 31, 49, 59]. In particular, type error messages are often hard to understand. One reason is that much type information is implicit and is inferred by the compiler. Another reason is that the program point where the error is reported may not be the spot that is at fault. This happens because type inference ....

Bruce J. McAdam. On the Uni cation of Substitutions in Type Inference. In Kevin Hammond, Anthony J. T. Davie, and Chris Clack, editors, Implementation of Functional Languages (IFL'98), London, UK, volume 1595 of LNCS, pages 139-154. Springer-Verlag, September 1998.


Typeview: A Tool for Understanding Type Errors - Chitil, Huch, Simon (2000)   (3 citations)  (Correct)

....like W in [LY98] use a left to right, bottom up traversal trough the syntax tree, they produce errors that depend on the structure of the program. They report the rst inconsistent application which is often not the source of the error. To alleviate the in uence of traversal order, McAdams [McA98] and Wand [Wan86] infer all branches of a node separately and unify the substitutions (the result of type inference) Other approaches collect all type information for each identi er and unify these at the point where the variable is de ned [BS95, Jun99] This is close to how our tool works. In ....

B. McAdam. On the unication of substitutions in type inference. In LNCS 1595, IFL '98, James Clerk Maxwell Building, The Kings Buildings, Mayeld Road, Edinburgh, UK, March 1998. The University of Edinburgh.


Improving Type-Error Messages in Functional Languages - Heeren, Jeuring.. (2001)   (4 citations)  (Correct)

....Aiken et al. 2] show how to perform a constraint based program analysis in a type inference algorithm for the lambda calculus without polymorphism. Gandhe et al. 7] discuss corrections of ill typed expressions using constraints on types; their system however can not handle polymorphism. McAdam [9] discusses the use of uni cation and substitution in conventional 2 inference algorithms which have a left to right bias. To solve this bias, a modi cation of the inference algorithm proposed by Hindley Milner is suggested that uni es substitutions instead of types. In a di erent paper, McAdam ....

Bruce J. McAdam. On the Unication of Substitutions in Type Inference. In Kevin Hammond, Anthony J.T. Davie, and Chris Clack, editors, Implementation of Functional Languages (IFL '98), London, UK, volume 1595 of LNCS, pages 139-154. SpringerVerlag, September 1998.


Improved Type Error Reporting - Yang, Michaelson, Trinder, Wells (2000)   (2 citations)  (Correct)

....error reports. We de ne a manifesto for good error reports and use it to evaluate both the traditional algorithms, and several improved algorithms, including two of our own devising. 1 Introduction Debugging type errors in programs written in polymorphic languages with type inference is hard [13, 7]. One reason is that much type information is implicit inferred by the compiler. An error occurs in type inference when two uses of a program variable are found to be in con ict, where each use occurs in some program text that we call a site. These concepts are best illustrated with an example. ....

....However it is unclear how accurate such slices will be in practice. 4.3 Error Reporting Systems vs. Manifesto Wand s system is selected as a typical model based on the W algorithm, using a modi ed uni cation algorithm to generate the explanation. Later work such as Duggan and Bent [4] and McAdam [7] is similar in using modi ed uni cation algorithm to report or explain error. The open system is not included in our evaluation because it is user driven type debugging, rather than error reporting. Also we do not include the work of Dinesh and Tip [3] because it is di erent from type inference. ....

Bruce J. McAdam. On the Unication of Substitutions in Type Inference. In Kevin Hammond, Anthony J. T. Davie, and Chris Clack, editors, Implementation of Functional Languages (IFL'98), London, UK, volume 1595 of LNCS, pages 139-154. Springer-Verlag, September 1998.


Explaining Type Errors by Finding the Sources of Type Conflicts - Yang (1999)   (7 citations)  (Correct)

....may not be the place where the type error actually originated. The source of a type error may be far from where it is detected. This is because type checking is processed from left to right and the context is re ned by the previous type checking processes . This is called left to right bias [1]. For example, after type checking fn arg ) if arg then 3 else arg 3 NJ SML 110 reports the whole if expression as the problem area Figure 1. The error is the type con icts between the monomorphic usages of arg in two sites, the rst has type bool , the second has function type int int. Even ....

....or constants. But they cannot point out type con icts between constants. Sometimes the result type of an expression depends on the types of constants. In the following example, the source of the type inconsistency comes from the use of the two underlined constants 1 and the constant 0.0. fun m f [1] = 1] j m f nil = nil j m f (h: t) if (h 0.0) then (f h) m f t) else m f t We also wish to develop a canonical set of test examples, that will be used for the comparative evaluation of type explanation systems. 6 Acknowledgements I am grateful to Greg Michaelson and Phil Trinder for ....

[Article contains additional citation context not shown here]

Bruce J. McAdam. On the unication of substitutions in type-inference. Technical Report ECS-LFCS-98-384, Department of Computer Science The University of Edinburgh, James Clerk Maxwell Building, The Kings Buildings. 1998.

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