Communication
Faster access than browser!

# Eager evaluation

In computer programming, eager evaluation, also known as strict evaluation or greedy evaluation, is the evaluation strategy used by most traditional programming languages. [1]

## C Sharp (programming language)

C# (/si: ʃɑːrp/) is a multi-paradigm programming language encompassing strong typing, imperative, declarative, functional, generic, object-oriented (class-based), and component-oriented programming disciplines.

A carry-lookahead adder (CLA) or fast adder is a type of adder used in digital logic.

## Church encoding

In mathematics, Church encoding is a means of representing data and operators in the lambda calculus.

## Computer programming

Computer programming is the process of building and designing an executable computer program for accomplishing a specific computing task.

## Concurrent computing

Concurrent computing is a form of computing in which several computations are executed during overlapping time periods—concurrently—instead of sequentially (one completing before the next starts).

In computer programming, dead code is a section in the source code of a program which is executed but whose result is never used in any other computation.

## Evaluation strategy

Evaluation strategies are used by programming languages to determine when to evaluate the argument(s) of a function call (for function, also read: operation, method, or relation) and what kind of value to pass to the function.

## Expression (mathematics)

In mathematics, an expression or mathematical expression is a finite combination of symbols that is well-formed according to rules that depend on the context.

## Graph reduction

In computer science, graph reduction implements an efficient version of non-strict evaluation, an evaluation strategy where the arguments to a function are not immediately evaluated.

## Imperative programming

In computer science, imperative programming is a programming paradigm that uses statements that change a program's state.

## Lazy evaluation

In programming language theory, lazy evaluation, or call-by-need is an evaluation strategy which delays the evaluation of an expression until its value is needed (non-strict evaluation) and which also avoids repeated evaluations (sharing).

## Linearizability

In concurrent programming, an operation (or set of operations) is atomic, linearizable, indivisible or uninterruptible if it appears to the rest of the system to occur at once without being interrupted.

## Operator (computer programming)

Programming languages typically support a set of operators: constructs which behave generally like functions, but which differ syntactically or semantically from usual functions.

## Out-of-order execution

In computer engineering, out-of-order execution (or more formally dynamic execution) is a paradigm used in most high-performance central processing units to make use of instruction cycles that would otherwise be wasted.

## Program optimization

In computer science, program optimization or software optimization is the process of modifying a software system to make some aspect of it work more efficiently or use fewer resources.

## Programming language

A programming language is a formal language that specifies a set of instructions that can be used to produce various kinds of output.

## Race condition

A race condition or race hazard is the behavior of an electronics, software, or other system where the output is dependent on the sequence or timing of other uncontrollable events.