Skip Navigation

The Computer Journal 1988 31(3):243-247; doi:10.1093/comjnl/31.3.243
© 1988 by British Computer Society
This Article
Right arrow Full Text (PDF)
Right arrow Alert me when this article is cited
Right arrow Alert me if a correction is posted
Services
Right arrow Email this article to a friend
Right arrow Similar articles in this journal
Right arrow Similar articles in ISI Web of Science
Right arrow Alert me to new issues of the journal
Right arrow Add to My Personal Archive
Right arrow Download to citation manager
Right arrow Search for citing articles in:
ISI Web of Science (6)
Right arrowRequest Permissions
Google Scholar
Right arrow Articles by Burton, F. W.
Right arrow Search for Related Content
Social Bookmarking
 Add to CiteULike   Add to Connotea   Add to Del.icio.us  
What's this?

Nondeterminism with Referential Transparency in Functional Programming Languages*

F. W. Burton §

Department of Computer Science, 3160 MEB, University of Utah, Salt Lake City, Utah 84112, USA

Procedural programmers have found nondeterminism to be unavoidable in many parallel programs (e.g. operating systems). If function programming languages are to be usable as general-purpose parallel-programming languages then provision of some nondeterministic language construct appears to be necessary.

Existing constructs for nondeterminism are not functional and are not compatible with the mathematical foundations of functional programming, which require that the value of a function be uniquely determined by the values of its arguments.

We propose to solve this problem by placing the nondeterminism in pseudo-data. A program is passed an infinite tree of two-valued decisions, along with its input. These decisions may be fixed at run time, thereby permitting nondeterminism. Once fixed, a decision remains unchanged, so equivalent expressions must always have the same value.

The approach generalizes so that a program can make use of other run-time information such as the current time or the current amounts of available storage.


Received June 1986.

* This material is based upon work supported by the National Science Foundation under grant no. ECS-8312748 and grant no. DMC-8514946.

§ Department of Computer Science, 3160 MEB, University of Utah, Salt Lake City, Utah 84112, U.S.A.


Add to CiteULike CiteULike   Add to Connotea Connotea   Add to Del.icio.us Del.icio.us    What's this?




Disclaimer:
Please note that abstracts for content published before 1996 were created through digital scanning and may therefore not exactly replicate the text of the original print issues. All efforts have been made to ensure accuracy, but the Publisher will not be held responsible for any remaining inaccuracies. If you require any further clarification, please contact our Customer Services Department.