@ARTICLE{AntoyHanus04JFP,
author       = {Antoy, S. and Hanus, M.},
title        = {Concurrent Distinct Choices},
year         = {2004},
journal      = {Journal of Functional Programming},
number       = {6},
pages        = {1-12},
volume       = {14},
abstract = {
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.
}
}
