<?xml version="1.0" encoding="UTF-8"?>
<xml><records><record><source-app name="Bibcite" version="8.x">Drupal-Bibcite</source-app><ref-type>47</ref-type><contributors><authors><author><style face="normal" font="default" size="100%">Jan Christiansen</style></author><author><style face="normal" font="default" size="100%">Michael Hanus</style></author><author><style face="normal" font="default" size="100%">Fabian Reck</style></author><author><style face="normal" font="default" size="100%">Daniel Seidel</style></author></authors></contributors><titles><title><style face="normal" font="default" size="100%">A Semantics for Weakly Encapsulated Search in Functional Logic Programs</style></title></titles><keywords/><dates><year><style face="normal" font="default" size="100%">2013</style></year></dates><secondary-title><style face="normal" font="default" size="100%">Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming - PPDP  13</style></secondary-title><electronic-resource-num><style face="normal" font="default" size="100%">10.1145/2505879.2505896</style></electronic-resource-num><pages><style face="normal" font="default" size="100%">49-60</style></pages><abstract><style face="normal" font="default" size="100%">Encapsulated search is a key feature of (functional) logic languages. It allows the programmer to access and process different results of a non-deterministic computation within a program. Unfortunately, due to advanced operational features (lazy evaluation, partial values, infinite structures), there is no straightforward definition of the semantics of encapsulated search in functional logic languages. As a consequence, various proposals and implementations are available but a rigorous definition covering all semantical aspects does not exist. In this paper, we analyze the requirements of encapsulated search in a functional logic language like Curry and provide a comprehensive definition that covers weak encapsulation, a modular form of encapsulation, as well as nested applications of search operators. We set up a denotational semantics that distinguishes non-termination and different levels of failures in a computation. The semantics is also the basis of a practical implementation of search operators in the functional logic language Curry.</style></abstract><isbn><style face="normal" font="default" size="100%">978-1-4503-2154-9</style></isbn><publisher><style face="normal" font="default" size="100%">ACM Press</style></publisher></record></records></xml>
