Delay (programming)
From Wikipedia, the free encyclopedia
| It has been suggested that this article or section be merged with lazy evaluation. (Discuss) |
In computer science, delayed evaluation is used in some programming languages to delay the evaluation on an expression until its value is needed.
The denotational semantics of programming languages can be used to provide a definition of futures: An expression of the form delay
-
- When D receives a request R, then it checks to see if it has already received a return value from evaluating
proceeding as follows:
-
- If it already has a return value V, then V is sent the request R.
- If it does not already have a return value then it sends
an Eval message and stores the returned value in itself, then the returned value is sent the request R.
- When D receives a request R, then it checks to see if it has already received a return value from evaluating
- Daniel Friedman and David Wise. "Cons should not evaluate its arguments." S. Michaelson and R. Milner, editors, Automata, Languages and Programming, Edinburgh University Press, Edinburgh. 1976.
- Henry Lieberman. Thinking About Lots of Things at Once without Getting Confused: Parallelism in Act 1 MIT AI memo 626. May 1981.
- Henry Lieberman. A Preview of Act 1 MIT AI memo 625. June 1981.