List of functional programming topics

This is a list of functional programming topics.

## Foundational concepts

[edit]

* Programming paradigm
* Declarative programming
* Programs as mathematical objects
* Function-level programming
* Purely functional programming
* Total functional programming
* Lambda programming
* Static scoping
* Higher-order function
* Referential transparency

## Lambda calculus

[edit]

Further information: Lambda calculus

* Currying
* Lambda abstraction
* Church–Rosser theorem
* Extensionality
* Church numeral

## Combinatory logic

[edit]

Further information: Combinatory logic

* Fixed point combinator
* SKI combinator calculus
* B, C, K, W system
* SECD machine
* Graph reduction machine

## Intuitionistic logic

[edit]

Further information: Intuitionistic logic

* Sequent, sequent calculus
* Natural deduction
* Intuitionistic type theory
* BHK interpretation
* Curry–Howard correspondence
* Linear logic
* Game semantics

## Type theory

[edit]

Further information: Type theory

* Typed lambda calculus
* Typed and untyped languages
* Type signature
* Type inference
* Datatype
* Algebraic data type (generalized)
* Type variable
* First-class value
* Polymorphism
* Calculus of constructions

## Denotational semantics

[edit]

Further information: Denotational semantics

* Domain theory
* Directed complete partial order
* Knaster–Tarski theorem

## Category theory

[edit]

Further information: Category theory

* Cartesian closed category
* Yoneda lemma

## Operational issues

[edit]

* Graph reduction
* Combinator graph reduction
* Strict programming language
* Lazy evaluation, eager evaluation
* Speculative evaluation
* Side effect
* Assignment
* Setq
* Closure
* Continuation
* Continuation passing style
* Operational semantics
* State transition system
* Simulation preorder
* Bisimulation
* Monads in functional programming
* Exception handling
* Garbage collection

## Programming languages

[edit]

Further information: List of functional programming languages

* Clean
* Clojure
* Elixir
* Erlang
* FP
* F#
* Haskell
* Glasgow Haskell Compiler
* Gofer
* Hugs
* Template Haskell
* ISWIM
* JavaScript
* Kent Recursive Calculator
* Lisp
* AutoLISP
* Common Lisp
* Emacs Lisp
* Scheme
* Mercury
* Miranda
* ML (Category:ML programming language family)
* OCaml
* Standard ML
* Pure, predecessor Q
* Q (programming language from Kx Systems)
* Quantum programming
* Scala
* SISAL
* Ωmega