Programming with Singular and Plural Non-deterministic Functions
Loading...
Download
Official URL
Full text at PDC
Publication date
2010
Advisors (or tutors)
Editors
Journal Title
Journal ISSN
Volume Title
Publisher
ACM
Citation
Abstract
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.
Description
ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation; Jan 18-19, 2010; Madrid, Spain