Failure and Equality in Functional Logic Programming

Constructive failure has been proposed recently as a programming construct useful for functional logic programming, playing a role similar to that of constructive negation in logic programming. On the other hand, almost any functional logic program requires the use of some kind of equality test betw...

Full description

Saved in:
Bibliographic Details
Published in:Electronic notes in theoretical computer science Vol. 86; no. 3; pp. 123 - 143
Main Authors: López-Fraguas, F.J., Sánchez-Hernández, J.
Format: Journal Article
Language:English
Published: Elsevier B.V 01.11.2003
Subjects:
ISSN:1571-0661, 1571-0661
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Constructive failure has been proposed recently as a programming construct useful for functional logic programming, playing a role similar to that of constructive negation in logic programming. On the other hand, almost any functional logic program requires the use of some kind of equality test between expressions. We face in this work in a rigorous way the interaction of failure and equality (even for non-ground expressions), which is a non trivial issue, requiring in particular the use of disequality conditions at the level of the operational mechanism of constructive failure. As an interesting side product, we develop a novel treatment of equality and disequality in functional logic programming, by giving them a functional status, which is better suited for practice than previous proposals.
ISSN:1571-0661
1571-0661
DOI:10.1016/S1571-0661(04)80697-2