## Recursion, List Manipulation, and Lazy Evaluation

The remaining three characteristics of functional programming are told quite quickly: Recursion, manipulation of lists and lazy evaluation.

## Pure Functions

Pure functions are quite similar to mathematical functions. They are the reason that Haskell is called a pure functional programming language.

## Immutable Data

A key to pure functional languages is that their data are immutable. Therefore, assignments such as x= x+1 or ++x are not possible in the pure functional language Haskell. The consequence is that Haskell supports no loops like for, while, or until. They are based on the modification of a loop variable. Haskell does not modify existing data; Haskell creates new data when needed and reuses the old ones.

Tags: constexpr

## Higher-Order Functions

Higher-order functions are the pendant to First-Class Functions because higher-order functions can take functions as argument or return them as result.

## First-Class Functions

One of the characteristics of functional programming is first class functions. First-class functions behave like data and are heavily used in the Standard Template Library.

## The Definition of Functional Programming

The definition of functional programming is quite easy. Functional programming is the programming with mathematical functions. Is that all? Of course, not!

## Functional in C++17 and C++20

Which functional feature can we expect with C++17, for which functional feature can we hope for with C++20? This is exactly the question I will concisely answer in this post.

Tags: C++20, C++17

## Functional in C++11 and C++14: Dispatch Table and Generic Lambdas

My favourite example the dispatch table shows how nice the features in modern C++ work together. A dispatch table is a table of pointers to functions. In my case, it is a table of handles to polymorphic function wrappers.

Tags: lambdas

## Functional in TR1 and C++11

In this post, our journey through the functional features of classical, modern, and future C++ continues. Today, we stop in the present.

Tags: auto

## Functional in C++98

C++ is not a functional programming language but you can program in a functional style. What are the functional features in C++? I will answer this question for C++98.

### Visitors

Today 6612

All 3386623

Currently are 164 guests and no members online

• #### C++ Core Guidelines: Be Aware of the Traps of Condition Variables

Hi, Thank you. Great post! Do you know how function wait_until() behaves if chrono::milliseconds(0) is ...

• #### C++ Core Guidelines: Class Hierarchies

Apprеciate tһis post. Ԝill try it out.

• #### C++20: Concepts, the Details

The article doesn't mention a fourth option for declaring a constrained function template. P1141 (Yet ...

• #### No New New: Raw Pointers Removed from C++

Stumbling across this site was a pleasant surprise. Removal of pointers is going to break an ocean ...