Logo
Unionpedia
Communication
Get it on Google Play
New! Download Unionpedia on your Android™ device!
Install
Faster access than browser!
 

Eager evaluation

Index 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]

39 relations: Algorithmic efficiency, Alice (programming language), Apache CouchDB, Caml, Church–Rosser theorem, Comparison of multi-paradigm programming languages, Eager, Erlang (programming language), Evaluation (disambiguation), Evaluation strategy, F Sharp (programming language), Functional programming, Futures and promises, Glasgow Haskell Compiler, Graph reduction, Hope (programming language), ISWIM, Julia (programming language), Kinetic Rule Language, Lambda calculus, Lambda calculus definition, Lambda lifting, Lazy evaluation, Lisp (programming language), List of functional programming topics, List of programming languages by type, Mathematical notation, ML (programming language), Monad (functional programming), Oz (programming language), Pure (programming language), Purely functional programming, Short-circuit evaluation, Standard ML of New Jersey, Strict function, Strict programming language, Superscalar processor, Total functional programming, Unlambda.

Algorithmic efficiency

In computer science, algorithmic efficiency is a property of an algorithm which relates to the number of computational resources used by the algorithm.

New!!: Eager evaluation and Algorithmic efficiency · See more »

Alice (programming language)

Alice ML is a programming language designed by the Programming Systems Laboratory at Saarland University, Saarbrücken, Germany.

New!!: Eager evaluation and Alice (programming language) · See more »

Apache CouchDB

Apache CouchDB is open source database software that focuses on ease of use and having a scalable architecture.

New!!: Eager evaluation and Apache CouchDB · See more »

Caml

Caml (originally an acronym for Categorical abstract machine language) is a multi-paradigm, general-purpose programming language which is a dialect of the ML programming language family.

New!!: Eager evaluation and Caml · See more »

Church–Rosser theorem

In mathematics and theoretical computer science, the Church–Rosser theorem states that, when applying reduction rules to terms in the lambda calculus, the ordering in which the reductions are chosen does not make a difference to the eventual result.

New!!: Eager evaluation and Church–Rosser theorem · See more »

Comparison of multi-paradigm programming languages

Programming languages can be grouped by the number and types of paradigms supported.

New!!: Eager evaluation and Comparison of multi-paradigm programming languages · See more »

Eager

Eager may refer to.

New!!: Eager evaluation and Eager · See more »

Erlang (programming language)

Erlang is a general-purpose, concurrent, functional programming language, as well as a garbage-collected runtime system.

New!!: Eager evaluation and Erlang (programming language) · See more »

Evaluation (disambiguation)

Evaluation is the process of judging something or someone based on a set of standards.

New!!: Eager evaluation and Evaluation (disambiguation) · See more »

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.

New!!: Eager evaluation and Evaluation strategy · See more »

F Sharp (programming language)

F# (pronounced F sharp) is a strongly typed, multi-paradigm programming language that encompasses functional, imperative, and object-oriented programming methods.

New!!: Eager evaluation and F Sharp (programming language) · See more »

Functional programming

In computer science, functional programming is a programming paradigm—a style of building the structure and elements of computer programs—that treats computation as the evaluation of mathematical functions and avoids changing-state and mutable data.

New!!: Eager evaluation and Functional programming · See more »

Futures and promises

In computer science, future, promise, delay, and deferred refer to constructs used for synchronizing program execution in some concurrent programming languages.

New!!: Eager evaluation and Futures and promises · See more »

Glasgow Haskell Compiler

Glasgow Haskell Compiler, less commonly known as The Glorious Glasgow Haskell Compilation System or simply GHC, is an open source native code compiler for the functional programming language Haskell.

New!!: Eager evaluation and Glasgow Haskell Compiler · See more »

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.

New!!: Eager evaluation and Graph reduction · See more »

Hope (programming language)

Hope is a small functional programming language developed in the 1970s at the University of Edinburgh.

New!!: Eager evaluation and Hope (programming language) · See more »

ISWIM

ISWIM is an abstract computer programming language (or a family of programming languages) devised by Peter J. Landin and first described in his article The Next 700 Programming Languages, published in the Communications of the ACM in 1966.

New!!: Eager evaluation and ISWIM · See more »

Julia (programming language)

Julia is a high-level dynamic programming language designed to address the needs of high-performance numerical analysis and computational science, without the typical need of separate compilation to be fast, while also being effective for general-purpose programming, web use or as a specification language.

New!!: Eager evaluation and Julia (programming language) · See more »

Kinetic Rule Language

Kinetic Rule Language (KRL) is a rule-based programming language for creating applications on the Live Web.

New!!: Eager evaluation and Kinetic Rule Language · See more »

Lambda calculus

Lambda calculus (also written as λ-calculus) is a formal system in mathematical logic for expressing computation based on function abstraction and application using variable binding and substitution.

New!!: Eager evaluation and Lambda calculus · See more »

Lambda calculus definition

Formal definitions of the Lambda calculus.

New!!: Eager evaluation and Lambda calculus definition · See more »

Lambda lifting

Lambda lifting is a meta-process that restructures a computer program so that functions are defined independently of each other in a global scope.

New!!: Eager evaluation and Lambda lifting · See more »

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

New!!: Eager evaluation and Lazy evaluation · See more »

Lisp (programming language)

Lisp (historically, LISP) is a family of computer programming languages with a long history and a distinctive, fully parenthesized prefix notation.

New!!: Eager evaluation and Lisp (programming language) · See more »

List of functional programming topics

This is a list of functional programming topics.

New!!: Eager evaluation and List of functional programming topics · See more »

List of programming languages by type

This is a list of notable programming languages, grouped by type.

New!!: Eager evaluation and List of programming languages by type · See more »

Mathematical notation

Mathematical notation is a system of symbolic representations of mathematical objects and ideas.

New!!: Eager evaluation and Mathematical notation · See more »

ML (programming language)

ML (Meta Language) is a general-purpose functional programming language.

New!!: Eager evaluation and ML (programming language) · See more »

Monad (functional programming)

In functional programming, a monad is a design pattern that defines how functions, actions, inputs, and outputs can be used together to build generic types, with the following organization.

New!!: Eager evaluation and Monad (functional programming) · See more »

Oz (programming language)

Oz is a multiparadigm programming language, developed in the Programming Systems Lab at Université catholique de Louvain, for programming language education.

New!!: Eager evaluation and Oz (programming language) · See more »

Pure (programming language)

Pure, successor to the equational language Q, is a dynamically typed, functional programming language based on term rewriting.

New!!: Eager evaluation and Pure (programming language) · See more »

Purely functional programming

In computer science, purely functional programming usually designates a programming paradigm—a style of building the structure and elements of computer programs—that treats all computation as the evaluation of mathematical functions.

New!!: Eager evaluation and Purely functional programming · See more »

Short-circuit evaluation

Short-circuit evaluation, minimal evaluation, or McCarthy evaluation (after John McCarthy) is the semantics of some Boolean operators in some programming languages in which the second argument is executed or evaluated only if the first argument does not suffice to determine the value of the expression: when the first argument of the AND function evaluates to false, the overall value must be false; and when the first argument of the OR function evaluates to true, the overall value must be true.

New!!: Eager evaluation and Short-circuit evaluation · See more »

Standard ML of New Jersey

Standard ML of New Jersey (SML/NJ; Standard Meta-Language of New Jersey) is a compiler and programming environment for the Standard ML programming language.

New!!: Eager evaluation and Standard ML of New Jersey · See more »

Strict function

A function f is said to be strict if, when applied to a non-terminating expression, it also fails to terminate.

New!!: Eager evaluation and Strict function · See more »

Strict programming language

A strict programming language is a programming language which employs a strict programming paradigm, allowing only strict functions (functions whose parameters must be evaluated completely before they may be called) may be defined by the user.

New!!: Eager evaluation and Strict programming language · See more »

Superscalar processor

A superscalar processor is a CPU that implements a form of parallelism called instruction-level parallelism within a single processor.

New!!: Eager evaluation and Superscalar processor · See more »

Total functional programming

Total functional programming (also known as strong functional programming, to be contrasted with ordinary, or weak functional programming) is a programming paradigm that restricts the range of programs to those that are provably terminating.

New!!: Eager evaluation and Total functional programming · See more »

Unlambda

Unlambda is a minimal, "nearly pure" functional programming language invented by David Madore.

New!!: Eager evaluation and Unlambda · See more »

Redirects here:

Avaliacao ansiosa, Avaliação ansiosa, Eager execution, Strict evaluation.

References

[1] https://en.wikipedia.org/wiki/Eager_evaluation

OutgoingIncoming
Hey! We are on Facebook now! »