Results 11 - 20
of
24
A New Perspective on Integrating Functional and Logic Languages
- Languages, Proceedings of the 3rd International Conference on Fifth Generation Computer Systems
, 1992
"... Traditionally the integration of functional and logic languages is performed by attempting to integrate their semantic logics in some way. Many languages have been developed by taking this approach, but none manages to exploit fully the programming features of both functional and logic languages and ..."
Abstract
-
Cited by 14 (0 self)
- Add to MetaCart
Traditionally the integration of functional and logic languages is performed by attempting to integrate their semantic logics in some way. Many languages have been developed by taking this approach, but none manages to exploit fully the programming features of both functional and logic languages and provide a smooth integration of the two paradigms. We propose that improved integrated systems can be constructed by taking a broader view of the underlying semantics of logic programming. A novel integrated language paradigm, Definitional Constraint Programming (DCP), is proposed. DCP generalises constraint logic programming by admitting user-defined functions via a purely functional subsystem and enhances it with the power to solve constraints over functional programs. This constraint approach to integration results in a homogeneous unified system in which functional and logic programming features are combined naturally. 1 Introduction During the past ten years the integration of funct...
A Category-based Equational Logic Semantics to Constraint Programming
- IN MAGNE HAVERAAEN, OLAF OWE, AND OLE-JOHAN DAHL, EDITORS, RECENT TRENDS IN DATA TYPE SPECIFICATION
, 1996
"... This paper exploits the point of view of constraint programming as computation in a logical system, namely constraint logic. We define the basic ingredients of constraint logic, such as constraint models and generalised polynomials. We show that constraint logic is an institution, and we interna ..."
Abstract
-
Cited by 13 (4 self)
- Add to MetaCart
This paper exploits the point of view of constraint programming as computation in a logical system, namely constraint logic. We define the basic ingredients of constraint logic, such as constraint models and generalised polynomials. We show that constraint logic is an institution, and we internalise the study of constraint logic to the framework of category-based equational logic. By showing that constraint logic is a special case of category-based equational logic, we integrate the constraint logic programming paradigm into equational logic programming. Results include a Herbrand theorem for constraint logic programming characterising Herbrand models as initial models in constraint logic.
A Hidden Herbrand Theorem: Combining the Object and Logic Paradigms
- Principles of Declarative Programming
, 1998
"... : The benefits of the object, logic (or relational), functional, and constraint paradigms ..."
Abstract
-
Cited by 11 (3 self)
- Add to MetaCart
: The benefits of the object, logic (or relational), functional, and constraint paradigms
Category-based Modularisation for Equational Logic Programming
- Acta Informatica
, 1996
"... : Although modularisation is basic to modern computing, it has been little studied for logic-based programming. We treat modularisation for equational logic programming using the institution of category-based equational logic in three different ways: (1) to provide a generic satisfaction conditio ..."
Abstract
-
Cited by 5 (5 self)
- Add to MetaCart
: Although modularisation is basic to modern computing, it has been little studied for logic-based programming. We treat modularisation for equational logic programming using the institution of category-based equational logic in three different ways: (1) to provide a generic satisfaction condition for equational logics; (2) to give a category-based semantics for queries and their solutions; and (3) as an abstract definition of compilation from one (equational) logic programming language to another. Regarding (2), we study soundness and completeness for equational logic programming queries and their solutions. This can be understood as ordinary soundness and completeness in a suitable "non-logical" institution. Soundness holds for all module imports, but completeness only holds for conservative module imports. Categorybased equational signatures are seen as modules, and morphisms of such signatures as module imports. Regarding (3), completeness corresponds to compiler correc...
A Hidden Herbrand Theorem
"... . The benefits of the object, logic (or relational), functional, and constraint paradigms can be combined, by providing existential queries over objects and their attributes, subject to constraints. This paper provides a precise mathematical foundation for this novel programming paradigm, and sh ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
. The benefits of the object, logic (or relational), functional, and constraint paradigms can be combined, by providing existential queries over objects and their attributes, subject to constraints. This paper provides a precise mathematical foundation for this novel programming paradigm, and shows that it is computationally feasible by reducing it to familiar problems over term algebras (i.e., Herbrand universes) . We use the formalism of hidden logic, and our main result is a version of Herbrand's Theorem for that setting. By extending a result of Diaconescu, we lift our results from equational logic to Horn clause logic with equality. ? The research reported in this paper has been supported in part by the Science and Engineering Research Council, the EC under ESPRIT-2 BRA Working Groups 6071, IS-CORE and 6112, COMPASS, Fujitsu Laboratories Limited, and a contract under the management of the Information Technology Promotion Agency (IPA), Japan, as part of the Industrial Sc...
A Compositional Semantics for Conditional Term Rewriting Systems
- PROC. SIXTH IEEE INT’L CONF. ON COMPUTER LANGUAGES ICCL’94
, 1994
"... This paper considers compositions of conditional term rewriting systems as a basis for a modular approach to the design and analysis of equational logic programs. In this context, an equational logic program is viewed as consisting of a set of modules, each module defining a part of the program's ..."
Abstract
-
Cited by 4 (4 self)
- Add to MetaCart
This paper considers compositions of conditional term rewriting systems as a basis for a modular approach to the design and analysis of equational logic programs. In this context, an equational logic program is viewed as consisting of a set of modules, each module defining a part of the program's functions. We define a compositional semantics for conditional term rewriting systems which we show to be rich enough to capture computational properties related to the use of logical variables. We also study how such a semantics may be safely approximated, and how the results of such approximations may be composed to yield a bottom-up abstract semantics adequate for modular data-flow analysis. A compositional analysis for equational unsatisfiability illustrates our approach.
Tossing Algebraic Flowers down the Great Divide
- In People and Ideas in Theoretical Computer Science
, 1999
"... Data Types and Algebraic Semantics The history of programming languages, and to a large extent of software engineering as a whole, can be seen as a succession of ever more powerful abstraction mechanisms. The first stored program computers were programmed in binary, which soon gave way to assembly l ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
Data Types and Algebraic Semantics The history of programming languages, and to a large extent of software engineering as a whole, can be seen as a succession of ever more powerful abstraction mechanisms. The first stored program computers were programmed in binary, which soon gave way to assembly languages that allowed symbolic codes for operations and addresses. fortran began the spread of "high level" programming languages, though at the time it was strongly opposed by many assembly programmers; important features that developed later include blocks, recursive procedures, flexible types, classes, inheritance, modules, and genericity. Without going into the philosophical problems raised by abstraction (which in view of the discussion of realism in Section 4 may be considerable), it seems clear that the mathematics used to describe programming concepts should in general get more abstract as the programming concepts get more abstract. Nevertheless, there has been great resistance to u...
FALCON: Functional and Logic Language with Constraints
, 1993
"... Introduction During the past ten years, integration of functional and logic programming languages has attracted much research. An extensive survey and classification of their results can be found in [GLDD90]. Traditionally this integration is performed by attempting to integrate the respective sema ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
Introduction During the past ten years, integration of functional and logic programming languages has attracted much research. An extensive survey and classification of their results can be found in [GLDD90]. Traditionally this integration is performed by attempting to integrate the respective semantic logics of functional and logic languages in some way, resulting in a "super logic language". As we presented in Chapter ??, the conventional understanding of logic programming is that a logic program defines a logical theory and computation is attempting to prove that a query is a logical consequence of this theory. Taking this view, integration is regarded as enhancing the original logic underlying a logic programming system to cope with functional programming features and results in a new logic programming system. Most approaches take first-order equational logic as the semantic logic of functional languages and combine it with Horn clause logic. The following
Algebraic Semantics for Higher-order Functional-Logic Programming
- nd Fuji International Workshop on Functional and Logic Programming. World Scientific
, 1996
"... In this paper we give a semantics of higher-order functional-logic programming in the framework of typed universal algebra. The functional-logic language concerned here is an applicative term rewriting system in which there is no lambda abstraction mechanism. Therefore ordinary first-order narrowing ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
In this paper we give a semantics of higher-order functional-logic programming in the framework of typed universal algebra. The functional-logic language concerned here is an applicative term rewriting system in which there is no lambda abstraction mechanism. Therefore ordinary first-order narrowing can be used to solve higher-order query. The soundness and completeness of narrowing for both the initial and minimal applicative Herbrand model is shown. We discuss the requirements of "minimal" for applicative Herbrand model, which means that any elements in the domain must have denotations of some terms, is need to obtain the completeness of narrowing in the applicative case of functional-logic programming. 1. Introduction Semantics of first-order functional-logic programming has been deeply investigated. Two approaches are known for giving semantics. One approach is based on term rewriting. In this approach, a program of functional-logic languages is regarded as a conditional term rew...
Quasi-Boolean Encodings and Conditionals in Algebraic Specification
"... We develop a general study of the algebraic specification practice, originating from the OBJ tradition, which encodes atomic sentences in logical specification languages as Boolean terms. This practice originally motivated by operational aspects, but also leading to significant increase in expressiv ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
We develop a general study of the algebraic specification practice, originating from the OBJ tradition, which encodes atomic sentences in logical specification languages as Boolean terms. This practice originally motivated by operational aspects, but also leading to significant increase in expressivity power, has recently become important within the context of some formal verification methodologies mainly because it allows the use of simple equational reasoning for frameworks based on logics that do not have an equational nature. Our development includes a generic rigorous definition of the logics underlying the above mentioned practice, based on the novel concept of ‘quasi-Boolean encoding’, a general result on existence of initial semantics for these logics, and presents a general method for employing Birkhoff calculus of conditional equations as a sound calculus for these logics. The high level of generality of our study means that the concepts are introduced and the results are obtained at the level of abstract institutions (in the sense of Goguen and Burstall [12]) and are therefore applicable to a multitude of logical systems and environments.

