44 citations found. Retrieving documents...
) Hanus M. and Prehofer C., "Higher-Order Narrowing with Definitional Trees," Journal of Functional Programming, 9, 1, pp. 33--75, 1999.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Higher-Order Substitution Tree Indexing - Pientka (2003)   (1 citation)  (Correct)

....to all distinct bound variables. This eliminates any computationally expensive checks involving bound variables. This observation to restrict higher order patterns even further to patterns where existential variables must be applied to all bound variables has also been made by Hanus and Prehofer [5] in the context of higher order functional logic programming. While Hanus and Prehofer syntactically disallow terms which are not fully applied, we translate any term into a linear higherorder pattern together with some variable definitions. Any consistency checks are delayed after linear ....

Michael Hanus and Christian Prehofer. Higher-order narrowing with definitional trees. Journal of Functional Programming, 9(1):33-75, 1999.


A Debugging Scheme for Functional Logic Programs - Alpuente, Correa, Falaschi (2002)   (1 citation)  (Correct)

....eager (innermost narrowing) or lazy (outermost narrowing) We also corrected some misprints and clarified a number of points w.r.t the previous version. We show how our methodology extends to optimal evaluation strategies such as needed narrowing by using Hanus and Prehofer s transformation in [36], which compiles rules into case expressions . Our prototype debugging system Buggy has been extended as to work with the di#erent instances of the framework discussed in this paper, which we illustrate by adequate examples. The implementation is endowed with preliminary inductive learning ....

....i.e. typical functional programs. A precise definition of this class of programs and the needed narrowing strategy is based on the notion of a definitional tree [10] Needed narrowing can be easily and e#ciently implemented by translating definitional trees into case expressions as proposed in [36], which also proves that there is a strong equivalence of needed narrowing derivations in the original program and leftmost outermost narrowing derivations in the transformed program. A similar transformation is presented in [50] where inductively sequential programs are translated to uniform ....

[Article contains additional citation context not shown here]

M. Hanus and C. Prehofer. Higher-Order Narrowing with Definitional Trees. Journal of Functional Programming, 9(1):33--75, 1999. Preliminary version in Proc. RTA'96, pages 138-152. Springer LNCS 1103.


A Partial Evaluation Tool for Multi-Paradigm Declarative Languages - Vidal (2002)   (Correct)

.... problem, a promising approach successfully applied in other contexts (e.g. 11] 17] 28] is to consider programs written in an intermediate programming language with a simple operational semantics (and to automatically translate sourcelevel programs into this intermediate language) Recently, [21] introduced such a simplified representation for functional logic programs [7] In the following, we present an extension of this intermediate representation which covers all the facilities of the language. The syntax of the resulting representation is depicted in Figure 1. Following the ....

....such a simplified representation for functional logic programs [7] In the following, we present an extension of this intermediate representation which covers all the facilities of the language. The syntax of the resulting representation is depicted in Figure 1. Following the terminology of [21], we refer to this representation as the flat representation for programs. Within this (first order) representation, a flat program consists of a sequence of function definitions D such that each function is defined by a single rule whose left hand side contains only di#erent variables as ....

[Article contains additional citation context not shown here]

M. Hanus and C. Prehofer. Higher-Order Narrowing with Definitional Trees. Journal of Functional Programming, 9(1):33--75, 1999.


A Debugging Scheme for Functional Logic Programs - Alpuente (2002)   (1 citation)  (Correct)

....eager (innermost narrowing) or lazy (outermost narrowing) We also corrected some misprints and clarified a number of points w.r.t the previous version. We show how our methodology extends to optimal evaluation strategies such as needed narrowing by using Hanus and Prehofer s transformation in [35], which compiles rules into case expressions . Our prototype debugging system BUGGY has been extended as to work with the different instances of the framework discussed in this paper, which we illustrate by adequate examples. The implementation is endowed with preliminary inductive learning ....

....i.e. typical functional programs. A precise definition of this class of programs and the needed narrowing strategy is based on the notion of a definitional tree [9] Needed narrowing can be easily and efficiently implemented by translating definitional trees into case expressions as proposed in [35], which also proves that there is a strong equivalence of needed narrowing derivations in the original program and leftmost outermost narrowing derivations in the transformed program. A similar transformation is presented in [49] where inductively se quential programs are translated to uniform ....

[Article contains additional citation context not shown here]

M. Hanus and C. Prehofer. Higher-Order Narrowing with Definitional Trees. Journal of Functional Programming, 9(1):33-75, 1999. Preliminary version in Proc. RTA'96, pages 138-152. Springer LNCS 1103.


Lifting Infinite Normal Form Definitions From Term Rewriting to.. - Blom (2002)   (Correct)

....# rule requires that a variable does not occur in a sub term. By expanding an # we introduced an occurrence of a variable that destroyed the redex. To get monotonicity we therefore need rewrite rules in which no non occurrence requirements are used. Such rewrite rules are called fully extended in [HP96]. 3. Infinite Normal Forms In this section, we give a simple presentation of the notion of infinite normal form. This notion is an abstract version of the Bohm tree definition of Levy (See [Lev78] A first version of the notion of infinite normal form is presented in [AB97, AB02] The theory ....

Michael Hanus and Christian Prehofer. Higher-order narrowing with definitional trees. In Harald Ganzinger, editor, RTA, volume 1103 of Lecture Notes in Computer Science, pages 138--152. Springer, 1996.


List-Processing Optimizations in Curry - Albert, Ferri, Steiner, Vidal (2000)   (Correct)

....= fromaux x y ( 0 where the unnecessary intermediate list (created by from) is not used anymore. In order to incorporate short cut deforestation as a source to source transformation into the PACS compiler [12] we have used the standard intermediate representation of Curry programs: FlatCurry [11, 12]. However, some efficiency problems appeared due to the fact that FlatCurry is a first order language. The main problem is that each lambda abstraction of the original program is transformed into a distinct global function in FlatCurry. This leads to the introduction of additional functions in the ....

M. Hanus and C. Prehofer. Higher-Order Narrowing with Definitional Trees. Journal of Functional Programming, 9(1):33--75, 1999.


Evaluation Strategies for Functional Logic Programming - Antoy (2001)   (2 citations)  (Correct)

....[23] The theory of higher order narrowing is even less developed. Similar to the first order case, several classes of higherorder TRSs have been proposed for higher order functional logic computations, e.g. SFL programs [12] applicative TRSs [19] and higher order inductively sequential TRSs [15]. Different approaches have been adopted to prove properties of functional logic computations in these classes. Computations in SFL programs are mapped to first order computations by a transformation that extends to narrowing a well know transformation for higher order logic computations [24] ....

M. Hanus and C. Prehofer. Higher-order narrowing with definitional trees. In Proc. 7th International Conference on Rewriting Techniques and Applications (RTA'96), pages 138--


Declarative Debugging of Functional Logic Programs - Alpuente, Correa, Falaschi (2001)   (Correct)

....in inductively sequential programs. Informally, inductive sequentiality amounts to the existence of discriminating left hand sides , i.e. typical functional programs. Needed narrowing can be easily and efficiently implemented by translating definitional trees into case expressions as proposed in [31], which also proves that there is a strong equivalence of needed narrowing derivations in the original program and leftmost outermost narrowing derivations in the transformed program. A similar transformation is presented in [43] where inductively sequential programs are translated to uniform ....

M. Hanus and C. Prehofer. Higher-Order Narrowing with Definitional Trees. In Proc. Seventh Int'l Conf. on Rewriting Techniques and Applications, RTA'96, pages 138--152. Springer LNCS 1103, 1996.


Stable Results and Relative Normalization - Glauert, Kennaway, Khasidashvili   (Correct)

....an erasing beta step can create an # redex above the contractum. It was first observed by van Oostrom that the full extendedness restriction is necessary for many important results in the theory of higher order rewriting, and since then this restriction has been adopted in many recent works [49, 45, 17, 46, 47, 27]. It is no surprise that the restriction is needed here. We ignore questions relating to renaming of bound variables. As usual, a rewrite step consists of replacement of a redex by its contractum. Subterms of a redex corresponding to metavariables are arguments of the redex, and the rest is its ....

M. Hanus and C. Prehofer. Higher-order narrowing with definitional trees. In H. Ganzinger, editor, 7 th International Conference on Rewriting Techniques and Applications, RTA'96, volume 1103 of LNCS, pages 138--152. Springer-Verlag, 1996.


Higher-Order Rewriting - van Raamsdonk (1999)   (1 citation)  (Correct)

....rule to a term of the form f(x:t) if t doesn t contain free occurrences of x. This way of creating redexes is ruled out by disallowing the non occur check as present in the example. Formally, this is done by requiring the rewrite rules to be fully extended, a notion which is defined as follows [9]. Definition 4. 1. Let z:l be a rule pattern. An occurrence of z 2 z in l is fully extended if it is of the form z(x 1 ; xn ) with x 1 ; xn all the variables bound above it. 2. A rewrite rule z:l z:r is fully extended if every occurrence of every z i 2 z in l is fully ....

M. Hanus and C. Prehofer. Higher-order narrowing with definitional trees. In H. Ganzinger, editor, Proceedings of the 7th International Conference on Rewriting Techniques and Applications (RTA '96), volume 1103 of Lecture Notes in Computer Science, pages 138--152, New Brunswick, USA, 1996.


Outermost-Fair Rewriting - van Raamsdonk (1997)   (1 citation)  (Correct)

....by u k v that the redex occurrences u and v are not overlapping. The relation k is reflexive. It is extended in the obvious way to denote that a redex occurrence is not overlapping with a set of redex occurrences. Finally, the notion of full extendedness will be needed. The definition is given in [HP96, Oos96a]. Definition 3. A rewrite rule x 1 : x m :s x 1 : x m :t is said to be fully extended if every occurrence of y 2 fx 1 ; xm g in s has the j normal form of every bound variable in which scope it occurs as argument. A higher order rewriting system is fully extended if every ....

Michael Hanus and Christian Prehofer. Higher-order narrowing with definitional trees. In Harald Ganzinger, editor, Proceedings of the 7th International Conference on Rewriting Techniques and Applications (RTA '96), volume 1103 of Lecture Notes in Computer Science, pages 138--152, New Brunswick, USA, 1996.


Typed Higher-order Narrowing without Higher-order Strategies - Antoy, Tolmach (1999)   (1 citation)  (Correct)

....to subterms and the presence of a function symbol in a pattern. The strategy proposed for these systems is computed by a handful of small inference steps, where small characterizes the fact that several inferences may be necessary to compute an ordinary narrowing step. Hanus and Prehofer [6] consider higher order inductively sequential systems. An operation in these systems has a definitional tree in which the patterns may contain higherorder patterns [9] as subterms and the application of variables to subterms. The strategy proposed for these systems is again computed by a handful ....

....affects the size of the narrowing space of a computation. 2) We present our technical results for the same class of systems discussed in [10] We will argue later that our approach extends the systems considered in [5] and with minor syntactic changes extends the systems considered in [6], too. 3) For a large class of source programs of practical interest [4] our approach supports optimal, possibly non deterministic, higher order functional logic computations [1] without the need for a higher order narrowing strategy. 3 Language 3.1 Basics We describe our approach with ....

[Article contains additional citation context not shown here]

M. Hanus and C. Prehofer. Higher-order narrowing with definitional trees. In Proc. 7th International Conference on Rewriting Techniques and Applications (RTA'96), pages 138--152. Springer LNCS 1103, 1996.


Perpetuality and Uniform Normalization in Orthogonal Rewrite .. - Khasidashvili, al. (1999)   (1 citation)  (Correct)

....II of u as argument. This example can be readily encoded as an orthogonal ERS. We will see later that because of rules like j which test for the absence of variables in subterms (occur check ) even the conservation theorem fails for orthogonal CCERSs in general. To rule out such rules, following [55, 19], we introduce the concept of full extendedness for CCERSs: Definition 3.7. We call a CCERS R fully extended iff for any step t u s in R and any occurrence w t of an instance of the left hand side (of a rule r 2 R) such that: a) the patterns of w and u in t do not overlap, and (b) w has ....

Hanus, M. and Prehofer, C. (1996), Higher-order narrowing with definitional trees, in [15, pp. 138--152].


Higher-Order Pattern Complement and Strict Lambda-Calculus - Alberto Momigliano.. (1999)   (Correct)

.... pattern complement in a setting were patterns may contain binding operators, so called higher order patterns [Mil91,Nip91] Higher order patterns have found applications in logic programming [Mil91,Pfe91a,MP93] logical frameworks [DPS97] term rewriting [Nip93] and functional logic programming [HP96]. Higher order patterns inherit many pleasant properties from the first order case. In particular, most general unifiers [Mil91] and least general generalizations [Pfe91b] exist, even for complex type theories. This work has been partially supported by NSF Grant CCR 9619584. Unfortunately, ....

....canonical pattern Gamma M : A fully applied if each occurrence of an existential variable E under binders y 1 ; ym is applied to some permutation of the variables in Gamma and y 1 ; ym . Fully applied patterns play an important role in functional logic programming and rewriting [HP96] because any fully applied existential variable Gamma E x 1 : xn denotes all canonical terms with free variables from Gamma . It is this property which makes complementation particularly simple Example 1. Consider the untyped calculus. e : x j x : e j e 1 e 2 We encode these ....

M. Hanus and C. Prehofer. Higher-order narrowing with definitional trees. In Proc. Seventh International Conference on Rewriting Techniques and Applications (RTA'96), pages 138--152. Springer LNCS 1103, 1996.


Perpetuality and Uniform Normalization in Orthogonal.. - Khasidashvili, Ogawa, al.   (1 citation)  (Correct)

....II of u as argument. This example can be readily encoded as an orthogonal ERS. We will see later that because of rules like j which test for the absence of variables in subterms (occur check ) even the conservation theorem fails for orthogonal CCERSs in general. To rule out such rules, following [Oos96, HP96], we introduce the concept of full extendedness for CCERSs: Definition 3.11 We call a CCERS R fully extended iff for any step t u s in R and any occurrence w t of an instance of the left hand side (of a rule r 2 R) such that: a) the patterns of w and u in t do not overlap, and (b) w has ....

Hanus M. and Prehofer C., Higher-order narrowing with definitional trees. In: Proc. of the 7 th International Conference on Rewriting Techniques and Applications, RTA'96, Springer LNCS, vol. 1103, H. Ganzinger, ed., 1996, pp. 138--152.


The Relative Complement Problem for Higher-Order Patterns - Momigliano, Pfenning (1999)   (Correct)

.... with the problem of pattern complement in a setting where patterns may contain binding operators, so called higher order patterns [10, 12] Higher order patterns have found applications in logic programming [10, 13] logical frameworks [13] rewriting [12] and functional logic programming [5]. Higher order patterns inherit many pleasant properties from the first order case. In particular, most general unifiers [10] and least general generalizations [14] exist, even for complex type theories. Unfortunately, the complement operation does not generalize as easily. Lugiez [8] has studied ....

....pattern Gamma M : A fully applied if each occurrence of an existential variable E under binders y 1 ; y m is applied to some permutation of the variables in Gamma and y 1 ; y m . Fully applied patterns play an important role in functional logic programming and rewriting [5] because any fully applied existential variable Gamma E x 1 : x n denotes all canonical terms with free variables from Gamma. It is this property which makes complementation particularly simple. Example 1 Consider the untyped calculus. e : x j x : e j e 1 e 2 We encode these ....

M. Hanus and C. Prehofer. Higher-order narrowing with definitional trees. In Proc. Seventh International Conference on Rewriting Techniques and Applications (RTA'96), pages 138--152. Springer LNCS 1103, 1996.


A Higher Order Rewriting Logic for Functional Logic.. - Gonzalez-Moreno.. (1997)   (Correct)

....le to a number of arguments less than that occurring in the left hand sides of its rewrite rules. In our framework, all such partial application are going to behave as the application of free constructors. Other recent approaches to functional logic programming using higher order narrowing include [7, 18, 20, 10]. Our use of a rewriting logic with a model theory and without confluence termination requirements is a novel point w.r.t. all these papers. Another improvement w.r.t. 7] can be found in the fact that the narrowing calculus in [7] was not lazy, and much less suitable as basis for building ....

....w.r.t. 7] can be found in the fact that the narrowing calculus in [7] was not lazy, and much less suitable as basis for building implementations. The approach in [18] uses applicative orthogonal rewrite systems, while our applicative rewrite systems are pattern based and conditional. In [20, 10] higher order features are more powerful in the sense that simply typed terms and higher order unification modulo fij are allowed. Moreover [10] establishes optimality results of so called needed higher order narrowing for inductively sequential rewrite systems (a particular kind of ....

[Article contains additional citation context not shown here]

M.Hanus, C.Prehofer. Higher-Order Narrowing with Definitional Trees. Proc. RTA' 96, Springer LNCS 1103, pp. 138-152, 1996.


Higher-Order Families - van Oostrom (1996)   (5 citations)  (Correct)

....and causes the theory of permutation equivalence (see Definition 11) to break down. For that reason we make the following assumption. Every free variable in the left hand side of a rule has all bound variables in which scope it is, as arguments. Such left hand sides are called fully extended in [HP95]. For our decomposition as exemplified in the introduction we need to rewrite not only on terms, but also on preterms. This is done by dropping some restrictions on the context C in a replacement step C l C l r C r . We do not require it to be in fi normal form any more and neither require that ....

Michael Hanus and Christian Prehofer. Higher-order narrowing with definitional trees, September 1995. Draft.


The Relative Complement Problem for Higher-Order Patterns - Momigliano, Pfenning (1999)   (Correct)

.... with the problem of pattern complement in a setting were patterns may contain binding operators, so called higher order patterns [12, 14] Higher order patterns have found applications in logic programming [12, 16] logical frameworks [6] term rewriting [15] and functional logic programming [7]. Higher order patterns inherit many pleasant properties from the first order case. In particular, most general unifiers [12] and least general generalizations [17] exist, even for complex type theories. Unfortunately, the complement operation does not generalize as smoothly. Lugiez [10] has ....

....canonical pattern Gamma M : A fully applied if each occurrence of an existential variable E under binders y 1 ; ym is applied to some permutation of the variables in Gamma and y 1 ; ym . Fully applied patterns play an important role in functional logic programming and rewriting [7] because any fully applied existential variable Gamma E x 1 : xn denotes all canonical terms with free variables from Gamma. It is this property which makes complementation particularly simple. Example 1 Consider the untyped calculus. e : x j x : e j e 1 e 2 We encode these ....

M. Hanus and C. Prehofer. Higher-order narrowing with definitional trees. In Proc. Seventh International Conference on Rewriting Techniques and Applications (RTA'96), pages 138--152. Springer LNCS 1103, 1996.


Typed Higher-order Narrowing without Higher-order Strategies - Sergio Antoy (1999)   (1 citation)  (Correct)

....to subterms and the presence of a function symbol in a pattern. The strategy proposed for these systems is computed by a handful of small inference steps, where small characterizes the fact that several inferences may be necessary to compute an ordinary narrowing step. Hanus and Prehofer [6] consider higher order inductively sequential systems. An operation in these systems has a definitional tree in which the patterns may contain higher order patterns [7] as subterms and the application of variables to subterms. The strategy proposed for these systems is again computed by a handful ....

....dramatically affects the size of the narrowing space of a computation. 2) We present our technical results for the same class of systems discussed in [8] We will argue later that our approach extends the systems considered in [5] and with minor syntactic changes extends the systems considered in [6], too. 3) For a large class of source programs of practical interest [4] our approach supports optimal, possibly non deterministic, higher order functional logic computations [1] without a higher order narrowing strategy. 3 Language 3.1 Basics We describe our approach with reference to a ....

[Article contains additional citation context not shown here]

M. Hanus and C. Prehofer. Higher-order narrowing with definitional trees. In Proc. 7th International Conference on Rewriting Techniques and Applications (RTA'96), pages 138--152. Springer LNCS 1103, 1996.


Higher-Order Lazy Narrowing Calculus: A Computation Model.. - Suzuki, Nakagawa, Ida (1997)   (2 citations)  (Correct)

....Little has been investigated how to incorporate higher order ness in functional logic programming. In this paper we present a computation model for a higher order functional and logic programming. Although investigations of computation models for higherorder functional logic languages are under way[13, 9, 8, 20, 22], implemented functional logic languages like K LEAF[6] and Babel[18] among others, are all based on first order models of computation. First order narrowing has been used as basic computation mechanism. The lack of higher order ness is exemplified by the following prototypical program map(F; ....

....calculus LN successfully reduces some degree of non determinism, but still a more efficient higher order narrowing calculus is desired for a functional logic programming language. Hanus and Prehofer proposed a calculus for needed narrowing LNT, which deals with higherorder narrowing systematically[9]. Those works are based on higher order rewriting, where fi reduction is an implicit operation. On the other hand, first order narrowing has been studied extensively (see [7] for survey) Several narrowing methods have been proposed for reducing search space of narrowing [11, 2, 15, 5, 10] So ....

M. Hanus and C. Prehofer. Higher-order narrowing with definitional trees. In Proceedings of Seventh International Conference on Rewrite Techniques and Applications, Lecture Notes in Computer Science 1103, pages 138--152, 1996.


Higher-Order Functional-Logic Programming: A Systematic Development - Prehofer (1997)   Self-citation (Prehofer)   (Correct)

No context found.

M. Hanus and C. Prehofer. Higher-order narrowing with definitional trees. In Proc. Seventh International Conference on Rewriting Techniques and Applications (RTA'96). Springer LNCS 1103, 1996.


Run-Time Profiling of - Functional Logic Programs   Self-citation (Hanus)   (Correct)

No context found.

M. Hanus and C. Prehofer. Higher-Order Narrowing with Definitional Trees. Journal of Functional Programming, 9(1):33--75, 1999.


Specialization of Functional Logic Programs Based on.. - Alpuente, Hanus.. (1999)   Self-citation (Hanus)   (Correct)

No context found.

M. Hanus and C. Prehofer. Higher-Order Narrowing with Definitional Trees. Journal of Functional Programming (to appear), 1999.


Run-Time Profiling of - Functional Logic Programs   Self-citation (Hanus)   (Correct)

No context found.

M. Hanus and C. Prehofer. Higher-Order Narrowing with Definitional Trees. Journal of Functional Programming, 9(1):33--75, 1999.


An Implementation of Narrowing Strategies - Antoy, Hanus, Massey, Steiner (2001)   Self-citation (Hanus)   (Correct)

No context found.

M. Hanus and C. Prehofer. Higher-order narrowing with definitional trees. Journal of Functional Programming, 9(1):33--75, 1999.


Operational Semantics for Functional Logic Languages - Albert, Hanus, Huch.. (2002)   (1 citation)  Self-citation (Hanus)   (Correct)

....representation for functional logic programs. The main advantage of the flat form is the explicit representation of the pattern matching strategy by the use of case expressions which is important for the operational reading. Moreover, source programs can easily be translated into this flat form [13]. The syntax for flat programs is 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 case) fcase e of (flexible case) e 1 or e 2 ....

....a constructor at the outermost position) Consequently, our operational semantics will describe the evaluation of expressions only to head normal form. This is not a restriction since the evaluation to normal form or the solving of equations can be reduced to head normal form computations (see [13]) Similarly, the higher order features of current functional languages can be reduced to first order definitions by introducing an auxiliary apply function [22] Therefore, we base the definition of our operational semantics on the flat form described above. This is also consistent with current ....

M. Hanus and C. Prehofer. Higher-Order Narrowing with Definitional Trees. Journal of Functional Programming, 9(1):33--75, 1999.


An Operational Semantics for Declarative.. - Albert, Hanus, Huch.. (2002)   Self-citation (Hanus)   (Correct)

....form, which is a convenient standard representation for functional logic programs. The flat form makes the pattern matching strategy explicit by the use of case expressions, which is important for the operational reading; moreover, source programs can be easily translated into this flat form [12]. The syntax for programs in flat form is as follows: P : D1 . Dm e : x (variable) D : f(x1 , xn ) e c(e1 , en ) constructor call) f(e1 , en ) function call) p : c(x1 , xn ) case e of en (rigid case) fcase e of en (flexible ....

....an expression with a constructor at the top) Consequently, our operational semantics will describe the evaluation of expressions only to head normal form. This is not a restriction since the evaluation to normal form or the solving of equations can be reduced to head normal form computations (see [12]) Similarly, the higher order features of current functional languages can be reduced to firstorder definitions by introducing an auxiliary apply function [24] Therefore, we base the definition of our operational semantics on the flat form described above. This is also consistent with current ....

M. Hanus and C. Prehofer. Higher-Order Narrowing with Definitional Trees. Journal of Functional Programming, 9(1):33--75, 1999.


A Deterministic Operational Semantics for Functional.. - Albert, Hanus, Huch, .. (2002)   Self-citation (Hanus)   (Correct)

....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 case) fcase e of (flexible ....

....an expression with a constructor at the top) Consequently, our operational semantics will describe the evaluation of expressions only to head normal form. This is not a restriction since the evaluation to normal form or the solving of equations can be reduced to head normal form computations (see [11]) Similarly, the higher order features of current functional languages can be reduced to firstorder definitions by introducing an auxiliary apply function [21] Therefore, we base the definition of our operational semantics on the flat form described above. This is also consistent with current ....

M. Hanus and C. Prehofer. Higher-Order Narrowing with Definitional Trees. Journal of Functional Programming, 9(1):33--75, 1999.


An Operational Semantics for Declarative.. - Albert, Hanus, Huch.. (2002)   Self-citation (Hanus)   (Correct)

....which is a convenient standard representation for functional logic programs. The flat form makes the pattern matching strategy explicit by the use of case expressions, which is important for the operational description; moreover, Curry programs can be automatically translated into this flat form [13]. The syntax for programs in flat form is summarized in Figure 1. We use P to denote a program, D a function definition, p a pattern and e Exp an arbitrary expression. A program P consists of a sequence of function definitions D such that the left hand side has pairwise di#erent variable ....

....function can easily be defined by means of ordinary program rules (see the discussion in Section 4. 3) However, the evaluation of higherorder applications containing free variables as functions is not allowed (i.e. such applications are suspended to avoid the use of higher order unification [13]) Moreover, Curry also allows the use of functions which are not defined in the user s program (external functions) like arithmetic operators, basic input output facilities, etc. Let us illustrate some of the above features with an example. Consider the following rule defining a function to ....

M. Hanus and C. Prehofer. Higher-Order Narrowing with Definitional Trees. Journal of Functional Programming, 9(1):33--75, 1999.


Realistic Program Specialization in a Multi-Paradigm Language - Albert, Hanus, Vidal (2000)   Self-citation (Hanus)   (Correct)

....to overcome the aforementioned problems, a promising approach successfully tested in other contexts (e.g. 7, 23] is to consider programs written in a maximally simplified programming language, into which programs written in a higher level language can be automatically translated. Recently, [17] introduced an explicit representation of the structure of definitional trees (used to guide the needed narrowing strategy) in the rewrite rules. This provides more explicit control and leads to a calculus simpler than standard needed narrowing. Moreover, source programs can be automatically ....

....control and leads to a calculus simpler than standard needed narrowing. Moreover, source programs can be automatically translated to the new representation. 1 In this work, we consider a very simple abstract representation of functional logic programs which is based on the one introduced in [17]. As opposed to [17] our abstract representation includes also information about the evaluation type of functions: flex which enables narrowing steps or rigid which forces delayed evaluation by rewriting . Then, we define a non standard semantics which is specially well suited to ....

[Article contains additional citation context not shown here]

M. Hanus and C. Prehofer. Higher-Order Narrowing with Definitional Trees. Journal of Functional Programming, 9(1):33--75, 1999.


A Practical Partial Evaluator for a Multi-Paradigm.. - Albert, Hanus, Vidal (2001)   (1 citation)  Self-citation (Hanus)   (Correct)

....rewrite systems [5] with evaluation annotations) as programs and an operational semantics which integrates (needed) narrowing and residuation. In order to simplify the underlying semantics, a flat representation for programs is introduced. This representation is based on the formulation of [19] to express pattern matching by case expressions. As it will become apparent in Sect. 3, it corresponds to a subset of the FlatCurry syntax [18] a standard intermediate representation for Curry programs. R : D1 : Dm e : x (variable) D : f(x1 ; xn) e j c(e1 ; en) ....

.... use a curried notation in concrete examples (as usual in functional languages) x 6 y = case x of f0 True; Succ x 1 ) case y of f0 False; Succ y 1 ) x 1 6 y 1 g g An automatic transformation from inductively sequential programs [5] to programs using case expressions is introduced in [19]. 2.2 The Residualizing Semantics The operational semantics of flat programs becomes simpler, since definitional trees [5] used to guide the needed narrowing strategy [6] have been compiled in the program by means of case expressions. The LNT calculus [19] Lazy Narrowing with definitional ....

[Article contains additional citation context not shown here]

M. Hanus and C. Prehofer. Higher-Order Narrowing with Definitional Trees. Journal of Functional Programming, 9(1):33--75, 1999.


Higher-Order Equational Logic - Prehofer (1997)   Self-citation (Prehofer)   (Correct)

No context found.

M. Hanus and C. Prehofer. Higher-order narrowing with definitional trees. In Proc. Seventh International Conference on Rewriting Techniques and Applications (RTA'96). Springer LNCS 1103, 1996.


Higher-Order Narrowing with Definitional Trees - Hanus, Prehofer (1996)   (25 citations)  Self-citation (Hanus Prehofer)   (Correct)

....our calculus can compute solutions for variables of functional type. Although this is very powerful, we show that the incurring higher order unification can sometimes be avoided by techniques similar to [4] Due to lack of space, some details and the proofs are omitted. They can be found in [9]. 2 Preliminaries We briefly introduce the simply typed calculus (see e.g. 10] We assume the following variable conventions: F; G; H;P;X;Y denote free variables, a; b; c; f; g (function) constants, and x; y; z bound variables. Type judgments are written as t : Further, we ....

M. Hanus and C. Prehofer. Higher-order narrowing with definitional trees. Technical report 96-2, RWTH Aachen, 1996.


Specialization of Functional Logic Programs Based on.. - Alpuente, Hanus.. (1999)   Self-citation (Hanus)   (Correct)

....and the number of computed solutions [10] and it can be e#ciently implemented by pattern matching and unification (e.g. 26, 40] Moreover, it has recently been extended to higher order functions and # terms as data structures and proved optimal w.r.t. independence of computed solutions [29]. Partial evaluation (PE) is a semantics preserving performance optimization technique for computer programs which consists of the specialization of the program w.r.t. parts of its input. PE has been widely applied in the fields of term rewriting systems [13, 14, 15, 20, 35, 43] functional ....

M. Hanus and C. Prehofer. Higher-Order Narrowing with Definitional Trees. Journal of Functional Programming (to appear), 1999.


A Practical Method for Program Specialization in a.. - Albert, Hanus, Vidal (2000)   Self-citation (Hanus)   (Correct)

....program transformation, it makes sense to have subject programs written in a maximally simplified programming language which programs written in a higher level language can automatically be translated into. Therefore, we consider an intermediate representation of Curry programs, FlatCurry [27, 24] (which has been proposed to provide a common interface for connecting different tools working on Curry programs, e.g. back ends for various compilers [8, 25] and translate programs to FlatCurry in order to specialize them. This is essential to express the different features of Curry at an ....

.... This decision has almost no negative influence on the applicability of our partial evaluator since the committed choice is rarely used nor supported by the current version of the Curry Prolog compiler [8] A basic version of FlatCurry which does not consider additional features was presented in [24], which we refer to as Core FlatCurry, i.e. a term in Core FlatCurry is composed only by variables, constructors, defined functions, and case expressions. The operational semantics of Curry is based on definitional trees [6] which are used to guide the pattern matching process to obtain an ....

M. Hanus and C. Prehofer. Higher-Order Narrowing with Definitional Trees. Journal of Functional Programming, 9(1):33--75, 1999. 16


Compiling Multi-Paradigm Declarative Programs into Prolog - Antoy, Hanus (2000)   (9 citations)  Self-citation (Hanus)   (Correct)

....and use the notion of position (i.e. a sequence of positive integers) to specify the subterm where the next evaluation step must be performed. We avoid this complication and obtain a simpler transformation by first compiling definitional trees into case expressions as described, e.g. in [14]. Thus, each function is defined by exactly one rule in which the right hand side contains case expressions to specify the pattern matching of actual arguments. For instance, the function conc in Example 1 is transformed into: conc xs ys = case xs of [ ys (z:zs) z : conc zs ys A case ....

M. Hanus and C. Prehofer. Higher-Order Narrowing with Definitional Trees. Journal of Functional Programming, Vol. 9, No. 1, pp. 33--75, 1999.


Specialization of Inductively Sequential Functional.. - Alpuente, Hanus, Lucas, .. (1999)   (7 citations)  Self-citation (Hanus)   (Correct)

....and the number of computed solutions [9] and it can be efficiently implemented by pattern matching and unification (e.g. 26, 41] Moreover, it has recently been extended to higher order functions and terms as data structures and proved optimal w.r.t. independency of computed solutions [29]. Partial evaluation (PE) is a semantics preserving performance optimization technique for computer programs which consists of the specialization of the program w.r.t. parts of its input. PE has been widely applied in the fields of term rewriting systems [12, 13, 18, 36, 42] functional ....

.... steps x 6 x x ; fx7 0g True x 6 x x ; fx7 S(m)g S(m) 6 S(m S(m) The main properties of needed narrowing are formalized as follows: 2 Definitional trees can also be encoded using case expressions, another well known technique to implement pattern matching in functional languages [45, 29]. 3 For CB TRSs, inductive sequentiality and Huet and L evy s strong sequentiality coincide [28] Theorem 3.3 [9] Let R be an inductively sequential program and e an equation. 1. Soundness) If e ; oe True is a needed narrowing derivation, then oe is a solution for e. 2. Completeness) For ....

M. Hanus and C. Prehofer. Higher-Order Narrowing with Definitional Trees. Journal of Functional Programming, 9(1):33--75, 1999.


Specialization of Functional Logic Programs Based on.. - Alpuente, Hanus.. (1999)   Self-citation (Hanus)   (Correct)

....and the number of computed solutions [10] and it can be efficiently implemented by pattern matching and unification (e.g. 26, 40] Moreover, it has recently been extended to higherorder functions and terms as data structures and proved optimal w.r.t. independence of computed solutions [29]. Partial evaluation (PE) is a semantics preserving performance optimization technique for computer programs which consists of the specialization of the program w.r.t. parts of its input. PE has been widely applied in the fields of term rewriting systems [13 15, 20, 35, 43] functional ....

M. Hanus and C. Prehofer. Higher-Order Narrowing with Definitional Trees. Journal of Functional Programming (to appear), 1999.


Higher-Order Functional-Logic Programming: A Systematic Development - Prehofer (1997)   Self-citation (Prehofer)   (Correct)

....examine more restricted cases [31, 2] or use an applicative first order setting [22] Compared to higher order logic programming [21] higher order programming as in functional languages is possible directly here. A further interesting refinement for higher order narrowing has been presented in [11]. To achieve optimality results, some further restrictions on rewrite rules are needed. Most of the examples we show however fit into this framework. It remains for further work to investigate the potential of this higher order setting and in particular to work towards efficient implementations. ....

M. Hanus and C. Prehofer. Higher-order narrowing with definitional trees. In Proc. Seventh International Conference on Rewriting Techniques and Applications (RTA'96). Springer LNCS 1103, 1996.


The Narrowing-Driven Approach to Functional Logic Program.. - Albert, Vidal (2002)   (2 citations)  (Correct)

No context found.

) Hanus M. and Prehofer C., "Higher-Order Narrowing with Definitional Trees," Journal of Functional Programming, 9, 1, pp. 33--75, 1999.


Program Specialization Based on Dynamic Slicing - Ochoa, Silva, Vidal (2004)   (Correct)

No context found.

M. Hanus and C. Prehofer. Higher-Order Narrowing with Definitional Trees. Journal of Functional Programming, 9(1):33--75, 1999.


Towards Router Specification in Curry: The Language ROSE - Ramos, Silva, Vidal   (Correct)

No context found.

Hanus, M., Prehofer, C.: Higher-Order Narrowing with Definitional Trees. Journal of Functional Programming 9 (1999) 33--75


A Memoizing Semantics for - Functional Logic Languages   (Correct)

No context found.

M. Hanus and C. Prehofer. Higher-Order Narrowing with Definitional Trees. Journal of Functional Programming, 9(1):33--75, 1999.

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