 |
|
 |
Lazy evaluation | A Wisdom Archive on Lazy evaluation |  | Lazy evaluation A selection of articles related to Lazy evaluation |  |
|
More material related to Lazy Evaluation can be found here:
|
|
|  | |
Lazy evaluation
|  | | » Page 1 « Page 2 |  |
 | |
|
ARTICLES RELATED TO Lazy evaluation | |
 |  |  | Lazy evaluation: Encyclopedia II - Functional programming - IntroductionMathematical functions have great strengths in terms of flexibility and analysis. For example, if a function is known to be idempotent, then a call to a function which has its own output as its argument, and which is known to have no side-effects, may be efficiently computed without multiple calls.
A function in this sense has zero or more parameters and a single return value. The parameters—or arguments, as they are sometimes called—are the inputs to the function, and the return value is the function's output. The definition of a ...
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 - Introduction |
|  |
|
 |  |  | Lazy evaluation: Encyclopedia II - Coroutine - Coroutine alternatives and implementationsAs of 2003, many of the most popular programming languages, including C and its derivatives, do not have direct support for coroutines within the language or their standard libraries. (This is, in large part, due to the limitations of stack-based subroutine implementation).
In situations in which a coroutine would be the natural implementation of a mechanism, but is not available, the typical response is to create a subroutine that uses an ad-hoc assemblage of boolean flags and other state variables to maintain an internal state betwe ...
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 - Coroutine alternatives and implementations |
|  |
|
|
 |  |  | Lazy evaluation: Encyclopedia II - Optimization computer science - Automated and manual optimizationOptimization can be automated by compilers or performed by programmers. Gains are usually limited for local optimization, and larger for global optimizations. Usually, the most powerful optimization is to find a superior algorithm.
Optimizing a whole system is usually done by human beings because the system is too complex for automated optimizers. Grid computing or distributed computing aims to optimize the whole ...
See also:Optimization computer science, Optimization computer science - Basis, Optimization computer science - Tradeoff, Optimization computer science - Different fields, Optimization computer science - Bottlenecks, Optimization computer science - When to optimize, Optimization computer science - Interpreted languages, Optimization computer science - Automated and manual optimization, Optimization computer science - Time taken for optimization, Optimization computer science - Techniques, Optimization computer science - Quotes, Optimization computer science - Subpages Read more here: » Optimization computer science: Encyclopedia II - Optimization computer science - Automated and manual optimization |
|  |
|
|
 |  |  | Lazy evaluation: Encyclopedia II - Functional programming - Pure functionsPurely functional programs have no side-effects. Since functions do not modify state, no data may be changed by parallel function calls. For this reason, pure functions are always thread-safe, a fact which is exploited by languages that use call-by-future evaluation. Because ordering of side-effects does not have to be preserved in their absence, some languages (such as Haskell) use call-by-need evaluation for pure functions.
"Pure" functional programming languages typically enforce referential transparency, which is the notion ...
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 - Pure functions |
|  |
|
|
 |  |  | Lazy evaluation: Encyclopedia II - Optimization computer science - Different fieldsIn operations research, optimization is the problem of determining the inputs of a function that minimize or maximize its value. Sometimes constraints are imposed on the values that the inputs can take; this problem is known as constrained optimization.
In computer programming, optimization usually specifically means to modify code and its compilation settings on a given computer architecture to produce more efficient software.
Typical problems have such a large number of possibilities that a ...
See also:Optimization computer science, Optimization computer science - Basis, Optimization computer science - Tradeoff, Optimization computer science - Different fields, Optimization computer science - Bottlenecks, Optimization computer science - When to optimize, Optimization computer science - Interpreted languages, Optimization computer science - Automated and manual optimization, Optimization computer science - Time taken for optimization, Optimization computer science - Techniques, Optimization computer science - Quotes, Optimization computer science - Subpages Read more here: » Optimization computer science: Encyclopedia II - Optimization computer science - Different fields |
|  |
|
 |  |  | Lazy evaluation: Encyclopedia II - Functional programming - Functional languagesThe first computer-based functional programming language was Information Processing Language (IPL) from the RAND corporation. Another very old functional language is Lisp, though neither the original LISP nor modern Lisps such as Common Lisp are pure-functional. Some Lisp variants include Scheme, Dylan, and Logo (though Logo is an imperitive language). 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. Ano ...
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 - Functional languages |
|  |
|
 |  |  | Lazy evaluation: Encyclopedia II - Optimization computer science - BottlenecksOptimization requires finding a bottleneck: the critical part of the code that is the primary consumer of the needed resource. Improving about 20% of code is often responsible for 80% of the results (see also Pareto principle).
The architectural design of a system overwhelmingly affects its performance. The choice of algorithm affects efficiency more than any other item of the design. More complex algorithms and data structures perform well with many items, while simple algorithms are more suitable for small amounts of data — the setup and initialization ...
See also:Optimization computer science, Optimization computer science - Basis, Optimization computer science - Tradeoff, Optimization computer science - Different fields, Optimization computer science - Bottlenecks, Optimization computer science - When to optimize, Optimization computer science - Interpreted languages, Optimization computer science - Automated and manual optimization, Optimization computer science - Time taken for optimization, Optimization computer science - Techniques, Optimization computer science - Quotes, Optimization computer science - Subpages Read more here: » Optimization computer science: Encyclopedia II - Optimization computer science - Bottlenecks |
|  |
|
|
 |  |  | Lazy evaluation: Encyclopedia II - Optimization computer science - TechniquesLoad balancing spreads the load over a large number of servers. Often load balancing is done transparently (i.e., without users noticing it), using a so-called layer 4 router.
Caching stores intermediate products of computation to avoid duplicate computations.
...
See also:Optimization computer science, Optimization computer science - Basis, Optimization computer science - Tradeoff, Optimization computer science - Different fields, Optimization computer science - Bottlenecks, Optimization computer science - When to optimize, Optimization computer science - Interpreted languages, Optimization computer science - Automated and manual optimization, Optimization computer science - Time taken for optimization, Optimization computer science - Techniques, Optimization computer science - Quotes, Optimization computer science - Subpages Read more here: » Optimization computer science: Encyclopedia II - Optimization computer science - Techniques |
|  |
|
 |  |  | Lazy evaluation: Encyclopedia II - Optimization computer science - Time taken for optimizationOn some occasions, the time taken for optimization in itself may be an issue.
In a software project, optimizing code usually does not add a new feature, and worse, it might break existing functionalities. Because optimized code has lesser readability then a straightforward code, optimization may well hurt the maintainability of the program as well. In short, optimization becomes a cost and it is important to be sure that the investment pays off.
The optimizer (a program that does optimization) may have to be optimized as well. ...
See also:Optimization computer science, Optimization computer science - Basis, Optimization computer science - Tradeoff, Optimization computer science - Different fields, Optimization computer science - Bottlenecks, Optimization computer science - When to optimize, Optimization computer science - Interpreted languages, Optimization computer science - Automated and manual optimization, Optimization computer science - Time taken for optimization, Optimization computer science - Techniques, Optimization computer science - Quotes, Optimization computer science - Subpages Read more here: » Optimization computer science: Encyclopedia II - Optimization computer science - Time taken for optimization |
|  |
|
 |  |  | Lazy evaluation: Encyclopedia II - Optimization computer science - When to optimizeOptimization can reduce readability and add code that is used only to improve the performance. This may complicate programs or systems, making them harder to maintain and debug. Compiler optimization, for example, may introduce odd behavior because of compiler bugs. Because of this, optimization or performance tuning must be done at the end of the development stage.
Premature optimization occurs when a programmer lets performance considerations affect how he/she designs a piece of code, before getting the design right. This ...
See also:Optimization computer science, Optimization computer science - Basis, Optimization computer science - Tradeoff, Optimization computer science - Different fields, Optimization computer science - Bottlenecks, Optimization computer science - When to optimize, Optimization computer science - Interpreted languages, Optimization computer science - Automated and manual optimization, Optimization computer science - Time taken for optimization, Optimization computer science - Techniques, Optimization computer science - Quotes, Optimization computer science - Subpages Read more here: » Optimization computer science: Encyclopedia II - Optimization computer science - When to optimize |
|  |
|
 |  |  | 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 - 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 - Comparison with imperative programming |
|  |
|
 |  |  | Lazy evaluation: Encyclopedia II - Optimization computer science - BasisTasks can often be performed more efficiently. For example, consider the following C code snippet to sum all integers from 1 to N:
int i, sum = 0;
for (i = 1; i <= N; i++)
sum += i;
printf ("sum: %d\n", sum);
This code can (assuming no overflow) be rewritten using a mathematical formula like:
int sum = (N * (N+1)) / 2;
printf ("sum: %d\n", sum);
The term "optimization" usually presumes the system retains the same functionality. However, a significant improvement in performance can often be achieve ...
See also:Optimization computer science, Optimization computer science - Basis, Optimization computer science - Tradeoff, Optimization computer science - Different fields, Optimization computer science - Bottlenecks, Optimization computer science - When to optimize, Optimization computer science - Interpreted languages, Optimization computer science - Automated and manual optimization, Optimization computer science - Time taken for optimization, Optimization computer science - Techniques, Optimization computer science - Quotes, Optimization computer science - Subpages Read more here: » Optimization computer science: Encyclopedia II - Optimization computer science - Basis |
|  |
|
|
|
|
 | | » Page 1 « Page 2 |  |
 | |
|
|
More material related to Lazy Evaluation can be found here:
|
|
|
 | |