사이의 차이가


11

나는 현재 람다 미적분학을 배우고 있으며 람다 용어를 쓰는 다음 두 가지 다른 종류의 궁금합니다.

  1. λxy.xy
  2. λx.λy.xy

베타 축소를 적용하는 의미 나 방법에 차이가 있습니까, 아니면 같은 것을 표현하는 두 가지 방법입니까?

특히 페어 생성에 대한이 정의는 나를 놀라게했습니다.

=λxy.λp.pxy

답변:


15

이것들은 단지 표기법의 차이점입니다. λxyz.tλx.λy.λz.t 입니다. 여기 마법이 없습니다.

실제로 그러나 정의를 작성하는 방식을 변경하여 는 함수 임을 강조하는 경향이 있습니다. 그러나 실제로 동일합니다.pair=λxyp.pxypairtuλp.ptu


17

첫 번째는 두 번째의 약어입니다. 표현을 줄이려면 일반적인 구문 규칙입니다.

반면에 언어로 된 튜플이 있으면 차이점이 있습니다.

  1. λ엑스.λ와이.엑스와이
  2. λ(x,y).xy .

전자의 경우 함수에 단일 인수를 제공하고 결과 함수를 다른 함수에 전달할 수 있습니다. 후자의 경우 두 인수 모두 한 번에 제공해야합니다. 물론 1을 2로 또는 그 반대로 변환하기 위해 적용 할 수있는 기능이 있습니다. 이 과정을 (un) currying이라고 합니다.

언급 의 정의는 쌍을 기본 데이터 유형으로서 쌍이 아니라 -calculus 로 인코딩 하는 것입니다 (위에서 암시 한 것처럼).pairλ


2

단일 인수를 사용하여 여러 인수를 사용하는 함수를 함수 체인으로 변환하는 것을 카레 라고 합니다 . 두 기능은 본질적으로 동일합니다.

카레에 관한 위키피디아 기사


8
람다 미적분학에서 여러 인수를 취하는 함수와 같은 것은 없습니다. 는 와 정확히 동일 는 기본적으로 동일하지 않습니다. λ x . λ y . x yλ엑스와이.엑스와이λ엑스.λ와이.엑스와이
sepp2k
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.