Hàm thứ bậc cao

Trong toán học và khoa học máy tính, hàm thứ bậc cao (tiếng Anh: higher-order function) là một hàm thỏa ít nhất một trong các điều kiện sau:
 lấy một hoặc nhiều hàm làm đối số (ví dụ tham số thủ tục),
 trả về kết quả là một hàm.
Tất cả các hàm khác là hàm bậc nhất (first-order function). Trong toán học hàm thứ bậc cao cũng được gọi là toán tử (operator) hay hàm số (functional). Hàm thứ bậc cao không nên bị nhầm lẫn với "hàm tử" (functor) trong toán học, xem thêm Hàm tử (định hướng).

Ví dụ tổng quát
 Hàm map, được tìm thấy trong nhiều ngôn ngữ lập trình, là một ví dụ về hàm thứ bậc cao. Nó nhận đối số là một hàm f và một danh sách các phần tử, và kết quả trả về là một danh sách mới với hàm f được áp dụng trên từng phần tử của danh sách.

Xem thêm
First-class function
Combinatory logic
Function-level programming
Functional programming
Kappa calculus - a formalism for functions which excludes higher-order functions
Strategy pattern
Higher order messages

Tham khảo

Lập trình hàm
Lambda calculus
 
Chương trình con