Results 1 
5 of
5
The Integration of Functions into Logic Programming: From Theory to Practice
 Journal of Logic Programming
, 1994
"... Abstract. Functional logic programming languages combine the most important declarative programming paradigms, and attempts to combine these paradigms have a long history. The declarative multiparadigm language Curry is influenced by recent advances in the foundations and implementation of function ..."
Abstract

Cited by 336 (54 self)
 Add to MetaCart
Abstract. Functional logic programming languages combine the most important declarative programming paradigms, and attempts to combine these paradigms have a long history. The declarative multiparadigm language Curry is influenced by recent advances in the foundations and implementation of functional logic languages. The development of Curry is an international initiative intended to provide a common platform for the research, teaching, and application of integrated functional logic languages. This paper surveys the foundations of functional logic programming that are relevant for Curry, the main features of Curry, and extensions and applications of Curry and functional logic programming. 1
Multiparadigm Declarative Languages
 In Proceedings of the International Conference on Logic Programming (ICLP 2007
, 2007
"... Abstract. Declarative programming languages advocate a programming style expressing the properties of problems and their solutions rather than how to compute individual solutions. Depending on the underlying formalism to express such properties, one can distinguish different classes of declarative l ..."
Abstract

Cited by 37 (17 self)
 Add to MetaCart
Abstract. Declarative programming languages advocate a programming style expressing the properties of problems and their solutions rather than how to compute individual solutions. Depending on the underlying formalism to express such properties, one can distinguish different classes of declarative languages, like functional, logic, or constraint programming languages. This paper surveys approaches to combine these different classes into a single programming language. 1
Declarative Programming with Real Constraints
, 1997
"... . We present a declarative language  CFLP (R)  which enhances functional logic programming with constraint solving capabilities. CFLP (R) features: polymorphic types, nondeterministic functions, lazy evaluation, higher order (even logic) computations, arithmetical constraints over real numbers a ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
. We present a declarative language  CFLP (R)  which enhances functional logic programming with constraint solving capabilities. CFLP (R) features: polymorphic types, nondeterministic functions, lazy evaluation, higher order (even logic) computations, arithmetical constraints over real numbers and disequality constraints over syntactic terms. The features of the language are shown by means of examples, attempting to demonstrate the interest of CFLP (R). The execution mechanism of the language results of a simple combination of lazy narrowing (with a sophisticated strategy, as realized in up to date functional logic languages) and constraint solving. The language has been implemented by means of translation of source programs into a Prolog system supporting real constraint solving. This shows the practicability of the proposal. 1 Introduction Constraints play a central role in present days research, development and application of logic programming (LP) languages (see [15] for a sur...
Programming with Multisets
, 1998
"... This paper proposes a novel way of introducing multisets into declarative programming languages. Starting from a standard definition of a multiset, suitable operations on multisets are defined and implemented in a declarative programming language, and a variety of programming examples are given to i ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
This paper proposes a novel way of introducing multisets into declarative programming languages. Starting from a standard definition of a multiset, suitable operations on multisets are defined and implemented in a declarative programming language, and a variety of programming examples are given to illustrate the utility of the ideas. This approach to multisets is compared with their treatment in the Z specification language and other approaches in programming languages. Multisets are recognised as being important in specification but are not normally provided as a fullyfledged data type in programming languages. The approach presented here helps to reduce this mismatch. 1 Introduction Intuitively, a multiset (also called a bag) is similar to a set, except that there can be multiple occurrences of items. There are various ways of formalising this intuition. The most natural and direct of these is as follows. Definition A multiset m on some set X is a function m : X ! fl, where fl is ...
FunctionalLogic Parsers In TOY
, 1998
"... Parsing has been a traditional workbench for showing the virtues of declarative programming. Both logic and functional programming claim the ability of writing parsers in a natural and concise way. We address here the task from a functionallogic perspective. By modelling parsers as nondeterministi ..."
Abstract
 Add to MetaCart
Parsing has been a traditional workbench for showing the virtues of declarative programming. Both logic and functional programming claim the ability of writing parsers in a natural and concise way. We address here the task from a functionallogic perspective. By modelling parsers as nondeterministic functions we achieve a very natural manner of building parsers, which combines the nicest properties of the functional and logic approaches. In particular, we are able to easily define within our framework parsers in a style very close to the `monadic parsers' of functional programming, but without any syntactic overhead. In a different direction we show that, if the functionallogic setting permits higherorder patterns while defining functions, parsers can be freely manipulated as data. This allows programming useful metalevel analysis or transformations, like discovering if the grammar corresponding to a given parser is LL(1). Finally, we sketch the potential application to parsing of f...