List of functional programming topics

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