개요

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)};