Standard Article

Functional Programming

  1. Olaf Chitil

Published Online: 16 MAR 2009

DOI: 10.1002/9780470050118.ecse164

Wiley Encyclopedia of Computer Science and Engineering

Wiley Encyclopedia of Computer Science and Engineering

How to Cite

Chitil, O. 2009. Functional Programming. Wiley Encyclopedia of Computer Science and Engineering. 1334–1344.

Author Information

  1. University of Kent, Canterbury, United Kingdom

Publication History

  1. Published Online: 16 MAR 2009


Functional programming is a programming paradigm like object-oriented programming and logic programming. Functional programming comprises both a specific programming style and a class of programming languages that encourage and support this programming style. Functional programming enables the programmer to describe an algorithm on a high level, in terms of the problem domain, without having to deal with machine-related details. A program is constructed from functions that only map inputs to outputs, without any other effect on the program state. Thus, a function will always return the same output, regardless of when and in which context the function is used. These functions provide clear interfaces, separate concerns, and are easy to reuse. A small and simple set of highly orthogonal language constructs assists in writing modular programs.


  • declarative;
  • expressions;
  • recursion;
  • higher order function;
  • program algebra;
  • side affect;
  • types;
  • embedded domain specific language