7 citations found. Retrieving documents...
Baudinet, M., and MacQueen, D. Tree pattern matching for ML,. unpublished paper, Dec. 1985.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Optimizing Pattern Matching - Le Fessant, Maranget (2001)   (2 citations)  (Correct)

....can be characterized as column optimization , while our approach would rather be row optimization . Since choosing the best column is thought to be NP complete (to our knowledge, there is no published proof) most approaches describe heuristics. A typical and early work on such heuristics is [2], a more recent and thorough study is [16] Another, related in practice, approach relies on sequentiality theory to identify directions that are columns that must be tested by all possible matchers [10, 15, 17, 13] However, computing directions is expansive, and one can consider relying on ....

Baudinet, M., and MacQueen, D. Tree pattern matching for ML,. unpublished paper, Dec. 1985.


Tree Automata and Pattern Matching - Hosoya, Pierce (2000)   (Correct)

....match and yield the same bindings. 6.2 Theorem [Soundness of Optimization] If A . D ) E and t 2 A, then 1. t 2 D i t 2 E; and 2. for all x, we have t 2 D ) x; u) i t 2 E ) x; u) 13 7 Related Work The pattern match compilation techniques used in functional language compilers [BM85, PS90, Aug85, Wad87, Ler91, Mar94] are complementary to our pattern optimization technique. The goal of pattern match compilers is to generate lower level code for a good order of traversal in the input tree, requires few run time checks, whereas our technique performs a higher level optimization ....

....is recursive patterns, for which existing techniques for pattern match compilation would simply loop. Another issue is how our type inference or optimization may assist standard optimizations, or vice versa. There are two conventional approaches to pattern match compilation: simple decision trees [BM85, PS90] and decision trees with back tracking [Aug85, Wad87, Ler91] It appears that the rst approach cannot make e ective use of our optimization, while the second may be able to. However, since the wild cards introduced by our optimization could interact with the heuristics used in pattern ....

Marianne Baudinet and David MacQueen. Tree pattern matching for ML. unpublished paper, December 1985.


Unlimp - Uniqueness as a Leitmotiv for Implementation - Kahrs (1992)   (7 citations)  (Correct)

....the same (an ff congruent) abstraction would find this compilation result, avoiding a superfluous recompilation. One could even give a pattern a value: the code to match it; this would not only guarantee to avoid recompilation of patterns, it might also ease the task of creating a decision tree[1] for pattern matching compilation. 6 Dealing with Side Effects Occasionally, the effect of memoization is unwanted, particularly in the presence of side effects of various kinds, e.g. assignment and I O, or in an interpreter a change of the rule base. To allow this in an Unlimp framework, ....

Marianne Baudinet and David MacQueen. Tree pattern matching for ML. In Conference on Functional Programming Languages and Computer Architecture, 1987. LNCS 274.


ML pattern match compilation and partial evaluation - Sestoft (1996)   (5 citations)  (Correct)

....not optimal for strict languages, in which subterms may be tested in any order without compromising termination. Even so, the technique is being used successfully in e.g. the Caml Light system [13] which shows that the generated matchers are efficient enough in practice. Baudinet and MacQueen [2] studied match compilation for Standard ML. Their goal was to construct as compact a decision tree as possible; according to the paper, this also generally minimizes the number of tests performed at runtime. Example 4 above shows that their method indeed may produce a more compact and efficient ....

M. Baudinet and D. MacQueen. Tree pattern matching for ML (extended abstract) . Draft paper, AT&T Bell Laboratories, 1985.


Two Techniques for Compiling Lazy Pattern Matching - Maranget (1994)   (6 citations)  (Correct)

....programs [Maranget 1992a; Sekar, Ramesh, and Ramakrishnan 1992] This drawback is particularly annoying when one thinks of integrating the C pattern matching compilation scheme in an operational ML compiler. One has to notice though, that compilers as mature as SML NJ [Appel and MacQueen 1991; Baudinet and MacQueen 1986] and Caml V3.1 [Weis 1990] use a similar compilation technique. Nevertheless, there already exists a di erent kind of automata for implementing pattern matching, such automata are the targets of the LML [Augustsson 1985] and Caml Light [Leroy 1995; Leroy 1990] compilers. One salient feature of ....

.... to rst minimize the number of variables in the selected columns (in an attempt to avoid row duplication) and then, if necessary, to minimize the number of di erent root constructors (in an attempt to locally minimize automaton breadth) Similar heuristics (and their limitations) are described by Baudinet and MacQueen [1986] and by Sekar, Ramesh, and Ramakrishnan [1992] In the D based algorithm, the number of transitions between variable and non variable patterns is minimized (in an attempt to locally minimize control transfer possibilities) The same heuristics apply to select one direction, when matrix (P ) admits ....

Baudinet, M. and MacQueen, D. B. 1986. Tree pattern matching for ML. Available electonically at ftp://ftp.princeton.edu/dist/ml/papers/85-note-baudinet.ps.


A Standard ML Compiler - Appel, MacQueen (1987)   (50 citations)  Self-citation (Macqueen)   (Correct)

....cons(4,nil) matches the third pattern, while the argument (true, cons(4,nil) matches the second pattern. One could imagine a naive compilation of matches just by testing the rules in turn as called for by the semantics. Our approach is to transform a sequence of patterns into a decision tree[16]. Each internal node of the decision tree corresponds to a matching test and each branch is labeled with one of the possible results of the matching test and with a list of the patterns that remain potential candidates in that case. It is then straightforward to translate the decision tree into ....

....constructing the decision tree is simply to minimize the total number of test nodes. This minimizes the size of the generated code and also generally reduces the number of tests performed on value terms. However, finding the decision tree with the minimum number of nodes is an NP complete problem[16]; so a set of efficient heuristics is used that in practice produces an optimal decision tree in almost all cases. In the example above, testing the first component of the pair for truth or falsity suffices to distinguish the second rule from the others; then testing the second component to see ....

Marianne Baudinet and David MacQueen, Tree Pattern Matching for ML, 1986.


The ML Kit - Version 1 - Birkedal, Rothwell, al. (1993)   (3 citations)  (Correct)

No context found.

Marianne Baudinet and David MacQueen. Tree pattern matching for ML. Extended abstract, December 1985.

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