• Computer Science
  • /
  • Programming Paradigms

Functional programming

In computer science, functional programming is a programming paradigm where programs are constructed by applying and composing functions. It is a declarative programming paradigm in which function definitions are trees of expressions that map values to other values, rather than a sequence of imperative statements which update the running state of the program. In functional programming, functions are treated as first-class citizens, meaning that they can be bound to names (including local identifiers), passed as arguments, and returned from other functions, just as any other data type can. This allows programs to be written in a declarative and composable style, where small functions are combined in a modular manner.

Read More





  • See All
  • Functions
  • First Class Functions
  • Pure Functions & Side Effects
  • Closures
  • Currying
  • Higher order functions
  • Immutability
  • Function Composition
  • Point free notation
  • Functors
  • Monads
  • Tail recursion
  • Natural transformations
  • Pattern Matching
  • Algebraic Data Types
  • Readers
  • Semigroups
  • Sequences
  • Traversable
  • Reducers
  • Transducers
  • Lens Pattern
  • Function overloading
  • Parametric polymorphism
  • Hindley-Milner type system

Best Resources

  • Read

  • Watch

  • Listen

  • Study

  • Practice

  • Short (<30min)

  • Long (>30min)

  • Learning Path


Finding the most adapted learning resources...

See Also

Functional programming (JavaScript)Functional programming (Python)

Ask a Question

Your Message

Sign Up or Log In to post a comment

© 2023