커링

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 검색

수학과 컴퓨터 과학에서 커링이란 다중 인수 (혹은 여러 인수의 튜플)을 갖는 함수를 단일 인수를 갖는 함수들의 함수열로 바꾸는 것을 말한다. 모지즈 쇤핑클에 의해 도입되었고[1][2][3], 이후 해스켈 커리에 의해 발전하였다[4][5].

언커링(uncurrying)은 커링의 듀얼 트랜스포메이션이다.

참고문헌[편집]

  1. Strachey, Christopher (2000년). Fundamental Concepts in Programming Languages. 《Higher-Order and Symbolic Computation》 13: 11–49. doi:10.1023/A:1010000313106. “There is a device originated by Schönfinkel, for reducing operators with several operands to the successive application of single operand operators.” (Reprinted lecture notes from 1967.)
  2. Reynolds, John C. (1998년). Definitional Interpreters for Higher-Order Programming Languages. 《Higher-Order and Symbolic Computation》 11 (4): 374. doi:10.1023/A:1010027404223. “In the last line we have used a trick called Currying (after the logician H. Curry) to solve the problem of introducing a binary operation into a language where all functions must accept a single argument. (The referee comments that although “Currying” is tastier, “Schönfinkeling” might be more accurate.)”
  3. Kenneth Slonneger and Barry L. Kurtz. Formal Syntax and Semantics of Programming Languages. p. 144.
  4. Henk Barendregt, Erik Barendsen, "Introduction to Lambda Calculus", March 2000, page 8.
  5. Curry, Haskell (1958). 《Combinatory logic》, 2, Amsterdam, Netherlands: North-Holland Publishing Company