> 웹 프론트엔드 > JS 튜토리얼 > 람다 미적분학의 마이유틱스

람다 미적분학의 마이유틱스

Susan Sarandon
풀어 주다: 2024-12-15 18:32:10
원래의
881명이 탐색했습니다.

La maïeutique du lambda-calcul

인간이 컴퓨팅을 발견했거나 발명했다고 생각하시나요?

튜링 기계와 Church의 람다 미적분학은 1936년에 서로 독립적으로 형식화되었지만 둘 다 보편적으로 표현 가능하므로(모든 것을 계산할 수 있음) 저는 발견에 의지합니다. 매우 다르지만 100% 동일합니다.

전자 회로와 트랜지스터 덕분에 모든 형태를 취할 수 있고 일반적으로 이러한 개념을 구현할 수 있는 하드웨어 컴퓨터의 발명에 대해 말하는 것이 아닙니다. 저는 여기서 계산 논리와 이에 수반되는 계산적 사고에 대해 이야기하고 있습니다. 그 사람은 잡혀서 갇히기를 기다리며 공중에 떠 있었습니다.

고등학교 때처럼

수학 수업, 특히 함수를 기억해 보세요.
전달된 값에 2를 곱하는 함수인 f(x) = 2*x를 설정합니다. 이름을 Double로 지정하겠습니다.

그래서 Double(3) = 2*3 = 6
그리고 Double(4) = 2*4 = 8.
쉬운.

f(x) = x 1 또는 증분에도 동일합니다.

증분(3) = 3 1 = 4
증분(4) = 4 1 = 5
아주 쉽습니다.

람다 계산

람다 계산도 같은 방식으로 작성할 수 있습니다.
f(x) = x는 예를 들어 전달된 값을 반환하는 함수입니다.
이 함수를 I, Idiot 또는 Identity라고 하며 람다 미적분학의 기초 중 하나입니다.

그래서 항등식(3) = 3
그리고 항등식(4) = 4.
너무 쉽습니다.

덜 명확하지만 람다 계산의 유용성이 발견된 다른 방법도 있습니다.
f(x, y) = x는 K, Kestrel 또는 상수(첫 번째 인수를 반환하는 함수)입니다.

상수(3, foo) = 3
상수(foo, 5) = foo

또 다른 내용은 다음과 같습니다.
f(x) = x(x)는 M, Mockingbird 또는 자체 적용

입니다.

근데 숫자로 사용하기엔 너무 꼬여있네요:
f(3) = 3(3) = 3은 의미가 없습니다. 인수 3은 인수와 함께 차례로 사용되는 함수여야 합니다.

g(x) = foo 여기서는 매번 foo를 반환하는 함수가 있습니다! 좋습니다. 그녀를 Dummy라고 부르겠습니다.

그래서 자체 적용이 f(x) = x(x)라면
그리고 더미는 g(x) = foo

그래서 Self-Apply(Dummy) = Dummy(Dummy) = foo
네, Dummy는 자신에게 적용되며 Dummy는 항상 foo를 반환하므로 우리는 foo를 정상적으로 얻습니다.

마법이 시작된다

람다 계산의 조합적 특성으로 인해 이해하고 조작하기가 매우 간단할 뿐만 아니라 재발견하기도 쉽습니다.
특정 수의 용어를 사용하여 가능한 모든 연관성과 조합을 테스트하여 실제로 다양하고 유용한 기능을 모두 찾아보세요.

예를 들어 f(x, y, z) = x(y(z))가 매우 유용한 함수라는 것을 발견하고 이를 B, Bluebird라고 불렀습니다. 또는 작성하세요.
여러분이 해야 할 일은 2개의 함수와 값을 전달하여 이 세 번째 인수에 대해 수행된 작업 체인의 결과를 얻는 것뿐입니다.

합성(증분, 증가, 3) = 증가(증분(3)) = 증가(4) = 5
복합(더블, 더블, 10) = 더블(더블(10)) = 더블(20) = 40
복합(합성(증분, 증분), Double, 10) = (합성(증분, 증분))(Double(10)) = 증분(증분(20)) = 증분(21) = 22

약간 미친 프로젝트

람다 미적분학의 유용한 기능을 모두 재발견하고 이를 자바스크립트로 구현하는 프로젝트를 시작합니다.
가능한 모든 조합을 생성하고 테스트하여 더욱 빠르게 진행할 수 있도록 친구 클로드의 도움을 받아보겠습니다.

그는 성공할 것인가? 그리고 우리는 1936년에 알론조 교회가 겪은 일을 다시 경험하고 느낄 수 있을까요?

더 미친 희망: 이러한 조합의 완전성을 검색하여 새로운 것을 발견할 수 있을까요?

위 내용은 람다 미적분학의 마이유틱스의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿