| S. Antoy. Constructor-based conditional narrowing. In Proc. of the 3rd International Conference on Principles and Practice of Declarative Programming (PPDP'01), pages 199--206, Florence, Italy, Sept. 2001. ACM. |
....partially supported by CICYT TIC 2001 2705 C03 01, by Acci on Integrada Hispano Alemana HA2001 0059, by Acc. Int. Hispano Austriaca HU2001 0019, by Acc. Int. Hispano Italiana HI2000 0161, and by the DFG under grant Ha 2457 1 2. important if one wants to reason about costs of computations (see [5] for a discussion about narrowing strategies and calculi) 13] contains an operational semantics for a lazy narrowing strategy but it addresses neither concurrency nor aspects of search strategies. In order to provide theoretical foundations for reasoning about programs, correctness of ....
....form [11] The syntax for programs in Although Curry allows rules with conditions, we will only consider unconditional rules for the sake of simplicity. This is not a real restriction since conditional rules can be translated into unconditional ones by the introduction of auxiliary functions, see [5]. at form can be summarized as follows: P : D 1 : Dm e : x (variable) D : f(x 1 ; x n ) e j c(e 1 ; e n ) constructor call) j f(e 1 ; e n ) function call) p : c(x 1 ; x n ) j case e of fp 1 e 1 ; p n e n g (rigid case) j fcase e of ....
[Article contains additional citation context not shown here]
S. Antoy. Constructor-based Conditional Narrowing. In Proc. of the 3rd International ACM SIGPLAN Conference on Principles and Practice of Declarative Programming (PPDP 2001.
....HI2000 0161, and by the DFG under grant Ha 2457 1 2. c #2002 Published by Elsevier Science B. V. on a narrowing calculus [10] which does not include a particular patternmatching strategy. However, the latter becomes important, e.g. if one wants to reason about costs of computations (see [4] for a discussion about narrowing strategies and calculi) In order to define an appropriate basis for reasoning about programs, correctness of implementations, optimizations, or costs of computations, we provide a semantic description covering the important aspects of current functional logic ....
....intended to be instantiated by constraints in conditions or right hand sides. For instance, they are usually introduced in Curry programs by a declaration of the form: let x free in . We write o n for the sequence of objects o 1 , o n and (f)case for either fcase or case. 4 As Antoy [4] pointed out, the use of extra variables in a functional logic language causes no conceptual problem if these extra variables are renamed whenever a rule is applied. We will model this renaming similar to the renaming of local variables in let bindings. For this purpose, we assume that all extra ....
S. Antoy. Constructor-based Conditional Narrowing. In Proc. of the 3rd International ACM SIGPLAN Conference on Principles and Practice of Declarative Programming (PPDP 2001.
....language Toy [18] is based on narrowing and sharing (without concurrency) but the formal definition is based on a narrowing calculus [10] which does not include a particular pattern matching strategy. However, the latter becomes important if one wants to reason about costs of computations (see [4] for a discussion about narrowing strategies and calculi) 14] contains an operational semantics for a lazy narrowing strategy but it addresses neither concurrency nor aspects of search strategies. In order to provide an appropriate basis for reasoning about programs, correctness of ....
....[6] Extra variables are those variables in a rule which do not occur in the lefthand side. Such extra variables are intended to be instantiated by constraints in conditions or right hand sides. They are usually introduced in Curry programs by a declaration of the form let x free in. As Antoy [4] pointed out, the use of extra variables in a functional logic language causes no conceptual problem if these extra variables are renamed whenever a rule is applied. We will model this renaming similar to the renaming of local variables in let bindings. For this purpose, we assume that all extra ....
S. Antoy. Constructor-based Conditional Narrowing. In Proc. of PPDP 2001, pages 199--206. ACM Press, 2001.
....language Toy [16] is based on narrowing and sharing (without concurrency) but the formal definition is based on a narrowing calculus [9] which does not include a particular pattern matching strategy. However, the latter becomes important if one wants to reason about costs of computations (see [6] for a discussion about narrowing strategies and calculi) 13] contains an operational semantics for a lazy narrowing strategy but it addresses neither concurrency nor aspects of search strategies. This work has been partially supported by CICYT TIC 2001 2705 C03 01, by Accion Integrada ....
....source programs can be automatically Although Curry allows rules with conditions, we will only consider unconditional rules for the sake of simplicity. This is not a real restriction since conditional rules can be translated into unconditional ones by the introduction of auxiliary functions, see [6]. translated into this flat form [11] The syntax for programs in flat form can be summarized as follows: P : D 1 . Dm D : f(x 1 , x n ) e e : x (variable) c(e 1 , e n ) constructor call) f(e 1 , e n ) function call) case e of (rigid ....
[Article contains additional citation context not shown here]
S. Antoy. Constructor-based Conditional Narrowing. In Proc. of the 3rd International ACM SIGPLAN Conference on Principles and Practice of Declarative Programming (PPDP 2001), pages 199--206. ACM Press, 2001.
....in e 1 , e n , e. A case Although Curry allows rules with conditions, we will only consider unconditional rules for the sake of simplicity. This is not a real restriction since conditional rules can be translated into unconditional ones by the introduction of auxiliary functions, see [5]. P : D 1 . Dm D : f(x 1 , x n ) e e : x (variable) c(e 1 , e n ) constructor application) f(e 1 , e n ) function application) case e of (rigid case) fcase e of (flexible case) e 1 or e 2 (disjunction) let x 1 = e 1 , ....
S. Antoy. Constructor-based Conditional Narrowing. In Proc. of the 3rd International ACM SIGPLAN Conference on Principles and Practice of Declarative Programming (PPDP 2001.
No context found.
S. Antoy. Constructor-based conditional narrowing. In Proc. of the 3rd International Conference on Principles and Practice of Declarative Programming (PPDP'01), pages 199--206, Florence, Italy, Sept. 2001. ACM.
No context found.
S. Antoy. Constructor-based conditional narrowing. In Principles and Practice of Declarative Programming, (PPDP'01), Sept. 2001. (In this volume).
....the rewrite rules. Rather they look at the outermost redexes of term. They are complete for the same class for which WNR is complete. It is easy to see on simple examples that these strategies may evaluate more redexes than WNR does. Another strategy not directly based on demandness is defined in [5]. This strategy is important because it is the first complete narrowing strategy for the 41 whole class of the conditional constructor based rewrite systems. The strategy is implicitly defined by a transformation that allows the application of [4] 3 Conclusion This paper recalls some ....
S. Antoy. Constructor-based conditional narrowing. In Proc. of the 3rd International Conference on Principles and Practice of Declarative Programming (PPDP'01), pages 199--206, Florence, Italy, Sept. 2001. ACM.
....If all the steps of a computation are residuating, the computation ounders. 5. THE COMPILATION PROCESS The main motivation of this new implementation of narrowing is to provide a generic back end that can be used by functional logic languages based on a lazy evaluation strategy. Current work [6] shows that any narrowing computation in a left linear constructor based conditional rewrite system can be simulated, with little or no loss of eciency, in an overlapping inductively sequential rewrite system, hence by our implementation. Therefore, our implementation can be used by languages such ....
S. Antoy. Constructor-based conditional narrowing. In Principles and Practice of Declarative Programming, (PPDP'01), Sept. 2001. (In this volume).
....of reduction steps of a computation is weakly correlated to its execution time. Nevertheless, we count the number of steps [2, Def. 1] of a computation, since the computation of all cost criteria in this work is based on steps. 1 Without loss of generality, we consider only unconditional rules [5]. Most cost analysis techniques in the literature are proposed for deterministic computations. Non deterministic computations in functional logic programming are a relatively newer concept, and introduce signi cant theoretical and practical complications. To ensure operational completeness, ....
....of execution time saved by the technique. Table 4. Runtime (msec. and memory usage (bytes) for 24 instances. regular program rst technique problem Runtime G. stack L. stack Runtime G. stack L. stack Speedup [2,3,6,8] 66 2596 932 48 2800 1100 27 [2,3,4,9] 94 2632 860 52 2836 972 45 [3,4,5,8] 65 2476 868 27 2680 1036 58 [1,2,6,8] 64 2812 868 36 2816 980 44 [4,6,8,9] 38 2416 832 19 2620 1000 50 Average 65 2586 872 36 2750 1017 44 Our second example is a parser that takes a string representing a parenthesized arithmetic expression and returns a parse tree of the input. Our ....
S. Antoy. Constructor-based conditional narrowing. In Proc. of 3rd Int'l Conf. on Principles and Practice of Declarative Programming (PPDP'01). Springer LNCS, 2001. To appear.
No context found.
S. Antoy. Constructor-based conditional narrowing. In Proc. of the 3rd International Conference on Principles and Practice of Declarative Programming (PPDP'01), pages 199--206, Florence, Italy, Sept. 2001. ACM.
No context found.
S. Antoy. Constructor-based Conditional Narrowing. In Proc. of PPDP 2001, pages 199-206. ACM Press, 2001.
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