개요
First-class function에서는 함수가 변수이다. First-class function은 함수가 변수처럼 생각되어서, 다른 함수의 인자로 넘길 수 있으며, 리턴 타입으로 나올 수 있으며, 자료구조와 같은 시스템으로 저장할 수 있다. first-class function을 허용하는 언어에서는 function의 이름이 특별한 의미를 가지는 것이 아니라, 다른 변수와 같은 의미를 가진다. first-class function은 함수형 언어의 근간을 이룬다.
First-order function에서 다음과 같은 식은:
def f(x) = (1 + x)
First-class function에서는 다음과 같이 표현된다.:
val f = {x => (1 + x)};