Concurrent Distinct Choices

by Sergio Antoy, Michael Hanus

Journal of Functional Programming, Vol. 14, No. 6, pp. 1-12, 2004

An injective finite mapping is an abstraction common to many programs. We describe the design of an injective finite mapping and its implementation in Curry, a functional logic language. Curry supports the concurrent asynchronous execution of distinct portions of a program. This condition prevents passing from one portion to another a structure containing a partially constructed mapping to ensure that a new choice does not violate the injectivity condition. We present some motivating problems and we show fragments of programs that solve these problems using our design and implementation.

Preprint (PDF) BibTeX-Entry Online