In mathematics the additive identity of a set which is equipped with the operation of addition is an element which, when added to any element x in the set, yields x. One of the most familiar additive identities is the number 0 from elementary mathematics, but additive identities occur in other mathematical structures where addition is defined, such as in groups and rings.
In database management an aggregate function is a function where the values of multiple rows are grouped together to form a single value of more significant meaning or measurement such as a set, a bag or a list.
In computer programming, especially functional programming and type theory, an algebraic data type is a kind of composite type, i.e., a type formed by combining other types.
Analysis is the process of breaking a complex topic or substance into smaller parts in order to gain a better understanding of it.
In category theory, the anamorphism (from the Greek ἀνά "upwards" and μορφή "form, shape") of a coinductive type denotes the assignment of a coalgebra to its unique morphism to the final coalgebra of an endofunctor.
Apache Groovy is a Java-syntax-compatible object-oriented programming language for the Java platform.
APL (named after the book A Programming Language) is a programming language developed in the 1960s by Kenneth E. Iverson.
In mathematics, the associative property is a property of some binary operations.
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.
The programming language C# version 3.0 was released on 19 November 2007 as part of.NET Framework 3.5.
C++ ("see plus plus") is a general-purpose programming language.
C++17 is the name for the most recent revision of the ISO/IEC 14882 standard for the C++ programming language.
In category theory, the concept of catamorphism (from the Greek: κατά "downwards" and μορφή "form, shape") denotes the unique homomorphism from an initial algebra into some other algebra.
Clojure (like "closure") is a dialect of the Lisp programming language.
ColdFusion Markup Language, more commonly known as CFML, is a scripting language for web development that runs on the JVM, the.NET framework, and Google App Engine.
Common Lisp (CL) is a dialect of the Lisp programming language, published in ANSI standard document ANSI INCITS 226-1994 (R2004) (formerly X3.226-1994 (R1999)).
In computer programming, is a fundamental function in most dialects of the Lisp programming language.
In functional programming, continuation-passing style (CPS) is a style of programming in which control is passed explicitly in the form of a continuation.
In computer science, corecursion is a type of operation that is dual to recursion.
Curl is a reflective object-oriented programming language for interactive web applications whose goal is to provide a smoother transition between formatting and programming.
D is an object-oriented, imperative, multi-paradigm system programming language created by Walter Bright of Digital Mars and released in 2001.
In computer science, a data structure is a data organization and storage format that enables efficient access and modification.
ECMAScript (or ES) is a trademarked scripting-language specification standardized by Ecma International in ECMA-262 and ISO/IEC 16262.
Elm is a domain-specific programming language for declaratively creating web browser-based graphical user interfaces.
Erlang is a general-purpose, concurrent, functional programming language, as well as a garbage-collected runtime system.
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.
In object-oriented computer programming, an extension method is a method added to an object after the original object was compiled.
F# (pronounced F sharp) is a strongly typed, multi-paradigm programming language that encompasses functional, imperative, and object-oriented programming methods.
In computer science's combinatory logic, a fixed-point combinator (or fixpoint combinator) is a higher-order function fix that, for any function f that has an attractive fixed point, returns a fixed point x of that function.
In computer science, function composition (not to be confused with object composition) is an act or mechanism to combine simple functions to build more complicated ones.
In computer programming, a function object is a construct allowing an object to be invoked or called as if it were an ordinary function, usually with the same syntax (a function parameter that can also be a function).
A function pointer, also called a subroutine pointer or procedure pointer, is a pointer that points to a function.
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.
Gosu is a statically-typed programming language that runs on the Java Virtual Machine released under the Apache 2 license.
Haskell is a standardized, general-purpose compiled purely functional programming language, with non-strict semantics and strong static typing.
Haxe is a high-level cross-platform multi-paradigm programming language and compiler that can produce applications and source code, for many different computing platforms, from one code-base.
A hierarchy (from the Greek hierarchia, "rule of a high priest", from hierarkhes, "leader of sacred rites") is an arrangement of items (objects, names, values, categories, etc.) in which the items are represented as being "above", "below", or "at the same level as" one another A hierarchy can link entities either directly or indirectly, and either vertically or diagonally.
In mathematics and computer science, a higher-order function (also functional, functional form or functor) is a function that does at least one of the following.
In algebra, a homomorphism is a structure-preserving map between two algebraic structures of the same type (such as two groups, two rings, or two vector spaces).
In mathematics, an identity element or neutral element is a special type of element of a set with respect to a binary operation on that set, which leaves other elements unchanged when combined with them.
An infinite loop (or endless loop) is a sequence of instructions in a computer program which loops endlessly, either due to the loop having no terminating condition, having one that can never be met, or one that causes the loop to start over.
In mathematics, an iterated binary operation is an extension of a binary operation on a set S to a function on finite sequences of elements of S through repeated application.
The J programming language, developed in the early 1990s by Kenneth E. Iverson and Roger Hui, is a synthesis of APL (also by Iverson) and the FP and FL function-level languages created by John Backus.
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.
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).
Lisp Flavored Erlang (LFE) is a functional, concurrent, general-purpose programming language and Lisp dialect built on top of Core Erlang and the Erlang Virtual Machine (BEAM).
Lisp (historically, LISP) is a family of computer programming languages with a long history and a distinctive, fully parenthesized prefix notation.
In computer science, a list or sequence is an abstract data type that represents a countable number of ordered values, where the same value may occur more than once.
Logtalk is an object-oriented logic programming language that extends and leverages the Prolog language with a feature set suitable for programming in the large.
In many programming languages, map is the name of a higher-order function that applies a given function to each element of a list, returning a list of results in the same order.
Maple is a symbolic and numeric computing environment, and is also a multi-paradigm programming language.
Maxima is a computer algebra system (CAS) based on a 1982 version of Macsyma.
In computer science, merge sort (also commonly spelled mergesort) is an efficient, general-purpose, comparison-based sorting algorithm.
A node is a basic unit used in computer science.
OCaml, originally named Objective Caml, is the main implementation of the programming language Caml, created by Xavier Leroy, Jérôme Vouillon, Damien Doligez, Didier Rémy, Ascánder Suárez and others in 1996.
Oz is a multiparadigm programming language, developed in the Programming Systems Lab at Université catholique de Louvain, for programming language education.
Perl is a family of two high-level, general-purpose, interpreted, dynamic programming languages, Perl 5 and Perl 6.
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.
In programming languages and type theory, polymorphism (from Greek πολύς, polys, "many, much" and μορφή, morphē, "form, shape") is the provision of a single interface to entities of different types.
In computer science, the prefix sum, cumulative sum, inclusive scan, or simply scan of a sequence of numbers is a second sequence of numbers, the sums of prefixes (running totals) of the input sequence: For instance, the prefix sums of the natural numbers are the triangular numbers: |- !input numbers | 1 || 2 || 3 || 4 || 5 || 6 ||...
Prolog is a general-purpose logic programming language associated with artificial intelligence and computational linguistics.
Python is an interpreted high-level programming language for general-purpose programming.
R is a programming language and free software environment for statistical computing and graphics that is supported by the R Foundation for Statistical Computing.
Recursion occurs when a thing is defined in terms of itself or of its type.
Recursion in computer science is a method of solving a problem where the solution depends on solutions to smaller instances of the same problem (as opposed to iteration).
In computer programming languages, a recursive data type (also known as a recursively-defined, inductively-defined or inductive data type) is a data type for values that may contain other values of the same type.
Ruby is a dynamic, interpreted, reflective, object-oriented, general-purpose 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.
Scala is a general-purpose programming language providing support for functional programming and a strong static type system.
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.
Smalltalk is an object-oriented, dynamically typed, reflective programming language.
Standard ML (SML; "Standard Meta Language") is a general-purpose, modular, functional programming language with compile-time type checking and type inference.
In computer programming, a subroutine is a sequence of program instructions that performs a specific task, packaged as a unit.
Swift is a general-purpose, multi-paradigm, compiled programming language developed by Apple Inc. for iOS, macOS, watchOS, tvOS, and Linux.
In computer science, a tail call is a subroutine call performed as the final action of a procedure.
In computer science, terminal and nonterminal symbols are the lexical elements used in specifying the production rules constituting a formal grammar.
In set theory, the union (denoted by ∪) of a collection of sets is the set of all elements in the collection.
Wolfram Mathematica (usually termed Mathematica) is a modern technical computing system spanning most areas of technical computing — including neural networks, machine learning, image processing, geometry, data science, visualizations, and others.
Xtend is a general-purpose high-level programming language for the Java Virtual Machine.