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

Function composition (computer science)

+ Save concept

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

52 relations: Ambiguity, C (programming language), C Sharp (programming language), Code refactoring, Code reuse, Coinduction, Composability, Computational linguistics, Computational semiotics, Computer science, Concatenation, Concurrent computing, Currying, Filter (software), First-class function, Fold (higher-order function), Forth (programming language), Function (mathematics), Function composition, Functional decomposition, Haskell (programming language), Higher-order function, Homoiconicity, Imperative programming, Inheritance (object-oriented programming), Iteratee, Java (programming language), JavaScript, Lambda calculus, Liskov substitution principle, Lisp (programming language), Mathematics, Monad (functional programming), Object composition, Perl 6, Pipeline (software), Pipeline (Unix), Polymorphism (computer science), Principle of compositionality, Python (programming language), Rakudo Perl 6, Referential transparency, Ruby (programming language), Run time (program lifecycle phase), Scheme (programming language), Stack-oriented programming, Stream (computing), Subroutine, Symposium on Principles of Programming Languages, The Art of Unix Programming, ..., Variadic, Virtual inheritance. Expand index (2 more) »

Ambiguity

Ambiguity is a type of meaning in which several interpretations are plausible.

New!!: Function composition (computer science) and Ambiguity · 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!!: Function composition (computer science) 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!!: Function composition (computer science) and C Sharp (programming language) · See more »

Code refactoring

Code refactoring is the process of restructuring existing computer code—changing the factoring—without changing its external behavior.

New!!: Function composition (computer science) and Code refactoring · See more »

Code reuse

Code reuse, also called software reuse, is the use of existing software, or software knowledge, to build new software, following the reusability principles.

New!!: Function composition (computer science) and Code reuse · See more »

Coinduction

In computer science, coinduction is a technique for defining and proving properties of systems of concurrent interacting objects.

New!!: Function composition (computer science) and Coinduction · See more »

Composability

Composability is a system design principle that deals with the inter-relationships of components.

New!!: Function composition (computer science) and Composability · See more »

Computational linguistics

Computational linguistics is an interdisciplinary field concerned with the statistical or rule-based modeling of natural language from a computational perspective, as well as the study of appropriate computational approaches to linguistic questions.

New!!: Function composition (computer science) and Computational linguistics · See more »

Computational semiotics

Computational semiotics is an interdisciplinary field that applies, conducts, and draws on research in logic, mathematics, the theory and practice of computation, formal and natural language studies, the cognitive sciences generally, and semiotics proper.

New!!: Function composition (computer science) and Computational semiotics · See more »

Computer science

Computer science deals with the theoretical foundations of information and computation, together with practical techniques for the implementation and application of these foundations.

New!!: Function composition (computer science) and Computer science · See more »

Concatenation

In formal language theory and computer programming, string concatenation is the operation of joining character strings end-to-end.

New!!: Function composition (computer science) and Concatenation · 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!!: Function composition (computer science) and Concurrent computing · See more »

Currying

In mathematics and computer science, currying is the technique of translating the evaluation of a function that takes multiple arguments (or a tuple of arguments) into evaluating a sequence of functions, each with a single argument.

New!!: Function composition (computer science) and Currying · See more »

Filter (software)

A filter is a computer program or subroutine to process a stream, producing another stream.

New!!: Function composition (computer science) and Filter (software) · See more »

First-class function

In computer science, a programming language is said to have first-class functions if it treats functions as first-class citizens.

New!!: Function composition (computer science) and First-class function · See more »

Fold (higher-order function)

In functional programming, fold (also termed reduce, accumulate, aggregate, compress, or inject) refers to a family of higher-order functions that analyze a recursive data structure and through use of a given combining operation, recombine the results of recursively processing its constituent parts, building up a return value.

New!!: Function composition (computer science) and Fold (higher-order function) · See more »

Forth (programming language)

Forth is an imperative stack-based computer programming language and environment originally designed by Charles "Chuck" Moore.

New!!: Function composition (computer science) and Forth (programming language) · See more »

Function (mathematics)

In mathematics, a function was originally the idealization of how a varying quantity depends on another quantity.

New!!: Function composition (computer science) and Function (mathematics) · See more »

Function composition

In mathematics, function composition is the pointwise application of one function to the result of another to produce a third function.

New!!: Function composition (computer science) and Function composition · See more »

Functional decomposition

In mathematics, functional decomposition is the process of resolving a functional relationship into its constituent parts in such a way that the original function can be reconstructed (i.e., recomposed) from those parts by function composition.

New!!: Function composition (computer science) and Functional decomposition · 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!!: Function composition (computer science) and Haskell (programming language) · See more »

Higher-order function

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.

New!!: Function composition (computer science) and Higher-order function · See more »

Homoiconicity

In computer programming, homoiconicity (from the Greek words homo meaning the same and icon meaning representation) is a property of some programming languages in which the program structure is similar to its syntax, and therefore the program's internal representation can be inferred by reading the text's layout.

New!!: Function composition (computer science) and Homoiconicity · See more »

Imperative programming

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

New!!: Function composition (computer science) and Imperative programming · See more »

Inheritance (object-oriented programming)

In object-oriented programming, inheritance is the mechanism of basing an object or class upon another object (prototypal inheritance) or class (class-based inheritance), retaining the same implementation.

New!!: Function composition (computer science) and Inheritance (object-oriented programming) · See more »

Iteratee

In functional programming, an iteratee is a composable abstraction for incrementally processing sequentially presented chunks of input data in a purely functional fashion.

New!!: Function composition (computer science) and Iteratee · 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!!: Function composition (computer science) and Java (programming language) · See more »

JavaScript

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

New!!: Function composition (computer science) and JavaScript · 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!!: Function composition (computer science) and Lambda calculus · See more »

Liskov substitution principle

Substitutability is a principle in object-oriented programming stating that, in a computer program, if S is a subtype of T, then objects of type T may be replaced with objects of type S (i.e. an object of type T may be substituted with any object of a subtype S) without altering any of the desirable properties of the program (correctness, task performed, etc.). More formally, the Liskov substitution principle (LSP) is a particular definition of a subtyping relation, called (strong) behavioral subtyping, that was initially introduced by Barbara Liskov in a 1987 conference keynote address titled Data abstraction and hierarchy.

New!!: Function composition (computer science) and Liskov substitution principle · 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!!: Function composition (computer science) and Lisp (programming language) · See more »

Mathematics

Mathematics (from Greek μάθημα máthēma, "knowledge, study, learning") is the study of such topics as quantity, structure, space, and change.

New!!: Function composition (computer science) and Mathematics · 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!!: Function composition (computer science) and Monad (functional programming) · See more »

Object composition

In computer science, object composition (not to be confused with function composition) is a way to combine simple objects or data types into more complex ones.

New!!: Function composition (computer science) and Object composition · See more »

Perl 6

Perl 6 is a member of the Perl family of programming languages.

New!!: Function composition (computer science) and Perl 6 · See more »

Pipeline (software)

In software engineering, a pipeline consists of a chain of processing elements (processes, threads, coroutines, functions, etc.), arranged so that the output of each element is the input of the next; the name is by analogy to a physical pipeline.

New!!: Function composition (computer science) and Pipeline (software) · See more »

Pipeline (Unix)

In Unix-like computer operating systems, a pipeline is a sequence of processes chained together by their standard streams, so that the output of each process (stdout) feeds directly as input (stdin) to the next one.

New!!: Function composition (computer science) and Pipeline (Unix) · See more »

Polymorphism (computer science)

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.

New!!: Function composition (computer science) and Polymorphism (computer science) · See more »

Principle of compositionality

In mathematics, semantics, and philosophy of language, the principle of compositionality is the principle that the meaning of a complex expression is determined by the meanings of its constituent expressions and the rules used to combine them.

New!!: Function composition (computer science) and Principle of compositionality · See more »

Python (programming language)

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

New!!: Function composition (computer science) and Python (programming language) · See more »

Rakudo Perl 6

Rakudo Perl 6 (or simply "Rakudo") is a Perl 6 compiler targeting MoarVM, and the Java Virtual Machine, that implements the Perl 6 specification.

New!!: Function composition (computer science) and Rakudo Perl 6 · See more »

Referential transparency

Referential transparency and referential opacity are properties of parts of computer programs.

New!!: Function composition (computer science) and Referential transparency · See more »

Ruby (programming language)

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

New!!: Function composition (computer science) and Ruby (programming language) · See more »

Run time (program lifecycle phase)

In computer science, run time, runtime or execution time is the time during which a program is running (executing), in contrast to other program lifecycle phases such as compile time, link time and load time.

New!!: Function composition (computer science) and Run time (program lifecycle phase) · 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!!: Function composition (computer science) and Scheme (programming language) · See more »

Stack-oriented programming

A stack-oriented programming language is one that relies on a stack machine model for passing parameters.

New!!: Function composition (computer science) and Stack-oriented programming · See more »

Stream (computing)

In computer science, a stream is a sequence of data elements made available over time.

New!!: Function composition (computer science) and Stream (computing) · See more »

Subroutine

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

New!!: Function composition (computer science) and Subroutine · See more »

Symposium on Principles of Programming Languages

The annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL) is an academic conference in the field of computer science, with focus on fundamental principles in the design, definition, analysis, and implementation of programming languages, programming systems, and programming interfaces.

New!!: Function composition (computer science) and Symposium on Principles of Programming Languages · See more »

The Art of Unix Programming

The Art of Unix Programming by Eric S. Raymond is a book about the history and culture of Unix programming from its earliest days in 1969 to 2003 when it was published, covering both genetic derivations such as BSD and conceptual ones such as Linux.

New!!: Function composition (computer science) and The Art of Unix Programming · See more »

Variadic

In computer science, an operator or function is variadic if it can take a varying number of arguments; that is, if its arity is not fixed.

New!!: Function composition (computer science) and Variadic · See more »

Virtual inheritance

Virtual inheritance is a C++ technique that ensures only one copy of a base class's member variables are inherited by grandchild derived classes.

New!!: Function composition (computer science) and Virtual inheritance · See more »

Redirects here:

Function composition operator, Functional composition (computer science), Software composition.

References

[1] https://en.wikipedia.org/wiki/Function_composition_(computer_science)

OutgoingIncoming
Hey! We are on Facebook now! »