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

Evaluation strategy

Index 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. [1]

72 relations: ALGOL 60, Aliasing (computing), Anonymous function, AppleScript, Assignment (computer science), Barbara Liskov, Beta normal form, C (programming language), C Sharp (programming language), C++, Church encoding, CLU (programming language), Comparison of programming languages, Concurrent computing, Const (computer programming), Copy-on-write, Coroutine, Data structure, E (programming language), Eager evaluation, Eiffel (programming language), Eval, Fortran, Functional programming, Futures and promises, Haskell (programming language), Hygienic macro, Immutable object, Iota and Jot, Java (programming language), JavaScript, Jensen's Device, Lambda calculus, Lazy evaluation, List of CLI languages, Maple (software), Memoization, Memory safety, MIT Press, ML (programming language), Monad (functional programming), Object type (object-oriented programming), Operator (computer programming), Parameter (computer programming), PHP, PL/I, Pointer (computer programming), Primitive data type, Programming language, Pure function, ..., Purely functional programming, Python (programming language), R (programming language), Reduction strategy (lambda calculus), Reference (computer science), Remote procedure call, Ruby (programming language), Rust (programming language), Scheme (programming language), Scope (computer science), Seed7, Short-circuit evaluation, Struct (C programming language), Subroutine, Tcl, Tree traversal, Type safety, Types and Programming Languages, Undefined behavior, Variable (computer science), Visual Basic .NET, Xojo. Expand index (22 more) »

ALGOL 60

ALGOL 60 (short for Algorithmic Language 1960) is a member of the ALGOL family of computer programming languages.

New!!: Evaluation strategy and ALGOL 60 · See more »

Aliasing (computing)

In computing, aliasing describes a situation in which a data location in memory can be accessed through different symbolic names in the program.

New!!: Evaluation strategy and Aliasing (computing) · See more »

Anonymous function

In computer programming, an anonymous function (function literal, lambda abstraction, or lambda expression) is a function definition that is not bound to an identifier.

New!!: Evaluation strategy and Anonymous function · See more »

AppleScript

AppleScript is a scripting language created by Apple Inc. that facilitates automated control over scriptable Mac applications.

New!!: Evaluation strategy and AppleScript · See more »

Assignment (computer science)

In computer programming, an assignment statement sets and/or re-sets the value stored in the storage location(s) denoted by a variable name; in other words, it copies a value into the variable.

New!!: Evaluation strategy and Assignment (computer science) · See more »

Barbara Liskov

Barbara Liskov (born November 7, 1939 as Barbara Jane Huberman) is an American computer scientist who is an Institute Professor at the Massachusetts Institute of Technology and Ford Professor of Engineering in its School of Engineering's electrical engineering and computer science department.

New!!: Evaluation strategy and Barbara Liskov · See more »

Beta normal form

In the lambda calculus, a term is in beta normal form if no beta reduction is possible.

New!!: Evaluation strategy and Beta normal form · See more »

C (programming language)

C (as in the letter ''c'') is a general-purpose, imperative computer programming language, supporting structured programming, lexical variable scope and recursion, while a static type system prevents many unintended operations.

New!!: Evaluation strategy and C (programming language) · See more »

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.

New!!: Evaluation strategy and C Sharp (programming language) · See more »

C++

C++ ("see plus plus") is a general-purpose programming language.

New!!: Evaluation strategy and C++ · See more »

Church encoding

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

New!!: Evaluation strategy and Church encoding · See more »

CLU (programming language)

CLU is a programming language created at the Massachusetts Institute of Technology (MIT) by Barbara Liskov and her students between 1974 and 1975.

New!!: Evaluation strategy and CLU (programming language) · See more »

Comparison of programming languages

Programming languages are used for controlling the behavior of a machine (often a computer).

New!!: Evaluation strategy and Comparison of programming languages · See more »

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

New!!: Evaluation strategy and Concurrent computing · See more »

Const (computer programming)

In the C, C++, D, and JavaScript programming languages, const is a type qualifier: a keyword applied to a data type that indicates that the data is read only.

New!!: Evaluation strategy and Const (computer programming) · See more »

Copy-on-write

Copy-on-write (CoW or COW), sometimes referred to as implicit sharing or shadowing, is a resource-management technique used in computer programming to efficiently implement a "duplicate" or "copy" operation on modifiable resources.

New!!: Evaluation strategy and Copy-on-write · See more »

Coroutine

Coroutines are computer-program components that generalize subroutines for non-preemptive multitasking, by allowing multiple entry points for suspending and resuming execution at certain locations.

New!!: Evaluation strategy and Coroutine · See more »

Data structure

In computer science, a data structure is a data organization and storage format that enables efficient access and modification.

New!!: Evaluation strategy and Data structure · See more »

E (programming language)

E is an object-oriented programming language for secure distributed computing, created by Mark S. Miller, Dan Bornstein, and others at Electric Communities in 1997.

New!!: Evaluation strategy and E (programming language) · See more »

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.

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

Eiffel (programming language)

Eiffel is an object-oriented programming language designed by Bertrand Meyer (an object-orientation proponent and author of Object-Oriented Software Construction) and Eiffel Software.

New!!: Evaluation strategy and Eiffel (programming language) · See more »

Eval

In some programming languages, eval is a function which evaluates a string as though it were an expression and returns a result; in others, it executes multiple lines of code as though they had been included instead of the line including the eval.

New!!: Evaluation strategy and Eval · See more »

Fortran

Fortran (formerly FORTRAN, derived from Formula Translation) is a general-purpose, compiled imperative programming language that is especially suited to numeric computation and scientific computing.

New!!: Evaluation strategy and Fortran · 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!!: Evaluation strategy 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!!: Evaluation strategy and Futures and promises · See more »

Haskell (programming language)

Haskell is a standardized, general-purpose compiled purely functional programming language, with non-strict semantics and strong static typing.

New!!: Evaluation strategy and Haskell (programming language) · See more »

Hygienic macro

Hygienic macros are macros whose expansion is guaranteed not to cause the accidental capture of identifiers.

New!!: Evaluation strategy and Hygienic macro · See more »

Immutable object

In object-oriented and functional programming, an immutable object (unchangeable object) is an object whose state cannot be modified after it is created.

New!!: Evaluation strategy and Immutable object · See more »

Iota and Jot

In formal language theory and computer science, Iota and Jot (from Greek iota ι, Hebrew yodh י, the smallest letters in those two alphabets) are languages, extremely minimalist formal systems, designed to be even simpler than other more popular alternatives, such as the lambda calculus and SKI combinator calculus.

New!!: Evaluation strategy and Iota and Jot · See more »

Java (programming language)

Java is a general-purpose computer-programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible.

New!!: Evaluation strategy and Java (programming language) · See more »

JavaScript

JavaScript, often abbreviated as JS, is a high-level, interpreted programming language.

New!!: Evaluation strategy and JavaScript · See more »

Jensen's Device

Jensen's Device is a computer programming technique that exploits call by name.

New!!: Evaluation strategy and Jensen's Device · 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!!: Evaluation strategy and Lambda calculus · 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!!: Evaluation strategy and Lazy evaluation · See more »

List of CLI languages

CLI Languages are computer programming languages that are used to produce libraries and programs that conform to the Common Language Infrastructure (CLI) specifications.

New!!: Evaluation strategy and List of CLI languages · See more »

Maple (software)

Maple is a symbolic and numeric computing environment, and is also a multi-paradigm programming language.

New!!: Evaluation strategy and Maple (software) · See more »

Memoization

In computing, memoization or memoisation is an optimization technique used primarily to speed up computer programs by storing the results of expensive function calls and returning the cached result when the same inputs occur again.

New!!: Evaluation strategy and Memoization · See more »

Memory safety

Memory safety is the state of being protected from various software bugs and security vulnerabilities when dealing with memory access, such as buffer overflows and dangling pointers.

New!!: Evaluation strategy and Memory safety · See more »

MIT Press

The MIT Press is a university press affiliated with the Massachusetts Institute of Technology (MIT) in Cambridge, Massachusetts (United States).

New!!: Evaluation strategy and MIT Press · See more »

ML (programming language)

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

New!!: Evaluation strategy 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!!: Evaluation strategy and Monad (functional programming) · See more »

Object type (object-oriented programming)

In computer science, an object type (a.k.a. wrapping object) is a datatype that is used in object-oriented programming to wrap a non-object type to make it look like a dynamic object.

New!!: Evaluation strategy and Object type (object-oriented programming) · See more »

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.

New!!: Evaluation strategy and Operator (computer programming) · See more »

Parameter (computer programming)

In computer programming, a parameter (often called formal parameter or formal argument) is a special kind of variable, used in a subroutine to refer to one of the pieces of data provided as input to the subroutine.

New!!: Evaluation strategy and Parameter (computer programming) · See more »

PHP

PHP: Hypertext Preprocessor (or simply PHP) is a server-side scripting language designed for Web development, but also used as a general-purpose programming language.

New!!: Evaluation strategy and PHP · See more »

PL/I

PL/I (Programming Language One, pronounced) is a procedural, imperative computer programming language designed for scientific, engineering, business and system programming uses.

New!!: Evaluation strategy and PL/I · See more »

Pointer (computer programming)

In computer science, a pointer is a programming language object that stores the memory address of another value located in computer memory.

New!!: Evaluation strategy and Pointer (computer programming) · See more »

Primitive data type

In computer science, primitive data type is either of the following.

New!!: Evaluation strategy and Primitive data type · See more »

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.

New!!: Evaluation strategy and Programming language · See more »

Pure function

In computer programming, a function or expression is considered pure if its evaluation has no side effect, such as mutation of objects or output to I/O devices.

New!!: Evaluation strategy and Pure function · 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!!: Evaluation strategy and Purely functional programming · See more »

Python (programming language)

Python is an interpreted high-level programming language for general-purpose programming.

New!!: Evaluation strategy and Python (programming language) · See more »

R (programming language)

R is a programming language and free software environment for statistical computing and graphics that is supported by the R Foundation for Statistical Computing.

New!!: Evaluation strategy and R (programming language) · See more »

Reduction strategy (lambda calculus)

In lambda calculus, a branch of mathematical logic concerned with the formal study of functions, a reduction strategy is how a complex expression is reduced to a simple expression by successive reduction steps.

New!!: Evaluation strategy and Reduction strategy (lambda calculus) · See more »

Reference (computer science)

In computer science, a reference is a value that enables a program to indirectly access a particular datum, such as a variable's value or a record, in the computer's memory or in some other storage device.

New!!: Evaluation strategy and Reference (computer science) · See more »

Remote procedure call

In distributed computing, a remote procedure call (RPC) is when a computer program causes a procedure (subroutine) to execute in a different address space (commonly on another computer on a shared network), which is coded as if it were a normal (local) procedure call, without the programmer explicitly coding the details for the remote interaction.

New!!: Evaluation strategy and Remote procedure call · See more »

Ruby (programming language)

Ruby is a dynamic, interpreted, reflective, object-oriented, general-purpose programming language.

New!!: Evaluation strategy and Ruby (programming language) · See more »

Rust (programming language)

Rust is a systems programming language sponsored by Mozilla which describes it as a "safe, concurrent, practical language," supporting functional and imperative-procedural paradigms.

New!!: Evaluation strategy and Rust (programming language) · See more »

Scheme (programming language)

Scheme is a programming language that supports multiple paradigms, including functional programming and imperative programming, and is one of the two main dialects of Lisp.

New!!: Evaluation strategy and Scheme (programming language) · See more »

Scope (computer science)

In computer programming, the scope of a name binding – an association of a name to an entity, such as a variable – is the region of a computer program where the binding is valid: where the name can be used to refer to the entity.

New!!: Evaluation strategy and Scope (computer science) · See more »

Seed7

Seed7 is an extensible general-purpose programming language designed by Thomas Mertes.

New!!: Evaluation strategy and Seed7 · 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!!: Evaluation strategy and Short-circuit evaluation · See more »

Struct (C programming language)

A struct in the C programming language (and many derivatives) is a composite data type (or record) declaration that defines a physically grouped list of variables to be placed under one name in a block of memory, allowing the different variables to be accessed via a single pointer, or the struct declared name which returns the same address.

New!!: Evaluation strategy and Struct (C programming language) · See more »

Subroutine

In computer programming, a subroutine is a sequence of program instructions that performs a specific task, packaged as a unit.

New!!: Evaluation strategy and Subroutine · See more »

Tcl

Tcl (pronounced "tickle" or tee cee ell) is a high-level, general-purpose, interpreted, dynamic programming language.

New!!: Evaluation strategy and Tcl · See more »

Tree traversal

In computer science, tree traversal (also known as tree search) is a form of graph traversal and refers to the process of visiting (checking and/or updating) each node in a tree data structure, exactly once.

New!!: Evaluation strategy and Tree traversal · See more »

Type safety

In computer science, type safety is the extent to which a programming language discourages or prevents type errors.

New!!: Evaluation strategy and Type safety · See more »

Types and Programming Languages

Types and Programming Languages,, is a book by Benjamin C. Pierce on type systems published in 2002.

New!!: Evaluation strategy and Types and Programming Languages · See more »

Undefined behavior

In computer programming, undefined behavior (UB) is the result of executing computer code whose behavior is not prescribed by the language specification to which the code adheres, for the current state of the program.

New!!: Evaluation strategy and Undefined behavior · See more »

Variable (computer science)

In computer programming, a variable or scalar is a storage location (identified by a memory address) paired with an associated symbolic name (an identifier), which contains some known or unknown quantity of information referred to as a value.

New!!: Evaluation strategy and Variable (computer science) · See more »

Visual Basic .NET

Visual Basic.NET (VB.NET) is a multi-paradigm, object-oriented programming language, implemented on the.NET Framework.

New!!: Evaluation strategy and Visual Basic .NET · See more »

Xojo

The Xojo programming environment is developed and commercially marketed by Xojo, Inc.

New!!: Evaluation strategy and Xojo · See more »

Redirects here:

Applicative order, Applicative order evaluation, Applicative order reduction, Applicative-order evaluation, Call By Reference, Call by Name, Call by address, Call by copy-restore, Call by future, Call by macro expansion, Call by name, Call by object, Call by reference, Call by result, Call by sharing, Call by something, Call by value, Call by value result, Call by value-result, Call by value/result, Call-By-Reference Evaluation, Call-By-Value Evaluation, Call-by-name, Call-by-need, Call-by-object, Call-by-reference, Call-by-result, Call-by-sharing, Call-by-something, Call-by-value, Call-by-value-result, Called by value, Cbpv, Comparison of normal-order evaluation and applicative-order evaluation, Lazy language, Non-strict evaluation, Non-strict semantics, Normal order evaluation, Normal order reduction, Normal-order evaluation, Pass By Name, Pass By Reference, Pass By Value, Pass by reference, Pass by value, Pass-By-Name, Pass-By-Reference, Pass-By-Value, Pass-by-reference, Pass-by-value, Return-by-reference.

References

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

OutgoingIncoming
Hey! We are on Facebook now! »