Higher-order function
고차 함수(高次函數, higher-order function)는 수학과 컴퓨터 과학에서 적어도 다음 중 하나를 수행하는 함수이다.
- 하나 이상의 함수를 인수로 취한다. (예: 절차적 매개변수)
- 함수를 결과로 반환한다.
다른 모든 함수들은 일차(first order) 함수이다. 수학에서 고차 함수들은 연산자, 범함수라고도 한다. 미적분에서 미분 연산자가 일반적인 예인데, 그 이유는 함수를 그 미분에 연결시키기 때문이다.
형식화되지 않은 람다 대수에서 모든 함수들은 고차 함수이다. 대부분의 함수형 프로그래밍 언어를 파생시키는 형식화된 람다 대수에서 하나의 함수를 인수로 취하는 고차 함수들은 \({\displaystyle (\tau _{1}\to \tau _{2})\to \tau _{3}}\)의 형태의 값이다.
프로그래밍 언어에서의 지원
Scala
- Scala:HigherOrderFunction 항목 참조.