16 citations found. Retrieving documents...
M. Hanus and F. Steiner. Controlling Search in Declarative Programs. In Principles of Declarative Programming (Proc. Joint International Symposium PLILP/ALP'98), pp. 374-390. Springer LNCS 1490, 1998. 13

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Programming Constraint Services - Schulte (2002)   (5 citations)  (Correct)

....copying and trailing. Close relatives to computation spaces are AKL and Curry. AKL [46, 60] has pioneered encapsulated search and stability. An extension of AKL with finite domain constraints is described in [14] Curry [42] is a functional logic language that also provides encapsulated search [43]. Encapsulated search in Curry has adopted a variant of the solve combinator [131, 132] Section 4.7 discusses the solve combinator and its limitations) 143 The combinator in Curry offers distributors with a dynamic number of alternatives which has not been possible with the originally proposed ....

....engines for the deployment of applications due to the material developed in this thesis. Impact Some ideas in this thesis have already proven their impact. The CHIP search tree tool [133] has been inspired by the Explorer. Encapsulated search in Curry is based on a variant of the solve combinator [43]. On a more general level, I am convinced that future constraint programming systems will support the programming of search engines. I am also convinced that the combination of copying and recomputation will establish itself as a serious alternative for implementing search that at least matches ....

Michael Hanus and Frank Steiner. Controlling search in declarative programs. In Catuscia Palamidessi, Hugh Glaser, and Karl Meinke, editors, Principles of Declarative Programming, volume 1490 of Lecture Notes in Computer Science, pages 374--390, Pisa, Italy, September 1998. Springer-Verlag.


Demand-driven Search in Functional Logic Programs (Extended.. - Hanus, Rety (1998)   (1 citation)  (Correct)

.... advocate lazy evaluation strategies (e.g. Babel [15] Curry [11] Escher [13] K LEAF [4] More recently, a number of interesting techniques and extensions have been developed in this area, like optimal evaluation strategies [1, 2] non deterministic functions [1, 5] or encapsulated search [10, 18]. This raises the question how these different features can be exploited in practice. In the following we want to answer it. For this purpose we consider the multi paradigm language Curry [11] a new declarative language intended to combine functional, logic and concurrent programming paradigms ....

....description of our musical application is contained in Section 4. More details can be found in [9] 2 Basic Features of Curry This section provides an informal introduction to the computation model and basic features of Curry which are used in the subsequent sections. More details can be found in [8, 10] and in the language definition [11] A Curry program is a set of functions operating on values described as algebraic data types. Predicates are nothing special as in logic programming but are represented as Boolean functions. Thus, a Curry program looks very much like a functional program which ....

[Article contains additional citation context not shown here]

M. Hanus and F. Steiner. Controlling Search in Declarative Programs. In Proc. Joint International Symposium PLILP/ALP'98. To appear in Springer LNCS, 1998.


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

No context found.

M. Hanus and F. Steiner. Controlling search in declarative programs. In Principles of Declarative Programming (Proc. Joint Intl. Symposium PLILP/ALP '98), pages 374--390. Springer LNCS 1490, 1998.


Functional Logic Design Patterns - Antoy, Hanus (2002)   (1 citation)  Self-citation (Hanus)   (Correct)

No context found.

M. Hanus and F. Steiner. Controlling search in declarative programs. In Principles of Declarative Programming (Proc. Joint International Symposium PLILP/ALP'98), pages 374--390. Springer LNCS 1490, 1998.


Functional Logic Design Patterns - Antoy, Hanus (2002)   (1 citation)  Self-citation (Hanus)   (Correct)

No context found.

M. Hanus and F. Steiner. Controlling search in declarative programs. In Principles of Declarative Programming (Proc. Joint International Symposium PLILP/ALP'98), pages 374--390. Springer LNCS 1490, 1998.


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

....is more exible since it does not depend on threads, but it can control to any degree of granularity the scheduling of steps in distinct computations. This eases the implementation of problem speci c search strategies at the top level, whereas Curry2Java is restricted to encapsulated search [20]. Our implementation is the subject of active investigation in several directions. Thus, we are not speci cally concerned with its eciency at this time. Rather, we are studying architectures that easily integrate concepts and ideas that have been proposed for functional logic programming. Ef ....

....We plan to work on this aspect, but only after resolving the architectural issues related to the inclusion of search and concurrency features which are discussed in the next section. 7. FURTHER EXTENSIONS A very interesting feature for modern functional logic languages is encapsulated search [20]. Although this feature is not yet included in our implementation, our architecture is ready to accommodate it. Encapsulated search uses a search operator to explicitly control di erent branches of a non deterministic computation. It relies on a data structure to encode search goals and their ....

[Article contains additional citation context not shown here]

M. Hanus and F. Steiner. Controlling search in declarative programs. In Principles of Declarative Programming (Proc. Joint Intl. Symposium PLILP/ALP '98), pages 374-390. Springer LNCS 1490, 1998.


Controlling Search in Declarative Programs - Hanus, Steiner (1998)   (3 citations)  Self-citation (Hanus Steiner)   (Correct)

....of a base language with lazy evaluation to provide a simple implementation of search strategies in Section 6. Section 7 compares our techniques with related work, and Section 8 contains our conclusions. Due to lack of space, we omit some details and the proofs of the theorems which can be found in [4, 5]. 2 Operational Semantics of the Base Language As mentioned above, the search primitive should control the di erent nondeterministic steps occurring in a derivation. To abstract from the operational model of the concrete base language, we only assume that a computation step of the base language ....

....fy1 ; ym i g = VRan( i ) n (fx; x1 ; xng [ Var(g) suspend otherwise Fig. 1. Operational semantics of the try operator for g = x let x1 ; xn free in fcg 3. 2 Local Variables Some care is necessary if free variables occur in a search goal, as in E fappend(L, E] [3,4,5]g ( To compute the last element E of the list [3,4,5] with this goal, the variable L must be instantiated which is problematic since L is free. There are di erent possibilities to deal with this case. In Prolog s bagof setof predicates, free variables are (possibly non deterministically ) ....

[Article contains additional citation context not shown here]

M. Hanus and F. Steiner. Controlling Search in Declarative Programs. Technical Report, RWTH Aachen, 1998


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

.... X in a a are equivalent but would produce di erent 181 results with sharing. Luckily, the intended behavior can be obtained by a slight change of the de nition of hnf so that terms headed by io are not shared. The primitives of Curry to encapsulate search and de ne new search strategies [17] cannot be directly implemented in Prolog due to its xed backtracking strategy. However, one can implement some standard depth rst search strategies of Curry via Prolog s findall and bagof primitives. 4 Experimental Results We have developed a compiler from Curry programs into Prolog programs ....

M. Hanus and F. Steiner. Controlling Search in Declarative Programs. In Principles of Declarative Programming (Proc. Joint International Symposium PLILP/ALP'98), pp. 374-390. Springer LNCS 1490, 1998.


High-Level Server Side Web Scripting in Curry - Hanus (2001)   (7 citations)  Self-citation (Hanus)   (Correct)

.... Thus, one can easily provide web services where constraint solving and search is involved (e.g. web services with a natural language interface) as shown in the (purely logic based) PiLLoW library [2] Since event handlers must be deterministic functions, the encapsulation of search in Curry [8] becomes quite useful for such kinds of applications. Furthermore, Curry exploits the logic programming features to support concurrent and distributed programming by the use of port constraints [5] This can be used to retrieve information from other Internet servers (as done in the web pages for ....

M. Hanus and F. Steiner. Controlling Search in Declarative Programs. In Principles of Declarative Programming (Proc. Joint International Symposium PLILP/ALP'98), pp. 374-390. Springer LNCS 1490, 1998.


Type-based Nondeterminism Checking in Functional Logic Programs - Hanus, Steiner (2000)   Self-citation (Hanus Steiner)   (Correct)

....that act on the outside world, which contains the le system, the Internet etc. Since this world can not be copied, nondeterminism in combination with monadic I O is not allowed and leads to a run time error in Curry. To avoid this problem, Curry allows to encapsulate nondeterministic computations [15, 28], thus increasing program stability and safety. The remaining problem is to detect all possible sources for nondeterminism in a program. This can be very dicult even for small programs and often also depends on the form of queries the user may ask. Thus, our aim is to develop a method to detect ....

....the computational domains (constructors) and the function declarations the operations on these domains. Curry combines various features known in declarative programming, like higher order functions, constraints and the possibility to use constraint solvers for various domains, encapsulated search [15, 28], a Hindley Milner like polymorphic type system [4] monadic I O [30] and features for communication and distributed programming [11] A detailed description of these features can be found in [16] In the following we will only outline those which are necessary to understand the ideas of our ....

[Article contains additional citation context not shown here]

M. Hanus and F. Steiner. Controlling search in declarative programs. In Proc. of Joint International Symposium PLILP/ALP'98, pages 374-390. Springer LNCS 1490, 1998.


Server Side Web Scripting in Curry - Hanus (2000)   (3 citations)  Self-citation (Hanus)   (Correct)

....it to the terminal can be de ned as follows: putStr [ return ( putStr (c:cs) putChar c putStr cs Similarly, the composed action readFile f = putStr prints the contents of le f. Curry o ers further features, like the encapsulation and control of non deterministic computations [8] or for the development of distributed systems [5] Since these are not important for the topic of this paper, we do not discuss them here. 3 Modeling Basic HTML In order to avoid certain syntactical errors (e.g. unbalanced parenthesis) during the generation of HTML documents by a web server, ....

.... Thus, one can easily provide web services where constraint solving and search is involved (e.g. web services with a natural language interface) as shown in the (purely logic based) PiLLoW library [2] Since event handlers must be deterministic functions, the encapsulation of search in Curry [8] becomes quite useful for such kind of applications. Furthermore, Curry exploits the logic programming features to support concurrent and distributed programming by the use of port constraints [5] This can be used to retrieve information from other Internet servers (as done in the web pages for ....

M. Hanus and F. Steiner. Controlling Search in Declarative Programs. In Principles of Declarative Programming (Proc. Joint International Symposium PLILP/ALP'98), pp. 374-390. Springer LNCS 1490, 1998.


Demand-driven Search in Functional Logic Programs - Hanus, Rety (1998)   (1 citation)  Self-citation (Hanus)   (Correct)

.... advocate lazy evaluation strategies (e.g. Babel [19] Curry [13] Escher [16] K LEAF [7] More recently, a number of interesting techniques and extensions have been developed in this area, like optimal evaluation strategies [2, 3] non deterministic functions [2, 8] or encapsulated search [12, 22]. This raises the question how these di#erent features can be exploited in practice. In the following we want to answer it. For this purpose we consider the multi paradigm language Curry [13] a new declarative language intended to combine functional, logic and concurrent programming paradigms ....

....search strategies. The description of our musical application is contained in Section 4. 3 2 Basic Features of Curry This section provides an informal introduction to the computation model and basic features of Curry which are used in the subsequent sections. More details can be found in [11, 12] and in the language definition [13] A Curry program is a set of functions operating on values described as algebraic data types. Predicates are nothing special as in logic programming but are represented as Boolean functions. Thus, a Curry program looks very much like a functional program which ....

[Article contains additional citation context not shown here]

M. Hanus and F. Steiner. Controlling Search in Declarative Programs. In Proc. Joint International Symposium PLILP/ALP'98. To appear in Springer LNCS, 1998.


A Functional Logic Programming Approach to Graphical User Interfaces - Hanus (2000)   (3 citations)  Self-citation (Hanus)   (Correct)

....A difficulty in combining logic oriented languages with I O is the fact that the meaning of I O operations becomes unclear when a computation is split into two disjunctive paths. In Curry this problem is solved by encapsulating possible non deterministic computations between I O operations (see [10] for details) We do not further discuss this technique here but remark that non deterministic search is not performed for goals containing global variables but only for goals where all unbound variables are existentially quantified in this goal. Since we will create GUIs via global variables ....

M. Hanus and F. Steiner. Controlling Search in Declarative Programs. In Principles of Declarative Programming (Proc. Joint International Symposium PLILP/ALP'98), pp. 374--390. Springer LNCS 1490, 1998.


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

.... X in a a are equivalent but would produce different results with sharing. Luckily, the intended behavior can be obtained by a slight change of the definition of hnf so that terms headed by io are not shared. The primitives of Curry to encapsulate search and define new search strategies [17] cannot be directly implemented in Prolog due to its fixed backtracking strategy. However, one can implement some standard depth first search strategies of Curry via Prolog s findall and bagof primitives. 4 Experimental Results We have developed a compiler from Curry programs into Prolog ....

M. Hanus and F. Steiner. Controlling Search in Declarative Programs. In Principles of Declarative Programming (Proc. Joint International Symposium PLILP/ALP'98), pp. 374--


Distributed Programming in a Multi-Paradigm Declarative Language - Hanus (1999)   (17 citations)  Self-citation (Hanus)   (Correct)

....Thus, purely functional programming and purely logic programming are obtained as particular restrictions of this model. Moreover, impure features of Prolog (e.g. arithmetic, cut, I O) are avoided and don t know non deterministic computations can be encapsulated and controlled by the programmer [12]. For concurrent computations, the evaluation of functions can be suspended depending on the instantiation of arguments, and constraints can be executed concurrently. This provides an easy modeling of concurrent objects as functions synchronizing on a stream of messages. Based on this computation ....

.... strategy) To provide flexible application oriented search strategies and to avoid global backtracking like in Prolog which causes problems when integrated with I O and concurrent computations, don t know non deterministic computations can be encapsulated and controlled by the programmer [12]. For this purpose, a search goal is a lambda abstraction x c where c is the constraint to be solved and x is the search variable occurring in c for which solutions should be computed. Based on a single language primitive to control non deterministic computation steps, various search strategies ....

[Article contains additional citation context not shown here]

M. Hanus and F. Steiner. Controlling Search in Declarative Programs. In Principles of Declarative Programming, pp. 374--390. Springer LNCS 1490, 1998.


An Open System to Support Web-based Learning (Extended Abstract) - Hanus, Huch   (Correct)

No context found.

M. Hanus and F. Steiner. Controlling Search in Declarative Programs. In Principles of Declarative Programming (Proc. Joint International Symposium PLILP/ALP'98), pp. 374-390. Springer LNCS 1490, 1998. 13

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