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:

First 50 documents

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.


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.


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.

First 50 documents

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