25 citations found. Retrieving documents...
Puel, L. and Suarez, A. (1993). Compiling Pattern Matching by Term Decomposition. Journal of Symbolic Computation, 15(1):1--26.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

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

....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 cheaper heuristics. These works rather apply to the decision trees, with a primary focus on reducing code size. It is unclear to us how to combine column and row optimization in practice and whether this would yield ....

Puel, L., and Su arez, A. Compiling pattern matching by term decomposition. Journal of Symbolic Computation 15, 1 (Jan. 1993), 1-26.


Fast Parallel Implementation of Lazy Languages - The.. - Kaser, Pawagi.. (1992)   (5 citations)  (Correct)

....It takes three parameters: the expression to be translated, the name of the variable into which the value of the expression is to be stored (y) and extent. 8 Our current system does not handle prioritized patterns. It can be done using the techniques of Laville [Lav88] Puel and Suarez [PS90] and those in Sekar et al. SRR92] 8 Function f(context; x 1 ; xn ) Header for function f . Every function in the intermediate code takes a parameter named context. This parameter specifies (at runtime) the extent to which the output of (the current invocation of) a function needs to ....

L. Puel and A. Suarez, Compiling pattern matching by term decomposition, Lisp and Functional Programming, 1990.


A Framework for Lazy Parallel Evaluation of Equational.. - Sekar, Pawagi..   (Correct)

....branching programs (which properly includes strongly left sequential systems and is properly included in strongly sequential systems) and developed an implementation for such programs. Most programs in practice are strongly sequential [OD85] and those that are not, can usually be so transformed [Lav88, PS90, SRR92]. The normalization algorithms mentioned above are all sequential (since they search for and reduce only one needed redex at a time) and the design of an efficient algorithm for lazy parallel evaluation of equational programs has remained an interesting open problem. In this paper we address the ....

L. Puel and A. Suarez, Compiling Pattern Matching by Term Decomposition, Lisp and Functional Programming, 1990.


Programming in Equational Logic: Beyond Strong Sequentiality - Sekar, Ramakrishnan (1993)   (43 citations)  (Correct)

....the redexes in such a set. ffl The problem of determining whether a set of redexes is necessary is undecidable in general. 1 Even programs written in functional languages such as ML, HOPE and Miranda are typically orthogonal and those that are not can usually be so transformed (details appear in [Lav88, PS90, SRR92]) 2 or(T ; x) T or(x; T ) T or(F; F ) F B(T ; F; x) T B(F; x; T ) T B(x; T ; F ) T merge(x : xs; y : ys) x : y : merge(xs; ys) merge(x; nil) x merge(nil; y) y Figure 1: Parallel or, Berry s example and Merge. Therefore in section 5, we develop the notion of a ....

.... of results related to sequentiality appears in [KM89] Practical developments include the equational interpreter developed by Hoffman and O Donnell [HO84] and later enhanced by Strandh [Str89] and the parallel equational programming system developed by Owen et al. [OPRRS92] Several works such as [Lav88, PS90, SRR92] have also extended Huet Levy s work to deal with prioritized systems of equations. In the following section, we develop the technical results of this paper. 4 Complete Normalization Strategy We now formalize the concept of necessary sets and describe a complete normalization strategy based on ....

Laurence Puel and Ascander Suarez, Compiling Pattern Matching by Term Decomposition, Proceedings of the ACM Conference on Lisp and Functional Programming, 1990. 24


Adaptive Pattern Matching - Sekar, Ramesh (1992)   (9 citations)  (Correct)

....We present a quadratic time algorithm for computing representative sets in untyped systems whereas we show that computing these sets is NP complete for typed systems. ffl In section 4.2 we focus on the important problem of index computation in prioritized systems. Laville [18] Puel and Suarez [23] have extended Huet L evy s [14] index computation algorithm to deal with priorities. However, all these algorithms require exponential time in the worst case. In contrast, we show that indexes can be computed in polynomial time in the case of untyped systems. ffl We also show that index ....

....of any higher priority pattern. For typed systems, only those instances that observe the type discipline are generated. The transformed system is S l2L M l . Now the indices w.r.t. the prioritized patterns are identical to those w.r.t. the unprioritized set S l2L M l . Puel and Suarez [23] developed a compact representation for the sets M l based on the notion of constrained terms. A constrained term is of the form ftj g, where t is a term and is a constraint obtained by combining atomic constraints of the form s 1 6= s 2 using conjunction and disjunction. The semantics of ....

[Article contains additional citation context not shown here]

L. Puel and A. Suarez, Compiling Pattern Matching by Term Decomposition, Lisp and Functional Programming '90.


Regular Expression Pattern Matching for XML - Hosoya, Pierce (2000)   (51 citations)  (Correct)

....for a bound variable if and only if the variable can actually be bound to this value as a result of a successful match of a value from the input type. Previous papers on type inference for pattern matching have considered either recursion [MS99, PV00, Mur97] or the first matching policy [WC94, PS90] but, as far as we know, no papers have treated both. In summary, the main contributions of this work are: 1) the motivation and design of regular expression pattern matching; and (2) the algorithm for propagating types to pattern variables from the surrounding context. The rest of the paper ....

....for pattern matching [WC94] Their type system uses a restricted form of union types and their patterns do not involve recursion. A more precise comparison with our scheme is difficult, since the details of their handling of pattern matching are not presented in their paper. Puel and Su arez [PS90] develop a technique for pattern match compilation using what they call term decomposition. Although their goal is different from ours, the technique itself resembles our type propagation scheme. Their term decomposition calculates a precise representation of the set of input values that match ....

Laurence Puel and Asc'ander Su'arez. Compiling pattern matching by term decomposition. In 1990 ACM Conference on Lisp and Functional Programming, pages 272--281, June 1990.


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

....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 on ....

....in the input tree, requires few run time checks, whereas our technique performs a higher level optimization on patterns that should decrease the number of run time checks regardless of traversal order. We brie y discuss prospects for integrating the two in the next section. Puel and Su arez [PS90] develop a technique for pattern match compilation using what they call term decomposition. Although their goal is di erent from ours, the technique itself resembles our type propagation scheme. Their term decomposition calculates a precise representation of the set of input values that match ....

[Article contains additional citation context not shown here]

Laurence Puel and Ascander Suarez. Compiling pattern matching by term decomposition. In 1990 ACM Conference on Lisp and Functional Programming, pages 272-281, June 1990.


The Functional Strategy and Transitive Term Rewriting.. - Toyama, Smetsers, van .. (1993)   (11 citations)  (Correct)

.... have pursued studies of this reduction order with different Partially supported by grants from NWO, the Vrije Universiteit Amsterdam and the Katholieke Universiteit Nijmegen 1 Miranda TM is a trademark of Research Software Limited semantic transformations (Kennaway (1990) Laville (1987) Puel and Su arez (1990)) The language Clean is close to its underlying computational model (i.e. term graph rewriting (Barendregt et al. 1987) Therefore, it seems natural to define the functional strategy directly in the computational model rather than using a transformation to an equivalent system with a ....

Puel, L. and A. Su'arez (1990). Compiling pattern matching by term decomposition, Proc. of ACM conference on LISP and Functional Programming , pp. 273--281.


Fast Parallel Implementation of Lazy Languages -.. - Kaser, Pawagi.. (1992)   (5 citations)  (Correct)

....F : the top level code generator for a function. E : translates an expression. It takes three parameters: the expression to be translated, the name of the 8 Our current system does not handle prioritized patterns. It can be done using the techniques of Laville [Lav88] Puel and Suarez [PS90] and those in Sekar et al. SRR92] F [ f (x1 ; xn) e] Function f(context;x1 ; xn ) E [ e] y UNK; Return y E [ case x in (pm1 ; pmn ) Eval x to HNF at Remote; y extent Switch x P [ pm1 ] x y extent; P [ pmn ] x y extent E [ x] y extent = Eval x to ....

L. Puel and A. Suarez, Compiling pattern matching by term decomposition, LFP, 1990.


Disunification: a Survey - Comon (1991)   (35 citations)  (Correct)

....rule, we know that the first one cannot be applied. Hence, we have some knowledge about the ground terms on which the second rule should be tried : they are in the complement of the first left hand side. This is effectively used in, for example [Sch88a] Another kind of term complements is used in [Lav87, Lav88, PS90] in order to produce a non ambiguous set of patterns . ffl There are basically two kinds of applications of complement problems in logic programming. Both rely on the fact that the declarative semantics of a logic program is its least Herbrand model. First, it is possible to statically deduce ....

....to a complement problem. Indeed, the formula 8x : x 1 x 2 6= x 0 x 1 x 2 6= 0 x x 1 x 2 6= x x expresses the complement of [ x 0] 0 x] x x] s(s(0) i.e. the left hand sides of the rules) into [ x 1 x 2 ] Some complement problems are also studied in [PS90] with a slightly different definition. In their framework, a constant (ffl) plays a special role: its intended meaning is a non terminating evaluation (or a non evaluated term) Compiling (in an optimal way) pattern matching, taking care of possible looping evaluations, requires to solve another ....

[Article contains additional citation context not shown here]

Laurence Puel and Ascander Suarez. Compiling pattern matching by term decomposition. In Proc. Int. Conf. on LISP and Functional Programming, 1990.


Compiling Lazy Pattern Matching - Maranget (1992)   (2 citations)  (Correct)

....been solved in the case of non overlapping patterns by Huet and L evy [2] Given a set of (possibly) overlapping patterns, A. Laville [5] shows how to replace them, when possible, by an equivalent set of non overlapping patterns, compiled using Huet and L evy s technique. A. Su arez and L. Puel [8] translate the initial set of overlapping patterns into an equivalent set of constrained patterns, which are special patterns encoding the disambiguating rule of pattern matching on overlapping patterns. Then, they compile pattern matching on the constrained patterns with an extension of Huet ....

....prefix of the recognized value. Furthermore, a given subpart inside this prefix is never looked at twice. A correct automaton hence enjoy an optimal run time behavior: it performs a minimal number of tests on matched values. Correct automata also satisfy the other optimality property defined in [8]: they fail to produce a result only on the minimal set of the partial values that are not defined enough to match a clause in the initial set E (i.e. a correct automaton gives Omega as a result, if and only if the result of the matching by E is Omega Gamma The proof of partial correctness ....

[Article contains additional citation context not shown here]

L. Puel, A. Su'arez, "Compiling Pattern Matching by Term Decomposition". LFP'90.


Pattern Matching in Order-Sorted Languages - Kesner (1991)   (Correct)

....with no finite constructor normal forms) it is not clear what pattern matching means for lazy languages. For example, for a term to match a LHS term, the reduction scheme should be such that the only part of the term to be evaluated is the one required, in some sense. Recently, Puel and Suarez [10] devised a clever compilation scheme to generate statically a PMT in lazy languages. Such a tree is then used at run time for fast rule indexing and takes full advantage of the nature of the LHS terms in a definition. Their work simplified and generalized seminal ideas by Huet and Levy [7] that ....

....every PMT associated to S will fail to terminate and an optimal PMT is a PMT that will only fail to terminate on the strict set of S. We show that optimality of an order sorted PMT is a decidable property equivalent to a generalization of the notions of strong sequentiality presented in [7] and [10]. Sequentiality of a pattern matching problem S is the possibility of systematically expanding any term step by step until either it matches a pattern of S or it is clear that a positive 1 See [8] for a discussion of unification and matching in equational theories. May 1991 Digital PRL Pattern ....

[Article contains additional citation context not shown here]

Laurence Puel and Ascander Suarez. Compiling Pattern Matching by Term Decomposition. In 1990 ACM Conference on Lisp and Functional Programming. ACM Press. Also in PRL Research Report Number 4, Digital Equipment Corporation, Paris Research Laboratory (1990).


Free Sequentiality in Orthogonal Order-Sorted Rewriting Systems.. - Kesner (1992)   (2 citations)  (Correct)

....whose sort is a subsort of j. If t has to be matched with the term f(y) its head normal form will be required, whereas if it has to be matched with the term x j , only one step of reduction will be sufficient. We really take advantage in this way of a lazy evaluation mechanism. Puel and Su arez [PS90] devised a compilation scheme to statically generate pattern matching algorithms in languages with lazy evaluation. They define a notion of strong sequentiality for sets of terms restricted by structure constraints 1 . This sequentiality notion has been generalized in [Kes91] to sets of terms ....

....at position u and p=u p i =u. PMT s as defined here may be non deterministic, since different children of a given node are not necessary incompatible. This non determinism only happens because of sort directions, and it is one of the main differences with classical pattern matching trees [PS90]. Since we are interested in strong sort sequentiality, nodes of a PMT are also required to be well sorted. A PMT associated to a base L can also be seen as a non deterministic case expression, where each step of the tree is seen as a constraint to be satisfied by the term to be matched. The ....

Laurence Puel and Asc'ander Su'arez. Compiling Pattern Matching by Term Decomposition. In 1990 ACM Conference on Lisp and Functional Programming. ACM Press. Also in PRL Research Report Number 4, Digital Equipment Corporation, Paris Research Laboratory, 1990.


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

....one. To adapt Huet and L evy s work to programming practice, Laville [12] studied optimal compilation of ordered ambiguous pattern matches for lazy languages, relaxing the left right matching order. As far as we know, his algorithms have not been used in a practical compiler. Puel and Su arez [17] used constrained terms, similar to our term descriptions, instead of Laville s ordered patterns. An ordered collection of ambiguous patterns can be compiled into an unordered collection of unambiguous constrained patterns, from which one can construct a decision tree. Augustsson s top down, ....

L. Puel and A. Su'arez. Compiling pattern matching by term decomposition. Journal of Symbolic Computation, 15(1):1--26, January 1993.


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

....Laville s method is not complete, since it cannot treat the case of datatypes with in nite signatures (such as the type of integers) As a matter of fact, in presence of in nite signatures, Laville s equivalent set of non overlapping patterns can also be in nite. Following a similar idea, Puel and Su arez [1993] translate the initial set of overlapping patterns into an equivalent set of constrained patterns, which are special patterns encoding the disambiguating rule of pattern matching on overlapping patterns. Then, they compile the pattern matching on the constrained patterns with an extension of ....

....computation of the set of value vectors matching the rows of matrix (P ) Let M be this set. We have M = S m i=1 M i , where M i = f V j match i [ P ) V )g. In Laville [1991] the set M is described by its minimal generators, that is, by the subset of its least de ned elements. In Puel and Su arez [1993] each set M i is represented by a normalized constrained pattern that can be seen as the disjunctive normal form of the following characteristic proposition: X i (V 1 ; V 2 ; V n ) i 1 j=1 n k=1 p j k #V k ) n k=1 p i k V k ) Direct implementation of these two ....

[Article contains additional citation context not shown here]

Puel, L. and Su arez, A. 1993. Compiling pattern matching by term decomposition. Journal of Symbolic Computation 15, 1, 1-26.


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

....is not complete, since it cannot treat the case of datatypes with infinite signatures (such as the type of integers) As a matter of fact, in presence of infinite signatures, Laville s equivalent set of non overlapping patterns can also be infinite. Following a similar idea, Su arez and Puel [Puel and Su arez, 1990] translate the initial set of overlapping patterns into an equivalent set of constrained patterns, which are special patterns encoding the disambiguating rule of pattern matching on overlapping patterns. Then, they compile the pattern matching on the constrained patterns with an extension of ....

....the column indices in D max are called partial directions. Partial directions will be used later in section 6, in the process of not so incorrectly compiling pattern matching definition that cannot be compiled correctly. Previous approaches to lazy pattern matching compilation [Laville, 1991, Puel and Su arez, 1990] involve the explicit computation of the set of value vectors matching the rows of matrix (P ) Let M be this set. We have M = S m i=1 M i , where M i = f V j match i [ P ) V )g. In [Laville, 1991] the set M is described by its minimal generators, that is, by the subset of its least ....

[Article contains additional citation context not shown here]

L. Puel, A. Su'arez, "Compiling Pattern Matching by Term Decomposition ". Conference Lisp and Functional Programming 1990.


GAML: a Parallel Implementation of Lazy ML - Maranget (1991)   (13 citations)  (Correct)

....very close to lazy ML of INRIA Rocquencourt, BP 105, 78153 LE CHESNAY CEDEX, FRANCE. This work was partially funded by DRET under grant N o 8780814. Goteborg [3, 8] The syntax is actually closer to the one of CAML [14] Unlike LML, GAML implements lazy pattern matching as defined by [9, 12]. LML relies on a more classical left to right evaluation order of the discriminating expression [3] Lazy pattern matching, adapts the evaluation order to each set of patterns, guaranteeing termination whenever possible. GAML also has a simple module system which allows type safe separate ....

Laurence Puel, Asc'ander Su'arez, Compiling Pattern Matching by Term Decomposition, LFP'90.


A Parallel Functional Language Compiler for Message-Passing.. - Junaidu (1998)   (1 citation)  (Correct)

....Augustsson [Augu85] Wadler in [Peyt87] Cardelli [Card84] and the best fit pattern matching algorithm of Field [FiHa88] The algorithm on which our pattern matching compiler is based is an extension of the algorithm proposed by Wadler. Maranget [Mara94] as an extension of similar work [Lavi91, PuSu90, Mara92, SRR92, Kenn90] described two techniques for compiling lazy pattern matching. One of the schemes described is based on the pattern matching technique using backtracking automata adapted to the world of lazy pattern matching. These lazy pattern matching schemes, which adapt the evaluation ....

L Puel and A Su'arez, Compiling Pattern Matching by Term Decomposition. In Conf. on Lisp and Functional Programming, 1990.


Strong Sequentiality of Left-Linear Overlapping Rewrite Systems - Jouannaud, Sadfi (1994)   (10 citations)  (Correct)

....implementation of index reduction in the form of a matching dag which generalizes to trees the famous construction by Knuth, Morris and Pratt of an automaton for efficiently matching strings. Although Huet and Levy s framework was extended to several kinds of rewritings (priority rewriting [8], order sorted rewriting [5] head constructors systems [4] sufficient sequentiality [7] orthogonality could not be really removed until Toyama introduced left linear root balanced systems [9] The root balanced property together with left linearity ensure the Church Rosser property, hence it ....

Laurence Puel and Ascander Suarez. Compiling pattern matching by term decomposition. In Proc. Int. Conf. on LISP and Functional Programming, 1990.


Adaptive Pattern Matching - Sekar, Ramesh, Ramakrishnan (1992)   (9 citations)  (Correct)

....By tightly characterizing equivalence of states we directly build an optimal dag automaton. This important problem had remained open [4] even for left to right traversals. ffl In section 6 we focus on the important problem of index computation in prioritized systems. Laville [9] Puel and Suarez [11] have extended Huet Levy s [7] index computation algorithm to deal with priorities. However, these algorithms require exponential time in the worst case. In contrast, we present the first polynomial time algorithm for index computation in untyped systems. Furthermore, we also show that this ....

....index computation. For each pattern l, the transformation generates a set M l of its instances that are not instances of any higher priority pattern. For typed systems, only those instances that observe the type discipline are generated. The transformed system is S l2L M l . Puel and Suarez [11] developed a compact representation for the sets M l based on the notion of constrained terms. These are terms with constraints placed on the substitutions taken by the variables in them. For instance, the constrained term feq(x; y)j(x 6= a) y 6= b)g denotes the set of terms eq(t 1 ; t 2 ) with ....

L. Puel and A. Suarez, Compiling Pattern Matching by Term Decomposition, LFP '90.


The Zinc Experiment: An Economical Implementation Of The Ml Language - Leroy (1990)   (76 citations)  (Correct)

....some tests may be performed while they were not strictly necessary to recognize one of the cases. More sophisticated methods choose the ordering of tests in order to produce an optimal sequence of tests whenever possible, for instance the one of Laville [39, 40] or the one of Puel and Su arez [51]. This problem is crucial in the framework of lazy evaluation, since unnecessary tests may trigger the evaluation of parts of the arguments, which may not terminate; therefore, in some cases, non optimal pattern matching may fail to terminate, while optimal pattern matching would have succeeded. ....

....is that when we combine two partial matchings p 1 and p 2 into p 1 statichandle p 2 , the resulting matching can be total if the cases of p 1 and p 2 overlap correctly, but this overlapping is very hard to detect. More sophisticated frameworks, such as the constrained terms of Puel and Su arez [51], directly address this issue. Finally, here is the code that glues the pattern matching compiler to the first pass of the compiler: let translatematching failurecode casel = let rec makepath = function 0 [ n Lvar(n 1) makepath(n 1) in let (lambda, partial, unused) conquermatching ....

Laurence Puel, Asc'ander Su'arez. Compiling pattern matching by term decomposition. Research report 4, DEC Paris Research Laboratory, 1989.


A Typed Pattern Calculus - Kesner, Puel, Tannen (1996)   (1 citation)  Self-citation (Puel)   (Correct)

.... a very attractive feature that accounts for much of the popularity of functional languages such as Hope [4, 7] SML [18] Miranda [24] Caml Light [17] and Haskell [11] So far only those aspects of pattern matching that fit in the framework of first order rewrite systems have been studied (e.g. [12, 22]) We find it desirable to understand pattern constructs as well as we now understand Algol like and functional programming constructs. A crucial role in understanding these has been played by the lambda calculus and its various type disciplines. We propose a corresponding calculus that models ....

L. Puel and A. Su'arez. Compiling Pattern Matching by Term Decomposition. Journal of Symbolic Computation, 15(1), January 1993.


Dependently Typed Pattern Matching - Hongwei Xi Computer (2003)   (1 citation)  (Correct)

No context found.

Puel, L. and Suarez, A. (1993). Compiling Pattern Matching by Term Decomposition. Journal of Symbolic Computation, 15(1):1--26.


Dependently Typed Pattern Matching - Xi (2003)   (1 citation)  (Correct)

No context found.

Puel, L. and A. Suarez (1993). Compiling Pattern Matching by Term Decomposition. Journal of Symbolic Computation 15(1), 1--26.


The Coq Proof Assistant - Reference Manual Version 6.1 - Barras, Boutin, Cornes.. (1997)   (21 citations)  (Correct)

No context found.

L.Puel and A. Su'arez. Compiling Pattern Matching by Term Decomposition. In Conference Lisp and Functional Programming, ACM. Springer-Verlag, 1990.

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