Skip to content
Category

Functional programming

page 1
functional programming
programming paradigm based on applying and composing functions
Wikifunctions
thumb|A short introduction to Wikifunctions by Denny Vrandečić
polymorphism
in programming languages and type theory, accessing different types using a common interface
anonymous function
function definition that is not bound to an identifier
side effect
additional effect of a function in a procedural programming language besides returning a value
monad
design pattern in functional programming to build generic types
higher-order function
mathematical function that takes one or more functions as an input or that outputs a function
pattern matching
programming language construct for processing data conditionally on its structure
currying
In mathematics and computer science, currying is the technique of translating a function that takes multiple arguments into a sequence of families of functions, each taking a single argument.
GNU Guix
functional package manager for installed software packages and versions
immutable object
object whose state cannot be modified after it is created
Simon Peyton Jones
British computer scientist
algebraic data type
in computer programming, a type formed by combining other types
first-class functions
programming language feature that allows manipulating functions like other values
Nix
cross-platform package manager
regular number
numbers that evenly divide powers of 60
cons
In computer programming, '''' ( or ) is a fundamental function in most dialects of the Lisp programming language. constructs memory objects which hold two values or pointers to two values. These objects are referred to as (cons) cells, conses, non-atomic s-expressions ("NATSes"), or (cons) pairs. In Lisp jargon, the expression "to cons x onto y" means to construct a new object with (cons x y). The resulting pair has a left half, referred to as the (the first element, or contents of the address part of register), and a right half, referred to as the (the second element, or contents of the decre
Erik Meijer
Dutch computer scientist
option type
encapsulation of an optional value in programming or type theory
Philip Wadler
American computer scientist
pure function
in programming, function that does not interact with global state
continuation-passing style
programming style
Brouwer–Heyting–Kolmogorov interpretation
interpretation of intuitionistic logic
F-algebra
thumb|The commutative diagram, which defines a property required by morphisms of the original Category (mathematics)|category, so that they can be morphisms of the newly defined category of F-algebras.
functional logic programming
programming paradigm that combines logic programming with functional programming
actant
In narrative theory, an actant in the actantial model of semiotic narrative analysis is a type of role that a character may have in a narrative. Bruno Latour writes,
catamorphism
In functional programming, the concept of catamorphism (from the Ancient Greek: "downwards" and "form, shape") denotes the unique homomorphism from an initial algebra into some other algebra.
type class
type system construct for ad-hoc polymorphism
purely functional programming
programming paradigm that treats all computation as the evaluation of mathematical functions
corecursion
In computer science, corecursion is a type of operation that is dual to (structural) recursion. Whereas recursion consumes a data structure by first handling the topmost layer before descending into its inner parts, corecursion produces a data structure by first defining the topmost layer before defining its inner parts. Corecursion is a particularly important in total languages, as it allows encoding potentially non-terminating computations in a context where every function must terminate. It is supported by theorem provers Agda and Rocq.
Paul Hudak
American computer scientist (1952-2015)
zipper
technique of representing an aggregate data structure so that it is convenient for writing programs that traverse the structure arbitrarily and update its contents
monad transformer
functional programming
Generalized algebraic data type
Concept in functional programming
coinduction
In computer science, coinduction is a technique for defining and proving properties of systems of concurrent interacting objects.