<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//TaxonX//DTD Taxonomic Treatment Publishing DTD v0 20100105//EN" "../../nlm/tax-treatment-NS0.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:tp="http://www.plazi.org/taxpub" article-type="research-article" dtd-version="3.0" xml:lang="en">
  <front>
    <journal-meta>
      <journal-id journal-id-type="publisher-id">109</journal-id>
      <journal-id journal-id-type="index">urn:lsid:arphahub.com:pub:3dc5f44e-8666-58db-bc76-a455210e8891</journal-id>
      <journal-title-group>
        <journal-title xml:lang="en">JUCS - Journal of Universal Computer Science</journal-title>
        <abbrev-journal-title xml:lang="en">jucs</abbrev-journal-title>
      </journal-title-group>
      <issn pub-type="ppub">0948-695X</issn>
      <issn pub-type="epub">0948-6968</issn>
      <publisher>
        <publisher-name>Journal of Universal Computer Science</publisher-name>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.3217/jucs-012-11-1574</article-id>
      <article-id pub-id-type="publisher-id">28701</article-id>
      <article-categories>
        <subj-group subj-group-type="heading">
          <subject>Research Article</subject>
        </subj-group>
        <subj-group subj-group-type="scientific_subject">
          <subject>D.1.1 - Applicative (Functional) Programming</subject>
          <subject>D.1.6 - Logic Programming</subject>
          <subject>F.3.2 - Semantics of Programming Languages</subject>
        </subj-group>
      </article-categories>
      <title-group>
        <article-title>Constructive Failure in Functional-Logic Programming: From Theory to Implementation</article-title>
      </title-group>
      <contrib-group content-type="authors">
        <contrib contrib-type="author" corresp="yes">
          <name name-style="western">
            <surname>Sánchez-Hernández</surname>
            <given-names>Jaime</given-names>
          </name>
          <email xlink:type="simple">jaime@sip.ucm.es</email>
          <xref ref-type="aff" rid="A1">1</xref>
        </contrib>
      </contrib-group>
      <aff id="A1">
        <label>1</label>
        <addr-line content-type="verbatim">Universidad Complutense de Madrid, , Spain</addr-line>
        <institution>Universidad Complutense de Madrid</institution>
        <country>Spain</country>
      </aff>
      <author-notes>
        <fn fn-type="corresp">
          <p>Corresponding author: Jaime Sánchez-Hernández (<email xlink:type="simple">jaime@sip.ucm.es</email>).</p>
        </fn>
        <fn fn-type="edited-by">
          <p>Academic editor: </p>
        </fn>
      </author-notes>
      <pub-date pub-type="collection">
        <year>2006</year>
      </pub-date>
      <pub-date pub-type="epub">
        <day>28</day>
        <month>11</month>
        <year>2006</year>
      </pub-date>
      <volume>12</volume>
      <issue>11</issue>
      <fpage>1574</fpage>
      <lpage>1593</lpage>
      <uri content-type="arpha" xlink:href="http://openbiodiv.net/709B8D41-0BE4-577A-8F0E-9940206F5AA8">709B8D41-0BE4-577A-8F0E-9940206F5AA8</uri>
      <uri content-type="zenodo_dep_id" xlink:href="https://zenodo.org/record/6999722">6999722</uri>
      <permissions>
        <copyright-statement>Jaime Sánchez-Hernández</copyright-statement>
        <license license-type="creative-commons-attribution" xlink:href="" xlink:type="simple">
          <license-p>This article is freely available under the J.UCS Open Content License.</license-p>
        </license>
      </permissions>
      <abstract>
        <label>Abstract</label>
        <p>Functional-logic programming amalgamates some of the main features of both functional and logic styles into a single paradigm. Nevertheless, negation is a widely investigated feature in logic programming that has not received much attention in such programming style. It is not difficult to incorporate some kind of negation as finite failure for ground goals, but we are interested in a constructive version able to deal with non-ground goals. With this aim, in previous works we have built a formal framework for checking (finite) failure of reduction. In this paper we adapt it for implementing a prototype for a functional-logic language with constructive failure as the natural counterpart to negation in logic programming.</p>
      </abstract>
    </article-meta>
  </front>
</article>
