Functions as passive constraints in LIFE
- 1 July 1994
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Programming Languages and Systems
- Vol. 16 (4), 1279-1318
- https://doi.org/10.1145/183432.183526
Abstract
LIFE is a programming language proposing to integrate logic programming, functional programming, and object-oriented programming. It replaces first-order terms with ψ-terms, data structures that allow computing with partial information. These are approximation structures denoting sets of values. LIFE further enriches the expressiveness of ψ-terms with functional dependency constraints. We must explain the meaning and use of functions in LIFE declaratively, as solving partial information constraints. These constraints do not attempt to generate their solutions but behave as demons filtering out anything else. In this manner, LIFE functions act as declarative coroutines. We need to show that the ψ-term's approximation semantics is congruent with an operational semantics viewing functional reduction as an effective enforcing of passive constraints. In this article, we develop a general formal framework for entailment and disentailment of constraints based on a technique called relative simplification. We study its operational and semantical properties, and we use it to account for functional application over ψ-terms in LIFE.Keywords
This publication has 11 references indexed in Scilit:
- A feature constraint system for logic programming with entailmentTheoretical Computer Science, 1994
- Towards a meaning of lifeThe Journal of Logic Programming, 1993
- Structural operational semantics for AKLFuture Generation Computer Systems, 1992
- Residuation and Guarded Rules for Constraint Logic ProgrammingPublished by Springer Nature ,1992
- Concurrent constraint programmingPublished by Association for Computing Machinery (ACM) ,1990
- Integrating logic and functional programmingHigher-Order and Symbolic Computation, 1989
- Unification RevisitedPublished by Elsevier ,1988
- Constraint logic programmingPublished by Association for Computing Machinery (ACM) ,1987
- An algebraic semantics approach to the effective resolution of type equationsTheoretical Computer Science, 1986
- Login: a logic programming language with built-in inheritanceThe Journal of Logic Programming, 1986