#### DMCA

## A Multiparadigm Declarative Language (2011)

### Citations

10612 | Introduction to algorithms. - Cormen, Leiserson, et al. - 2001 |

1847 | The stable model semantics for logic programming.
- Gelfond, Lifschitz
- 1988
(Show Context)
Citation Context ...definition, safe c reduces to true, while for the rest of nodes it reduces to false. Failure may also be used for programming two-person finite games in an easy and elegant way (following the idea of =-=[18]-=- in logic programming). Assume such a game in which players make a move in turn, until it is not possible to continue. At this stage, the player that cannot move losses, so the winner is the one that ... |

1341 | Tcl and the Tk Toolkit.
- Ousterhout
- 1994
(Show Context)
Citation Context ...l User Interface (GUI), which has been developed following the ideas presented in [24]. More concretely, the graphic input/output has been implemented by means of a GUI system module, based on Tcl/Tk =-=[42]-=- (see Section 7.5). Finally, in Section 7.6 we describe list comprehensions, a powerful notation to write expressions of type list which is available also in Haskell and some other functional (logic) ... |

869 | Constraint logic programming: a survey, - Jaffar, Maher - 1994 |

429 |
Parallel constraint satisfaction in logic programming: Preliminary results of chip within PEPSys.
- Hentenryck
- 1989
(Show Context)
Citation Context ... 17, 23, 2, 8, 12, 10, 19, 7, 11, 15, 3, 1, 26, 6, 22, 14, 18 ] } Elapsed time: 9735 ms. 3.3.5 Magic Series (magicser.toy) We present another simple (and well-known) example, the magic series problem =-=[50]-=-. Let S = (s0, s1, . . . , sN−1) be a non-empty finite serial of non-negative integers. As convention, we number its elements from 0. The serial S is said N-Magic if and only if there are si occurrenc... |

424 | Principal type-schemes for functional programs.
- Damas, Milner
- 1982
(Show Context)
Citation Context ...cation has the same behaviour and complexity as syntactic unification of terms in Prolog. 2.2 Types T OY is a typed programming language, based essentially on the Damas-Milner polymorphic type system =-=[12]-=-. Programs are tested for well-typedness at compile time by means of a type inference algorithm (see Appendix E). In particular, each occurrence of an expression in a T OY program has a type that can ... |

302 | A needed narrowing strategy.
- Antoy, Echahed, et al.
- 2000
(Show Context)
Citation Context ...em will answer no if no more solutions can be computed (as in this example), and it will display the next solution otherwise. As an example of a goal with several solution, consider: Toy> Xs ++ Ys == =-=[1,2]-=- { Xs -> [], Ys -> [ 1, 2 ] } Elapsed time: 0 ms. sol.1, more solutions (y/n/d/a) [y]? { Xs -> [ 1 ], Ys -> [ 2 ] } Elapsed time: 0 ms. sol.2, more solutions (y/n/d/a) [y]? { Xs -> [ 1, 2 ], Ys -> [] ... |

261 |
Introduction to Functional Programming using Haskell,
- Bird
- 1988
(Show Context)
Citation Context ...N1 is N+1, constrain_between(X, Ys, N1). no_threat(X, Y, I) :- X #\= Y, X+I #\= Y, X-I #\= Y. With the file appendfd.toy loaded and compiled in the FD system, one can submit the goal: evalfd "queens" =-=[4]-=- == L which returns as possible solutions: L == [2,4,1,3]; L == [3,1,4,2] Another goal is: evalfd "queens" [1+3] == (append [2,4] [1,3]) which returns success. evalfd can also be used to determine the... |

249 | Report on the programming language HASKELL a non-strict, purely functional language, version 1.3,
- Hudak
- 1996
(Show Context)
Citation Context ...res, including numerals, if - then - else conditional expressions, and infix operators (see Section 2.7). However, λ-abstractions are not supported. Otherwise, T OY syntax is quite similar to Haskell =-=[26]-=- syntax, although some predefined symbols and conventions are different. Most notably, Haskell reserves identifiers starting with an uppercase letter for types and data constructors, while variable id... |

158 | Definitional trees.
- Antoy
- 1992
(Show Context)
Citation Context ...rror and repeat the command /compile(insert) until no error is found. 5. Load the compiled file with: Toy> /load(insert) The program is ready to be used. 6. Now we can submit a goal as: Toy> insert 0 =-=[1,2,3]-=- == R and T OY will yield a first computed answer: { R -> [ 0, 1, 2, 3 ] } Elapsed time: 0 ms. sol.1, more solutions (y/n/d/a) [y]? If we type y, the system will provide another computed answer. In th... |

144 |
TOY: A multiparadigm declarative system.
- Lopez-Fraguas, Sanchez-Hernandez
- 1999
(Show Context)
Citation Context ...ces to true because the function head is not defined for the empty list, while fails (head [1,2]) reduces to false. The semantics of failure in functional logic programming has been widely studied in =-=[34, 31, 35, 32, 36, 30]-=-. For the moment T OY incorporates a restricted version of the constructive failure investigated in such works4. The restriction is similar to that of negation as finite failure in Prolog: in order to... |

135 | Programming with constraints. - Marriot, Stuckey - 1998 |

128 | Recent research directions in automated timetabling”,
- Burke, Petrovic
- 2002
(Show Context)
Citation Context ...ions. This notation allows to define lists in a compact way, describing the properties which must satisfy the elements of a list, instead of enumerating its elements. Here is an example: [X*X || X <- =-=[1,2,3,4,5,6,7,8,9,10]-=-, odd X] 167 The evaluation of the above comprehension list returns the list [1,9,25,49,81] as result, i.e., it returns the list of squares of odd3 numbers in the range 1 to 10. Formally, a list compr... |

121 |
The implementation of functional programming languages.
- Peyton-Jones
- 1987
(Show Context)
Citation Context ... extend (the call-by-value used in LP vs. the call-byneed used in FP ). Strictly speaking, lazy evaluation may also correspond to the notion of only once evaluated in addition to only required extent =-=[43]-=-. T OY increases the power of CLP (FD) by incorporating a novel mechanism that combines lazy evaluation and FD constraint solving, in such a way that only the demanded constraints are sent to the solv... |

106 |
An approach to declarative programming based on a rewriting logic.
- González-Moreno, Hortalá-González, et al.
- 1999
(Show Context)
Citation Context ...n ‘-->’, to indicate that a particular function is deterministic. Determinism is an undecidable semantic property. There are sufficient conditions for determinism that can be decided efficiently, see =-=[19]-=-. The current system, however, does not check wether the functions defined by ‘=’ rules are indeed deterministic. A goal such as ancestorOf "alan" == P can be solved by the T OY system. The expected a... |

96 | A demand driven computation strategy for lazy narrowing.
- Loogen, López-Fraguas, et al.
- 1993
(Show Context)
Citation Context ...isequations, linear arithmetic constraints over the real numbers and finite domain constraints. Computations in T OY solve goals by means of a demand driven lazy narrowing strategy, first proposed in =-=[33]-=- and closely related to the needed narrowing strategy independently introduced in [2]. This computation model subsumes both lazy evaluation and SLD resolution as particular cases. For T OY programs us... |

92 | Memetic Algorithm for University Exam Timetabling.
- Burke, Newall, et al.
- 1996
(Show Context)
Citation Context ... f x Xs)wheref x X = [e || q] As an example, consider again the comprehesion list: 3We are assuming that the file misc.toy, containing the function odd, has been previously included. 168 [X*X || X <- =-=[1,2,3,4,5,6,7,8,9,10]-=-, odd X] The translation of this comprehension list by applying the translation rules is the following: [X*X || X <- [1,2,3,4,5,6,7,8,9,10], odd X] = concat (map f x [1,2,3,4,5,6,7,8,9,10]) where f x ... |

83 | A Declarative Debugging Scheme.
- Naish
- 1997
(Show Context)
Citation Context ...for the error. In the case of (constraint) logic programs, error symptoms can be either wrong or missing computed answers. The overall idea behind declarative debugging is to build a computation tree =-=[41]-=- as logical representation of the computation. Each node in such a tree represents the result of a computation step, which must follow from the results of its children nodes by some logical inference.... |

75 | Global Constraints as Graph Properties on a Structured Network of Elementary Constraints of the Same Type.
- Beldiceanu
- 2000
(Show Context)
Citation Context ...es a value in the list L (with integers and/or FD variables). It returns false in other case. • Reifiable: Yes. • Example: The next goal shows a use of reification: Toy(FD)> domain [X] 0 4, belongs X =-=[1,3]-=- == B, labeling [] [X] { X -> 1, B -> true } Elapsed time: 0 ms. sol.1, more solutions (y/n/d/a) [y]? a { X -> 3, B -> true } Elapsed time: 0 ms. sol.2, more solutions (y/n/d/a) [y]? { X -> 0, B -> fa... |

55 | A hybrid algorithm for the examination timetabling problem., in: - Merlot, Boland, et al. - 2002 |

48 | A functional logic programming approach to graphical user interfaces.
- Hanus
- 2000
(Show Context)
Citation Context .... In addition to the standard input/output, T OY provides also text files (see Section 7.4) and a declarative Graphical User Interface (GUI), which has been developed following the ideas presented in =-=[24]-=-. More concretely, the graphic input/output has been implemented by means of a GUI system module, based on Tcl/Tk [42] (see Section 7.5). Finally, in Section 7.6 we describe list comprehensions, a pow... |

40 | Why no one uses functional languages
- Wadler
- 1998
(Show Context)
Citation Context ...ve languages on practical applications is inhibited by many known factors, including lack of debugging tools, whose construction is recognized as difficult for lazy functional languages. As argued in =-=[52]-=-, such debuggers are needed, and much of interest can be still learned from their construction and use. Debugging tools for lazy functional logic languages are even harder to construct. A promising ap... |

23 | The design of memetic algorithms for scheduling and timetabling problems,”
- Burke, Silva
- 2005
(Show Context)
Citation Context ...ions. This notation allows to define lists in a compact way, describing the properties which must satisfy the elements of a list, instead of enumerating its elements. Here is an example: [X*X || X <- =-=[1,2,3,4,5,6,7,8,9,10]-=-, odd X] 167 The evaluation of the above comprehension list returns the list [1,9,25,49,81] as result, i.e., it returns the list of squares of odd3 numbers in the range 1 to 10. Formally, a list compr... |

23 |
M.: Theoretical Foundations for the Declarative Debugging of Lazy Functional-Logic Programs
- Caballero, López-Fraguas, et al.
- 2001
(Show Context)
Citation Context ...us -lifted- top element) or lift I with I ∈ Integers. Each element imposes the constraint SV1 + I ≤ SV2 , if I is an integer; and SV2 ≤ SV1 otherwise. • Reifiable: No. • Examples: Toy(FD)> cumulative =-=[0,5,8]-=- [1,1,2] == U, U [1,1,1] 10 == I { U -> (cumulative [ 0, 5, 8 ] [ 1, 1, 2 ]), I -> true } Elapsed time: 0 ms. sol.1, more solutions (y/n/d/a) [y]? no Elapsed time: 0 ms. Toy(FD)> serialized’ [1,3] [1,... |

23 |
An integrated functional logic language (version 0.8.2). Available at http://www.informatik.uni-kiel.de/~curry/report.html
- Curry
(Show Context)
Citation Context ...does not change the world, returning a value of type io A. • getLine :: io string which reads a line of text from the standard input. 7.2 Sequencing Input/Output Functions As in Haskell [26] or Curry =-=[23]-=-, the way of combining sequences of input/output operations is done by means of the following two binding functions: (>>) :: io A -> io B -> io B (>>=) :: io A -> (A -> io B) -> io B Supposing that p ... |

19 |
A Declarative Debugging System for Lazy Functional Logic Programs
- Caballero, Rodŕıguez-Artalejo
(Show Context)
Citation Context ...llowed. • Priorities: infix 20 #=, #\= (infix) infix 30 #<, #<=, #>, #>= (infix) • Examples: The next goal returns true and restricts X and Y to have values in the closed integer intervals [2,10] and =-=[1,9]-=- respectively (as a consequence of range narrowing). Toy(FD)> domain [X,Y] 1 10, X #> Y { Y #< X, X in 2..10, Y in 1..9 } Elapsed time: 0 ms. sol.1, more solutions (y/n/d/a) [y]? no Elapsed time: 0 ms... |

19 | Polymorphic types in functional logic programming. - Gonzalez-Moreno, Hortala-Gonzalez, et al. - 1999 |

19 | Lightweight GUIs for functional programming
- Vullinghs, Tuinman, et al.
- 1995
(Show Context)
Citation Context ...does not require extra information, because all that it needs is contained in the proper GUI; but in general, the event handlers are more complicated and it is usually useful to use mutable variables =-=[26, 51]-=- in order to store states. 165 7.5.1 Mutable Variables T OY incorporates the possibility of using mutable variables. The system module io_graphic defines operations to manipulate the State Reader mona... |

18 | Solving combinatorial problems with a constraint functional logic language.
- Fernandez, Hortala-Gonzalez, et al.
- 2003
(Show Context)
Citation Context ...luation and FD constraint solving, in such a way that only the demanded constraints are sent to the solver. For example, it is possible 66 to manage infinite lists of constraints. 3.1.1 Efficiency In =-=[16]-=- we showed that T OY is fairly efficient as, in general, behaves closely to SICStus. Despite this is not surprisingly as it is implemented on top of SICStus, we think that it is important to show that... |

17 | Some new optimum golomb rulers. - Shearer - 1990 |

16 | Bounds and construction for difference triangle sets. - Klove - 1989 |

11 | A Correctness Proof for Warren’s HO into FO Translation.
- Gonzalez-Moreno
- 1993
(Show Context)
Citation Context ...for implementing narrowing. Variables and expressions are represented via Prolog variables and terms, respectively. FD higher order programs are firstly translated into first order programs following =-=[20]-=-. Equality and disequality constraints are also represented by terms following an infix representation for operators ’==’ and ’/=’. In this approach, we can take advantage of Prolog’s unification, sav... |

11 |
An overview of Lambda-Prolog
- Nadathur, Miller
(Show Context)
Citation Context ... of the map function: mapRel :: (A -> B -> bool) -> [A] -> [B] -> bool mapRel R [] [] :- true. mapRel R (X:Xs) (Y:Ys) :- R X Y, mapRel Xs Ys In relational logic programming languages such as λ-Prolog =-=[40]-=-, user-defined functions are not available. Therefore, mapRel must be used instead of map. In a multiparadigm language there is more room for choice. Often, functions behave better than predicates if ... |

10 | An interval lattice-based constraint solving framework for lattices, in:
- Fernández, Hill
- 1999
(Show Context)
Citation Context ...dly applied to other domains. In a multi-domain setting, although only one domain can be used at the same time, i.e., there is no hybrid computation for different domains as presented for instance in =-=[17]-=-, several domains could be managed from the same FD program, therefore allowing to solve differentby-nature subproblems on a compositional approach. A possible drawback that may be seen in our approac... |

10 | A memetic algorithm for university course timetabling. - Rossi-Doria, Paechter - 2004 |

5 |
Vado-Vı́rseda. A Proposal for the Cooperation
- Estévez-Mart́ın, Fernández, et al.
(Show Context)
Citation Context ...ttened to the constraints RX#+ 2 →!Z and Z# < 3, where Z is a new variable. When constraints are totaly flattened, then they are submitted to their solvers, and projection takes place as explained in =-=[13]-=-. 4.4.1 Projection from FD to R In order to project a constraint from FD to R, we follow two steps. First, it is checked if each variable has its corresponding bridge. If the variable has no bridges, ... |

5 |
T OY: Un lenguaje lógico funcional con restricciones. Research work, Universidad Complutense de
- Sánchez-Hernández
- 1998
(Show Context)
Citation Context ...nditions on parameters of an FD call as well as its outcome. Demand driven strategy implemented by FD follows [33] which in turn uses definitional trees [1]. Details of implementation can be found in =-=[45]-=-. However, we are interested in rule application for FD functions, which has a specific handling due to the conditions which must hold. In particular, arguments have to be integers, as well as the res... |

4 | Programacion Logica de Orden Superior con Combinadores - Gonzalez-Moreno - 1994 |

4 | Golomb ruler table. www.research.ibm.com/people/s/shearer/- grtab.html - Shearer - 2004 |

3 |
Vado Vı́rseda, A fully sound goal solving calculus for the cooperation of solvers in the cflp scheme
- Estevez, Fernandez, et al.
(Show Context)
Citation Context ... } Elapsed time: 0 ms. sol.2, more solutions (y/n/d/a) [y]?n 125 Chapter 5 Strategies for the Coperation of Constraint Domains The goal solving calculus for the cooperation of solvers can be found in =-=[14, 15]-=-. This calculus leaves ample room for choosing a particular goal transformation at each step, so that, many different computations can be defined. The toy implementation follows a particular strategy ... |

3 | Interfacing a Functional Logic Language with a Finite Domain Solver
- Hortalá-González, Sáenz-Pérez
- 2002
(Show Context)
Citation Context ...6 Interfacing T OY with a CLP Finite Domain Solver In this chapter, we present a straightforward way for interfacing the functional logic language T OY with a finite domain solver (first described in =-=[25]-=-). Since FD programs are compiled to Sicstus Prolog programs, we use the Sicstus finite domain library to allow the expression of a finite domain, Prolog-coded problem in FD. Finite domain FD programs... |

3 |
López-Fraguas and Jaime Sánchez-Hernández. TOY: A multiparadigm declarative system
- Javier
- 1999
(Show Context)
Citation Context ...ces to true because the function head is not defined for the empty list, while fails (head [1,2]) reduces to false. The semantics of failure in functional logic programming has been widely studied in =-=[34, 31, 35, 32, 36, 30]-=-. For the moment T OY incorporates a restricted version of the constructive failure investigated in such works4. The restriction is similar to that of negation as finite failure in Prolog: in order to... |

3 |
editor). Pakcs 1.4.0, user manual. The Portland Aachen Kiel Curry System. Available from http : //www.informatik.uni− kiel.de/ pakcs
- Hanus
- 2002
(Show Context)
Citation Context ... significantly the computation time. Moreover, in the same paper we showed that T OY is about two and five times faster (and even much more in scalable problems) than another CFLP (FD) implementation =-=[37]-=- which is said to be efficient in its Web page (http://redstar.cs.pdx.edu/∼pakcs/). 3.1.2 Modes and Bidirectionality Each N-arity predefined constraint and (constraint-related-)function is listed with... |

3 | Routing with Constraint Logic Programming and Delay - Channel - 1996 |

2 | A Cooperative Framework Based on Local Search and Constraint Programming for Solving Discrete Global Optimisation - Castro, Moossen, et al. - 2004 |

2 | Using Constraint Programming and Local Search for Scheduling of Electricité de France Nuclear Power Plant Outages - Khemmoudj, Porcheron, et al. - 1998 |

2 |
López-Fraguas and Jaime Sánchez-Hernández. A proof theoretic approach to failure in functional logic programming. Theory Pract
- Francisco
(Show Context)
Citation Context ...ces to true because the function head is not defined for the empty list, while fails (head [1,2]) reduces to false. The semantics of failure in functional logic programming has been widely studied in =-=[34, 31, 35, 32, 36, 30]-=-. For the moment T OY incorporates a restricted version of the constructive failure investigated in such works4. The restriction is similar to that of negation as finite failure in Prolog: in order to... |

2 |
López-Fraguas and Jaime Sánchez-Hernández. Narrowing failure in functional logic programming
- Javier
- 2002
(Show Context)
Citation Context |

2 |
Implementing constructive failure in functional logic programming
- Sánchez-Hernández
- 2005
(Show Context)
Citation Context ...ormal semantics, according to lazy evaluation is that fails e returns true if e can not be reduced to head normal form (variable or constructor rooted term) and false otherwise. 4There prototype OOPS =-=[46]-=- available at http://babel.dacya.ucm.es/jaime/systems.html incorporates constructive failure in a functional logic language. 51 bd c a We can represent it in FLP and define a function path for checkin... |

2 |
SICStus Prolog user’s manual, release 3#8. By the Intelligent Systems
- manual
- 1999
(Show Context)
Citation Context ...osé J. Ruz Ortiz. 7 Chapter 1 Getting Started 1.1 Supported Platforms and System Requirements The current version T OY works on most operating systems, which are the ones supported by SICStus Prolog =-=[49]-=-. This Prolog system (version 3.8.4 or higher) is required whenever you want to use T OY from a Prolog interpreter as will be described in the next section. Anyway, you can also use the binary distrib... |

1 |
Teresa Hortalá-González, Mario RodŕıguezArtalejo, and Rafael del Vado Vı́rseda. Cooperation of constraint domains in the toy system
- Estévez-Mart́ın, Fernández, et al.
(Show Context)
Citation Context ...s ei. For example, using a function snd :: A -> B -> B snd X Y = Y as well as other functions presented in previous examples, one can build the well-typed goal snd (head [Xs,[true]]) == snd (head [Ys,=-=[15]-=-]) where both sides of the strict equality have type B -> B under the type assumptions Xs :: [bool], Ys :: [ int]. In order to solve this goal, T OY starts with an opaque decomposition step leading to... |