 |
|
 |
Lazy evaluation | A Wisdom Archive on Lazy evaluation |  | Lazy evaluation A selection of articles related to Lazy evaluation |  |
 | |
Lazy evaluation
|  | | Page 1 » Page 2 « |  |
 | |
| ARTICLES RELATED TO Lazy evaluation |  |  |  | Lazy evaluation: Encyclopedia II - Functional programming - Higher-order functionsA powerful mechanism used in functional programming is the notion of higher-order functions. Functions are higher-order when they can take other functions as arguments, and/or return functions as results. (The differential operator in calculus is a common example of a function that maps a function to a function.)
Higher-order functions are closely related to first-class functions, in that higher-order functions and first-class functions both allow functions as arguments and results of other functions. The distinction between the two i ...
See also:Functional programming, Functional programming - History, Functional programming - Higher-order functions, Functional programming - Comparison with imperative programming, Functional programming - Pure functions, Functional programming - Monads, Functional programming - Expansion of functional programming, Functional programming - Speed and space considerations, Functional programming - Functional languages Read more here: » Functional programming: Encyclopedia II - Functional programming - Higher-order functions |
|  |
|  |  |  | Lazy evaluation: Encyclopedia II - Functional programming - Comparison with imperative programmingFunctional programming can be contrasted with imperative programming. Functional programming appears to be missing several constructs often (though incorrectly) considered essential to an imperative language such as C or Pascal. For example, in strict functional programming, there is no explicit memory allocation and no explicit variable assignment. However, these operations occur automatically when a function is invoked: memory allocation occurs to create space for the parameters and the return value, and assignment occurs to copy the param ...
See also:Functional programming, Functional programming - Introduction, Functional programming - History, Functional programming - Comparison with imperative programming, Functional programming - Functional programming languages, Functional programming - Higher-order functions, Functional programming - Speed and space considerations, Functional programming - Functional languages Read more here: » Functional programming: Encyclopedia II - Functional programming - Comparison with imperative programming |
|  |
|  |  |  | Lazy evaluation: Encyclopedia II - Functional programming - Functional languagesThe oldest example of a functional language is Lisp, though neither the original LISP nor modern Lisps such as Common Lisp are pure-functional. Lisp variants include Logo, Scheme, Dylan. The modern canonical examples are Haskell and members of the ML family including SML and OCaml. Others include Erlang, Clean, and Miranda. A third type of a commonly used functional language is Xslt. Another subset is the mathematics languages Maple and Mathematica.
Some computer languages, for example Tcl, Perl, Python & Ruby, can also be used in a functional style, ...
See also:Functional programming, Functional programming - Introduction, Functional programming - History, Functional programming - Comparison with imperative programming, Functional programming - Functional programming languages, Functional programming - Higher-order functions, Functional programming - Speed and space considerations, Functional programming - Functional languages Read more here: » Functional programming: Encyclopedia II - Functional programming - Functional languages |
|  |
|  |  |  | Lazy evaluation: Encyclopedia II - Coroutine - Brief comparison and exampleCoroutines are more generic than subroutines. The start of a subroutine is the only point of entry; the start of a coroutine is the first point of entry, and places within a coroutine following returns (yields) are subsequent points of entry. Subroutines can return only once; in contrast, coroutines can return (yield) several times. The lifespan of subroutines is dictated by last in, first out (the last subroutine called is the first to return); in contrast, the lifespan ...
See also:Coroutine, Coroutine - Brief comparison and example, Coroutine - Detailed comparison, Coroutine - Common uses of coroutines, Coroutine - Programming languages supporting coroutines, Coroutine - Coroutine alternatives and implementations, Coroutine - Implementations for C, Coroutine - Implementations for Python, Coroutine - Implementations for Ruby Read more here: » Coroutine: Encyclopedia II - Coroutine - Brief comparison and example |
|  |
| |  |  |  | Lazy evaluation: Encyclopedia II - Functional programming - HistoryLambda calculus, invented by Alonzo Church in the 1930s, provides a theoretical framework for describing functions and their evaluation. Though it is a mathematical abstraction rather than a programming language, lambda calculus forms the basis of almost all functional programming languages today.
The first computer-based functional programming language was Information Processing Language (IPL), developed by Newell, Shaw, and Simon at RAND Corporation for the JOHNNIAC computer in the mid-1950s. A much-improved functional programming l ...
See also:Functional programming, Functional programming - History, Functional programming - Higher-order functions, Functional programming - Comparison with imperative programming, Functional programming - Pure functions, Functional programming - Monads, Functional programming - Expansion of functional programming, Functional programming - Speed and space considerations, Functional programming - Functional languages Read more here: » Functional programming: Encyclopedia II - Functional programming - History |
|  |
| | |  |  |  | Lazy evaluation: Encyclopedia II - Coroutine - Detailed comparisonSince coroutines can have more points of entry and exit than subroutines, it is possible to implement any subroutine as a coroutine. Indeed, as Knuth describes it, "subroutines are special cases of ... coroutines."
Each time a subroutine is called (invoked), execution starts at the beginning of the invoked subroutine. Likewise, the first time a coroutine is invoked, execution starts at the beginning of the coroutine; however, each subsequent time a coroutine is invoked, execution resumes following the p ...
See also:Coroutine, Coroutine - Brief comparison and example, Coroutine - Detailed comparison, Coroutine - Common uses of coroutines, Coroutine - Programming languages supporting coroutines, Coroutine - Coroutine alternatives and implementations, Coroutine - Implementations for C, Coroutine - Implementations for Python, Coroutine - Implementations for Ruby Read more here: » Coroutine: Encyclopedia II - Coroutine - Detailed comparison |
|  |
| | | |  |  |  | Lazy evaluation: Encyclopedia II - Parallel computing - Parallel programming modelsMain article: Parallel programming model
A parallel programming model is a set of software technologies to express parallel algorithms and match applications with the underlying parallel systems. It encloses the areas of applications, languages, compilers, libraries, communication systems, and parallel I/O. People have to choose a proper parallel programming model or a form of mixture of the ...
See also:Parallel computing, Parallel computing - Parallel computing systems, Parallel computing - Performance vs. cost, Parallel computing - Algorithms, Parallel computing - Inter-thread communication, Parallel computing - Parallel programming, Parallel computing - Parallel programming models, Parallel computing - Topics in parallel computing Read more here: » Parallel computing: Encyclopedia II - Parallel computing - Parallel programming models |
|  |
| | | | |  |  |  | Lazy evaluation: Encyclopedia II - Parallel computing - Parallel programming modelsMain article: Parallel programming model
A parallel programming model is a set of software technologies to express parallel algorithms and match applications with the underlying parallel systems. It encloses the areas of applications, languages, compilers, libraries, communication systems, and parallel I/O. People have to choose a proper parallel programming model or a form of mixture of the ...
See also:Parallel computing, Parallel computing - Parallel computing systems, Parallel computing - Performance vs. cost, Parallel computing - Algorithms, Parallel computing - Inter-thread communication, Parallel computing - Parallel software, Parallel computing - Parallel programming models, Parallel computing - Topics in parallel computing Read more here: » Parallel computing: Encyclopedia II - Parallel computing - Parallel programming models |
|  |
| | | |  | | Page 1 » Page 2 « |  |
 | |
|
|