Programming with Singular and Plural Non-deterministic Functions



Downloads per month over past year

Riesco Rodríguez, Adrián and Rodríguez-Hortalá, Juan (2010) Programming with Singular and Plural Non-deterministic Functions. In PEPM '10: PROCEEDINGS OF THE 2010 ACM SIGPLAN WORKSHOP ON PARTIAL EVALUATION AND PROGRAM. ACM, New York, pp. 83-92. ISBN 978-1-60558-727-1

[thumbnail of RodHotala02.pdf] PDF
Restringido a Repository staff only


Official URL:


Non-strict non-deterministic functions are one of the most distinctive features of functional-logic languages. Traditionally, two semantic alternatives have been considered for this kind of functions: call-time choice and run-time choice. While the former is the standard choice of modern implementations of FLP, the latter lacks some basic properties mainly compositionality that have prevented its use in practical FLP implementations. Recently, a new compositional plural semantics for FLP has been proposed. Although this semantics allows an elegant encoding of some problems in particular those with an implicit manipulation of sets of values, call-time choice still remains the best option for many common programming patterns. In this paper we explore the expressive possibilities of the combination of singular and plural non-determinism. After formalizing the intended semantics by means of a logic calculus, several significant examples exploiting the capabilities of the semantics are presented. These examples have been tested and developed in a Maude-based prototype whose implementation is outlined.

Item Type:Book Section
Additional Information:

ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation; Jan 18-19, 2010; Madrid, Spain

Uncontrolled Keywords:Non-deterministic functions; Semantics; Program transformation; Term rewriting; Maude
Subjects:Sciences > Computer science > Programming languages (Electronic computers)
ID Code:17952
Deposited On:25 Jan 2013 10:10
Last Modified:18 Jul 2018 10:48

Origin of downloads

Repository Staff Only: item control page