람다식,lambda_expression


거의같은
람다항,lambda_term - 항,term ...wt는 syn으로 처리. 글쎄?
=람다항,lambda_term =,lambda_term 람다항 lambda_term
{



Sub:
closed_lambda_expression = combinator
"자유 변수 free_variable 가 없는 표현식을 닫혀 있다(closed)라고 하며, 닫힌 람다 표현식(Closed lambda expression)을 컴비네이터(combinator)라고 한다."[1]

MKLINK
식,expression
lambda_calculus 람다계산/람다계산법/VG:람다대수,lambda_calculus
{
이것은 튜링_기계,Turing_machine와 똑같은 표현력을 가지고 있다.

Twin



람다식 계산의 예

다시쓰기:
람다식 중에
(λx.E)E'
이 있으면 λx를 떼어내고 E 안에 있는 x가 E'로 바뀐다.

예:
(λx.(λy.xy))z
오른쪽에 z가 있으므로, λx를 떼어내면서 λy.xy 안의 x가 z로 바뀐다.
λy.zy

람다식 λx.E 는 함수로 볼 수 있고
다시쓰기,rewriting는 함수가 인자를 받아서 함수의 내용을 실행하는 것으로 볼 수 있다.

중학교 때 함수를 표기하는 방식과 비교하면, 제곱,square 연산은
$\displaystyle f(x)=x^2$

$\displaystyle \lambda x.x^2$
으로 적는 셈이다.

자연수 k는 다음과 같은 람다식 k로 표현한다.
자연수 구성
0=λs.(λz.z)
1=λs.(λz.sz)
2=λs.(λz.s(sz))
3=λs.(λz.s(s(sz)))
i.e.
$\displaystyle \underline{3}=\lambda s.(\lambda z.\underbrace{s(s(s}_{3}z)))$

C++ 람다식

Lambda expressions (since C++11) - cppreference.com
https://en.cppreference.com/w/cpp/language/lambda


tmp

SNU이광근
밑줄이 뭔지 설명이 제대로 안 돼 있어서 불편... 개정판에는 나와있으려나?


덧셈 구성
곱셈 구성 (생략)

참,true T = λx.(λy.x)
거짓,false F = λx.(λy.y)

AND연산자 and a b = a b F
0인가? zero? n = n(λx.F)T


(SNU이광근)