Delay (programming)

Delay (programming)

In computer science, delayed evaluation is used in some programming languages to delay the evaluation on an expression until its value is needed.

Definition

The denotational semantics of programming languages can be used to provide a definition of futures: An expression of the form "delay" is defined by how it responds to an Eval message with environment E and customer C as follows:The "delay" expression sends C a newly created actor D which is a proxy for the value of the expression that has a "body" and an "environment" E that behaves as follows:

:* 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.

See also

* Future (programming)

References

*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.


Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Delay — Contents 1 Generally 2 Law 3 Telecommunications and broadcasting …   Wikipedia

  • Ada (programming language) — For other uses of Ada or ADA, see Ada (disambiguation). Ada Paradigm(s) Multi paradigm Appeared in 1980 Designed by MIL STD 1815/Ada 83: Jean Ichbiah Ada 95: Tucker Taft Ada 2005: Tucker Taft Stable release …   Wikipedia

  • Channel 5 (UK) programming — Channel 5 airs a wide variety of programming that coveres various genres and themes. Launched in 1997, the channel has always been seen to have less distinctive programming than their other terrestrial rivals at the BBC, ITV and Channel 4. The… …   Wikipedia

  • Monad (functional programming) — In functional programming, a monad is a programming structure that represents computations. Monads are a kind of abstract data type constructor that encapsulate program logic instead of data in the domain model. A defined monad allows the… …   Wikipedia

  • Turing (programming language) — Turing is a Pascal like programming language developed in 1982 by Ric Holt and James Cordy, then of University of Toronto, Canada. Turing is a descendant of Euclid, Pascal and SP/k that features a clean syntax and precise machine independent… …   Wikipedia

  • Digital delay generator — A digital delay generator is a piece of electronic test equipment that provides precise delays for triggering, syncing, delaying and gating events. These generators are used in many types of experiments, controls and processes where electronic… …   Wikipedia

  • Extreme Programming — (or XP) is a software engineering methodology (and a form of agile software development) Human Centred Technology Workshop 2005 , 2005, PDF webpage: [ftp://ftp.informatics.sussex.ac.uk/pub/reports/csrp/csrp585.pdf Informatics UK report cdrp585]… …   Wikipedia

  • Language delay — is a failure to develop language abilities on the usual developmental timetable. Language delay is distinct from speech delay, in which the speech mechanism itself is the focus of delay. Thus, language delay refers specifically to a delay in the… …   Wikipedia

  • Oz (programming language) — Oz Paradigm(s) multi paradigm: logic, functional, imperative, object oriented, constraint, distributed, concurrent Appeared in 1991 Designed by Gert Smolka, his students Developer Mozart …   Wikipedia

  • Children's programming on CBS — In regards to children s programming, CBS has aired mostly animated series, such as the original versions of Scooby Doo, Fat Albert and the Cosby Kids, Jim Henson s Muppet Babies, Garfield and Friends and Teenage Mutant Ninja Turtles. Contents 1… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”