What are Higher-Order Functions?

In this lesson, you will be introduced to higher-order functions and learn their syntax.

We'll cover the following

In this chapter, we will see the actual power of functional programming and how functions in a functional programming language differ from functions in a non-functional programming language.

Higher-Order Functions

Functional programming languages treat functions as first-class values. What this means is that, like any other value, such as Integers or Strings, a function can be passed as a parameter to another function and can also be returned as a result.

Functions that take other functions as parameters or that return functions as results are called higher-order functions.

Syntax

As we already know, the syntax for defining a function which takes a simple variable as a parameter is:

When we want to define a function which takes another function as a parameter, the syntax of the parameter would be the following:

We have taken the function name to be f. f is the function to be passed as a parameter. It is followed by a : which is further followed by the data type of f's argument. We then insert an arrow => which is followed by the data type of f's result.


In the next lesson, we will be looking at an example which will be carried forward for the next several lessons.