A high-order function is one that has another function as an argument or a function, returning another function as output.