글

라벨이 lambda calculus인 게시물 표시

파이썬의 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라는 것이 언어학, 컴퓨터과학 등에 원래부터 널리 쓰이던 것이었다.