람다 함수
는 수학의람다 대수
에서 탄생했다.- 그렇다면
람다 대수
란 무엇일까?- 함수의 표현
- 함수는
컴퓨터 과학
과수학의 기초
를 이루는 개념이다.람다 대수
는 함수를 단순하게 표현할 수 있도록 하여 '함수의 계산'이라는 개념을 더 깊이 이해할 수 있게 돕는다. - 예를 들어 항등 함수
I(x)=x
는 하나의 입력x
를 받아 다시x
를 결과로 내놓는다고 하자. - 함수
s(x,y)=x*x+y*y
는 입력 x와 y를 받아 두 수의 제곱의 합을 내놓는다고 하자. 이 두 예제로부터 세 가지의 유용한 사실을 알 수 있다.-
- 함수가 반드시 이름을 가질 필요는 없다.
I(x)=x
는 이름을 제거하고x -> x
로 쓸 수 있으며, s 함수 또한(x, y) -> x * x + y * y
로 표현할 수 있다.
-
- 함수의 input 변수의 이름 또한 필요 없다.
x -> x
와y -> y
는 입력 변수의 이름은 다르지만, 항등 함수인 것은 마찬가지이다.
-
- 두 개 이상의 입력을 받는 함수는 하나의 입력을 받아 또 다른 함수로 다시 쓸 수 있다
- 예를 들어,
(x, y) -> x + y
는x -> y -> x + y
와 같은 형태로 다시 쓸 수 있다. - 함수를 이와 같이 변환하는 것을 커링(currying) 이라고 한다.
- (x -> y -> x + y)(2)(3)은 다음과 같이 함수를 두 번 적용하는 것으로 이해할 수 있다.
- step 1) (y -> 2 + y)(3)
- step 2) (2 + 3)
-
- 함수는
- 함수의 표현