This is a list of functional programming topics.

Foundational concepts

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

Currying Lambda abstraction Church–Rosser theorem Extensionality Church numeral

Combinatory logic

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

Intuitionistic logic

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

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

Domain theory Directed complete partial order Knaster–Tarski theorem

Category theory

Cartesian closed category Yoneda lemma

Operational issues

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

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