사용자:Dklee12/일급 함수

위키백과, 우리 모두의 백과사전.

컴퓨터 과학에서 함수를� 일급 시민 으로 취급하는 경우 일급 함수를 가지는 프로그래밍 언어라고 합니다. 이것은 언어가 함수를 다른 함수에 인수로 전달, 다른 함수의 값으로 반환, 변수에 할당하거나 데이터 구조에 저장하는 것을 지원한다는 것을 의미합니다. [1] 일각에서는 익명 함수 (함수 리터럴)도 일급 함수의 조건이라고 주장합니다. [2] 일급 함수가 있는 언어에서 함수 이름에는 특별한 상태가 없으며 함수 타입의 평범한 변수 취급됩니다. [3] 이 용어는 1960년대 중반에 크리스토퍼 스트래치가 "일류 시민으로서의 기능"이라는 맥락으로 사용하며 만들어졌습니다. [4]

일급 함수는 고차 함수 의 사용이 표준 관행인 함수형 프로그래밍 스타일에 필수적입니다. 고차 함수의 간단한 예는 함수와 목록을 인수로 취하고 목록의 각 구성원에 함수를 적용하여 형성된 목록을 반환하는 함수입니다. 언어가 map 을 지원하려면 함수를 인수로 전달하는 것을 지원해야 합니다. [[분류:함수 (프로그래밍)]] [[분류:프로그래밍 언어 이론]] [[분류:원시 자료형]] [[분류:함수형 프로그래밍]] [[분류:자료형]] [[분류:컴파일러 구성]]

  1. Abelson, Harold; Sussman, Gerald Jay (1984). 《Structure and Interpretation of Computer Programs》. MIT Press. Formulating Abstractions with Higher-Order Procedures. ISBN 0-262-01077-1. 
  2. Programming language pragmatics, by Michael Lee Scott, section 11.2 "Functional Programming".
  3. Roberto Ierusalimschy; Luiz Henrique de Figueiredo; Waldemar Celes (2005). “The Implementation of Lua 5.0”. 《Journal of Universal Computer Science》 11 (7): 1159–1176. doi:10.3217/jucs-011-07-1159. 
  4. Burstall, Rod; Strachey, Christopher (2000). “Understanding Programming Languages” (PDF). 《Higher-Order and Symbolic Computation13 (52): 11–49. doi:10.1023/A:1010052305354. 2010년 2월 16일에 원본 문서 (PDF)에서 보존된 문서.  (also on 2010-02-16