답변:
람다 미적분학은 논리, 범주 이론, 유형 이론, 형식 검증 등에서 기본적으로 사용됩니다. 이 분야에서 일하는 사람들이 그것의 이점에 의문을 제기하지 않는 것은 근본적인 형식주의입니다.
함수형 프로그래밍의 본질을 제공하기 때문에 함수형 프로그래밍을 이해하는 데 매우 유용하다고 생각합니다. 기능, 응용, 대체. 이를 바탕으로 기능적 프로그램과 그 변형에 대해 추론하는 기술을 쌓을 수 있습니다. 고차 함수는 산들 바람입니다.
물론 람다 미적분없이 함수형 프로그래밍을 배울 수는 있지만 함수형 프로그래밍 없이는 함수형 프로그래밍을 진정으로 이해하지 못할 것입니다.
컴퓨터 과학 및 논리 이외의 응용 프로그램을 요청하고 있습니다. 예를 들어 대수 토폴로지에서 쉽게 찾을 수 있습니다. 직교 폐쇄 영역의 범주를 갖는 것이 편리합니다 . nLab 의 편리한 토폴로지 영역 범주를 참조하십시오 . 직교 폐쇄 범주에 해당하는 공식 언어는 정확히 -calculus입니다. 이것이 어떻게 유용한 지 아주 간단한 예를 들어 설명하겠습니다.
먼저 워밍업 연습으로 누군가 의해 정의 된 함수 인지 묻습니다 는 차별화됩니다. 당신은 실제로 그것이 그것을 증명할 필요는 없으며, 그것은 그것이 차별화 가능한 기능, 따라서 차별화 가능한 구성이라는 것을 관찰하면됩니다. 다시 말해, 정의 의 형식 에 따라 쉬운 결론을 내 렸습니다 . F ( X ) = X (2) E (X) + 로그 ( 1 + X 2 )
이제 실제 예를 들어 보겠습니다. 누군가 의해 정의 된 함수 인지 묻습니다 는 연속적입니다. 함수는 -calculus를 사용하여 연속 맵 , , 등에서 시작 하므로 "yes"로 즉시 응답 할 수 있습니다 .
-calculus 의 다양한 확장을 통해 다른 영역에서 동일한 종류의 작업을 수행 할 수 있습니다. 예를 들어, 부드러운 지형지 물 은 직교 닫힌 범주이므로 -calculus를 사용하여 정의 된 파생물과 실수의 링 구조 (원하는 경우 지수 함수를 던질 수 있음)를 사용하여 정의 된 모든 맵 이 자동으로 생성됩니다. 부드러운. (실제로, 부드러운 토포의 주요 추력은 "무한대 이등변 삼각형으로 디스크를 나눕니다"와 같은 것을 의미있게 말할 수있는 전능 한 무한대의 존재입니다.
-calculus 를 보는 한 가지 방법은 간단하고 간결한 매개 변수 지정 프로그램 모델입니다. 함수, 프로 시저 또는 메소드가있는 거의 모든 프로그래밍 언어와 모듈이 있거나 유형을 매개 변수화 할 수있는 모든 언어로 코드를 매개 변수화합니다. 매개 변수화는 재사용의 한 형태입니다. -calculus는 매우 간단 하기 때문에 코드를 매개 변수화 할 수있는 많은 프로그래밍 언어 간의 공통점이 특히 명확하게 드러납니다.
-calculus 에 대해 몰라도 매우 훌륭한 프로그래머가 될 수는 있지만 매우 유용한 아름다운 것을 놓치고 있습니다.
Microsoft LINQ (Language INtegrated Query)는 기능적 프로그래밍 기능을 절차 적 언어로 접목합니다. -calculus를 광범위하고 직접 사용하여 종속성을 풀고 데이터베이스 서버에 위임 할 수있는 표현식 트리의 부분을 분리합니다. 이것은 상업적 가치가 높은 매우 실용적인 응용 프로그램입니다.
나는 기능적 언어를 사용하여 작은 상업 응용 프로그램을 작성했으며 학자와 연구원에게 가치가 있지만 절차 적 사촌보다 상업적으로 덜 유용하다는 것을 확신 할 수 있습니다. 실제로 그것은 코스를위한 말의 문제이며, 무엇보다도 가장 필요한 것은 절차 적이거나 기능적 일 수있는 언어입니다. 결과적으로 -expressions 와 같이 LINQ를 지원하기 위해 C #에 도입 된 기능적 기능 은 데이터베이스 쿼리 컨텍스트 외부에서 상당히 많이 사용됩니다.
그것에 대해 더 많이 알지 못하면 언어 학자들이 람다 미적분학을 사용하고 있다고 들었습니다.
http://www.sfu.ca/~jeffpell/Ling406/LambdaAbstractionOH.pdf , https://files.nyu.edu/cb125/public/Lambda/