| L. Rideau and L. Thery. Interactive programming environment for ML. Technical Report 3139, INRIA, 1997. |
....algorithm is used to record all instantiations of type variables [15] The approach is similar to that used by Wand[59] to identify the sources of type errors. Other systems use similar uni cation algorithms to give type inference explanation, for example Rideau and Thery s programming environment[47]. 8 9 7; 8 9 7; int why; 1. 8 9 7 is int why 1; 2. 8 is int 3. is int int int 4. 9 7 is int why 4; 5. 9 is int 6. is int int int 7. 7 is int why 2; 8. 8 is int(ground value) Figure 2.6: Soosaipillai s type inference explanation The system uses the essentially ....
....The textual explanations have so much information that they become wordy and di use. Experts usually nd this explanation too detailed to be of real help, though they can nd valuable information about the di erent positions in the programs that contribute to the type given by such systems [47]. Finally, the explanations are not source based, using text generated from the abstract syntax tree, rather than the original program text. In many language implementations, a program is converted to a simpler core representation prior to type checking, which bears little relationship to the ....
[Article contains additional citation context not shown here]
L. Rideau and L. Thery. Interactive programming environment for ML. Technical Report 3139, INRIA, 1997.
....algorithm is used to record all instantiations of type variables [24] The approach is similar to that used by Wand[25] to identify the sources of type errors. Other systems use similar unification algorithms to give type inference explanation, for example Rideau and Thery s programming environment[26]. The system uses the essentially unchanged W algorithm to walk over the abstract syntax tree for a program collecting equality constraints on the types of the program variables. The modified unification algorithm solves the equality constraints and collect the explanations. Like other ....
....The textual explanations have so much information that they become wordy and diffuse. Experts usually find this explanation too detailed to be of real help, though they can find valuable information about the different positions in the programs that contribute to the type given by such systems [26]. Finally, the explanations are not source based, tending to use text generated from the abstract syntax tree rather than the original program text. In many language implementations, a program is converted to a simpler core representation prior to type checking, which bears little relationship ....
Rideau, L. and Thery, L. (1997) Interactive programming environment for ML. Technical Report 3139, INRIA.
....Kwangkeun Yi proved that M will always fail sooner than W (it looks at less of the program to find an inconsistency) LY98] This means that it has a greater chance of announcing the location where a mistake was actually made. 3. 3 Changes to the User Interface Laurence Rideau and Laurent Therey [RT97] have written an interactive programming environment for SML and CamlLight. This includes a syntax editor which type checks programs as they are written. Built into the type checker is Wand style error location, and Duggan style type explanation. These are integrated into the editor so that the ....
Laurence Rideau and Laurent Thery. Interactive Programming Environment for ML. Technical Report 3139, Inria, Domaine de Voluceau, Rocquencourt - B.P. 105, 78153 Le Chesnay Cedex, France, March 1997.
.... tool to merge the two passes into a program that produces the same output without producing any intermediary data, following a deforestation technique [Wad88] Here again, the partial evaluator could easily be written once and for all, using a formal description of the caml language, as found in [RT97] 1 By isyntacticallyj we mean that the constraints are only context free constraints. RR n# 3540 8 Yves Bertot 3.2.3 State update The CtCoq user interface must display a clear view of the Coq process state. As a result, data must be duplicated between the logical engine and the ....
Laurence Rideau and Laurent Th#ry. Interactive programming environment for ml. Rapport de Recherche RR-3139, INRIA, March 1997.
....algorithm is used to record all instantiations of type variables [5] The approach is similar to that used by Wand[20] to identify the sources of type errors. Other systems use similar unification algorithms to give type inference explanation, for example Rideau and Thery s programming environment[15]. The system uses the essentially unchanged W algorithm to walk over the abstract syntax tree for a program collecting equality constraints on the types of the program variables. The modified unification algorithm solves the equality constraints and collect the explanations. Like other ....
....The textual explanations have so much information that they become wordy and diffuse. Experts usually find this explanation too detailed to be of real help, though they can find valuable information about the different positions in the programs that contribute to the type given by such systems [15]. 18 Finally, the explanations are not source based, using text generated from the abstract syntax tree, rather than the original program text. In many language implementations, a program is converted to a simpler core representation prior to type checking, which bears little relationship to ....
Rideau, L. and Thery, L.. Interactive programming environment for ML. Technical Report 3139, INRIA, 1997.
....of the text file. Recently, two editors have become available which attempt to provide advanced programming support. MLWorks [Har1996] provides an integrated environment for Standard ML that incorporates debugging facilities, profiling and offers a graphical view of structured SML items. CtCaml [Rideau Th ery, 1997] is a structure editor for CamlLight [Leroy, 1995] designed using the Centaur [Aikins, 1980] 8 framework. As well as structure editing facilities, CtCaml provides more advanced features such as the highlighting of type errors and type explanations. However, these environments have somewhat ....
....is based on syntax rather than semantics. CtCaml incorporates the type explanation algorithms of [Duggan Bent, 1996] These provide an alternative way of improving type error feedback but the explanations produced tend to be lengthy and difficult and their worth is yet to be realized cf. [Rideau Th ery, 1997], On the one hand it [type explanation] appears to be too complex a tool for being used by a ML newcomer. On the other hand, experts usually find the explanation too detailed to be of real help. 2.4 Scope C Y NTHIA supports a functional subset of Core ML. The main exclusions are ....
Rideau, L. and Th'ery, L. (March 1997). An interactive programming environment for ML. Rapport de Recherche 3139, INRIA Sophia Antipolis.
....general programming, however, is that it does not take into account that programmers often work from scratch and it is not until the program is almost finished that it is suitable for type checking. Rideau and Th ery describe a syntax editor for general programming (not a pedagogic tool) in ML in [RT97]. Types play an important part in the programming environment. The environment can explain type errors, by highlighting the parts of the program which conflict. There is also an explanation facility based on a system for producing natural language explanations from proofs. The explanations look ....
.... Initially time was spent investigating the state of the art: the classical results by Milner and Damas ( DM82] Mil78] Dam85] more novel forms of type inference ( LY98] BS95] and work related to mine (in explanation ( DB96] BS93] debugging ( Rit93] and programming environments ([RT97], WBL97] In addition to studying related material, I have produced two technical reports and am working on a third paper which I hope to submit to a conference. 5.1 Symmetric type inference One problem with Damas s algorithm W is that the point at which type inference fails is often not the ....
Laurence Rideau and Laurent Th'ery. Interactive programming environment for ML. Technical Report 3139, Inria, March 1997.
....an induction rule encapsulates the kind of recursion. This means that information is localised rather than being spread across the grammar. No ML editors have been produced using attribute grammars. A couple of other ML editors have recently become available, however. MLWorks [5] and CtCaml [11] have different objectives than C Y NTHIA. MLWorks is an integrated environment for ML with no structure editing facilities or advanced correctnesschecking. CtCaml is a structure editor for ML. Its structure editing is primitive, however, in contrast to C Y NTHIA s specially designed commands. C ....
L. Rideau and L. Th'ery. An interactive programming environment for ML. Rapport de Recherche 3139, INRIA Sophia Antipolis, March 1997.
....the possibility of error in such soundness checking. Attribute grammars were mentioned in x3.1 as an alternative framework for designing editors. No ML editors have been produced using attribute grammars. A couple of other ML editors have recently become available, however. MLWorks [5] and CtCaml [13] have different objectives than C Y NTHIA. MLWorks is an integrated environment for ML with no structure editing facilities or advanced correctness checking. CtCaml is a structure editor for another dialect of ML. Its structure editing is primitive, however, in contrast to C Y NTHIA s ....
L. Rideau and L. Thery. An interactive programming environment for ML. Rapport de Recherche 3139, INRIA Sophia Antipolis, March 1997.
....the two algorithms, which may help in situations where it is hard to find the cause of the type error. The two algorithms will always stop at different expressions reporting different causes of the type problem. Already, a combination of a variant of M with W is being implemented in practice [Rideau and Th ery 1997]. A compiler can also mix the two algorithms on the fly, choosing one algorithm against the other, depending on the current subexpression to type check. For example, when type checking the definitions of recursive functions the compiler may switch to algorithm M, because it generates a better type ....
....15 Our formalization enables us to see clearly that algorithm M can unobtrusively adapt the existing techniques of generating informative type error messages, which were developed with Algorithm W in mind. The techniques of Wand [1986] Beaven and Stansifer [1993] Duggan and Bent [1996] and Rideau and Th ery [1997] essentially record the history of the type instantiations (unifications) in the resulting substitutions. Because the type instantiation in M is via the same standard unification algorithm, these approaches can be directly used in M. For the same reason, inferring the types of free variables ....
Rideau, L. and Th' ery, L. 1997. Interactive programming environment for ML. Tech. Rep. 3139, Institut National de Recherche en Informatique et en Automatique. March.
....checking decisions, focusing on function applications as the loci of type errors. He notes that type errors arise when constructs with inconsistent types are combined in an application, and seeks to find the source by further analysing the type derivations for those constructs. Rideau and Thery[RT97] provide support for type explanation in a CAML implementation using techniques derived from Wand and from Bent and Duggan. Rittri[Rit93] suggests a modification to Wand s approach where the user interactively identifies those parts of a type which are deemed surprising and in need of further ....
L. Rideau and L. Thery. Interactive programming environment for ML. Technical Report 3139, INRIA, March 1997.
No context found.
L. Rideau and L. Th'ery. An interactive programming environment for ML. Rapport de Recherche 3139, INRIA Sophia Antipolis, March 1997.
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