Skip to content

Latest commit

 

History

History
18 lines (17 loc) · 1.6 KB

what-is-lambda.md

File metadata and controls

18 lines (17 loc) · 1.6 KB

람다 대수란 무엇인가.

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