커링
보이기
수학과 컴퓨터 과학에서 커링(currying)이란 다중 인수 (혹은 여러 인수의 튜플)을 갖는 함수를 단일 인수를 갖는 함수들의 함수열로 바꾸는 것을 말한다. 모지즈 쇤핑클에 의해 도입되었고[1][2][3], 이후 해스켈 커리에 의해 발전하였다[4][5].
예를 들어, 세 개의 인수를 가지는 함수를 커링하면 다음과 같은 세 개의 함수가 만들어진다.
언커링(uncurrying)은 커링의 쌍대 변환이다.
같이 보기
[편집]참고 문헌
[편집]- ↑ 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.) - ↑ 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.)
- ↑ Kenneth Slonneger and Barry L. Kurtz. Formal Syntax and Semantics of Programming Languages. p. 144.
- ↑ Henk Barendregt, Erik Barendsen, "Introduction to Lambda Calculus[깨진 링크(과거 내용 찾기)]", March 2000, page 8.
- ↑ Curry, Haskell; Feys, Robert (1958). 《Combinatory logic》 I 2판. Amsterdam, Netherlands: North-Holland Publishing Company.