파이썬의 Lambda 함수와 형식의미론에서의 λ calculus

파이썬(Python)에는 Lambda 함수라는 것이 있는데, 이름이 없고 가리키는 객체만 존재하는 함수를 의미한다. 리턴값을 따로 적어주지 않아도 하나의 리턴값을 돌려준다. Lambda 함수는 다음과 같이 사용할 수 있다.

>>> g = lambda x, y : x * y
>>> g(2, 3)
6
>>> (lambda x: x * x)(3)
9

한편, 언어학의 한 분야인 형식의미론(Formal Semantics)에는 λ calculus라는 것이 있는데, 문장의 의미 구조를 한 눈에 들어오게 표현하는 기술 방식이다. 예를 들어, Python is cool이라는 문장은 λ calculus를 이용하면 다음과 같이 기술할 수 있다.

[λx. x is cool](Python)

형식이 매우 흡사한 것을 볼 수 있다. 변항을 lambda 다음에 넣는 것도 그렇고, 문장 뒤에 변향에 대입할 값을 넣는 것도 그렇고.. 난 λ calculus를 알게 된 시기가 Lambda 함수를 알게 된 시기보다 빨랐는데, Lambda 함수를 처음 알았을 때 꽤 놀랐다. 단순한 우연의 일치일까, 아니면 의도적인 것일까? 신기신기

(+) 나중에 알고 봤더니 λ calculus라는 것이 언어학, 컴퓨터과학 등에 원래부터 널리 쓰이던 것이었다.

댓글을 남겨주세요.