카테고리 이론적 프레임 워크를 사용하는 모나드의 자연 발생


18

오늘, Henning Kerstan ( "추적 전이 시스템에 대한 추적 의미론")의 연설이 처음으로 범주 이론에 직면했습니다. 그는 확률 적 전이 시스템과 그들의 행동을 일반적인 방식, 즉 셀 수없이 무한한 상태 세트와 다른 트레이스 개념으로 설명하기위한 이론적 프레임 워크를 구축했습니다. 이를 위해 그는 여러 추상화 계층을 거쳐 마침내 모나드 (monad) 라는 개념으로 끝나고 측정 이론과 결합하여 필요한 모델을 구축합니다.

결국, 그는 5 분 안에 처음 설명했던 개념을 설명하기위한 프레임 워크를 구축하는 데 45 분이 걸렸습니다. 나는 (이 접근의 아름다움을 감상 않는 흔적을 잘 이상의 서로 다른 개념을 일반화)하지만 그럼에도 불구하고 이상한 균형 나를 친다.

나는 모나드 정말 무엇을보고 투쟁 이다 방법 때문에 일반 정보 개념 응용 프로그램에 유용 할 수 있습니다 (모두 이론과 실천에서). 결과적으로 노력할 가치가 있습니까?

따라서이 질문 :

모나드의 추상 개념을 적용 할 수 있고 원하는 결과를 도출하는 데 도움이되는 (CS의 의미에서) 자연스럽고 (또는 의미가없는) 문제가 있습니까?


2
순전히 기능적인 프로그래밍 언어로 상태를 인코딩합니까? 이것이 자연스러운 CS 문제입니까?
Stéphane Gimenez

2
함수형 언어에서 효과 를 처리하는 데있어 가장 일반적인 문제는 제가 가장 많이 본 사례입니다. 이론적으로 효과에 대한 모나드는 섹시하고 실제로는 하스켈의 IO 모나드는 매우 편리합니다.
jmad

그리고 상대적으로 가벼운 클래식 시맨틱에 비해 장점은 무엇입니까? FP 모나드는 카테고리 이론과 같은 것입니까? 질문에 대한 질문.
Raphael

범주 이론을 사용한 후의보다 일반적인 질문은 cstheory.SE에서이 질문을 참조하십시오 .
라파엘

답변:


6

모나드 발생이 자연스러운 지 묻는 것은 (그룹 이론의 의미에서) 집단이 자연적인지 묻는 것과 유사합니다. 일단이 형식을 endofunctor로 공식화하면 모나드가 될 수 있다는 공리를 충족시킬 수 있습니다. 그것이 공리를 만족한다면, 많은 기술 기계를 무료로 얻게됩니다.

Moggi의 논문 계산 개념과 모나드는 개념을 거의 봉인합니다. 모나드는 매우 자연스럽고 통합 된 방식으로 계산 효과를 설명하는 데 유용합니다. 와 들러다른 사람들은 functor가 데이터 형식 생성자라는 연결을 사용하여 함수형 프로그래밍 언어의 계산 효과를 처리하기 위해 이러한 개념을 번역했습니다. 이것은 케이크에 착빙을 추가합니다. FP 모나드는 IO와 같은 전산 효과를 처리 할 수 ​​있습니다. Monads는 기능 프로그램을 구성하는 데 매우 유용한 화살표 및 관용구와 같은 관련 유용한 개념에 영감을주었습니다. 참조는 Wadler 링크를 참조하십시오. FP 모나드는 FP 모나드가 작동하기 위해 동일한 방정식을 유지해야한다는 점에서 범주 이론 모나드와 동일합니다.-컴파일러는 이것에 의존합니다. 일반적으로 모나드의 표현은 다르지만 (상이하지만 동등한 연산 및 방정식) 피상적 인 차이입니다.

바트 제이콥스 의 작품 중 상당수는 모나드를 사용합니다. 많은 작업은 시스템의 일반적인 이론 인 대수에서 비롯됩니다. 이 지역에 대한 Jacobs의 (많은) 기여 중 하나는 모나드를 기반으로 한 시스템 (연쇄상이라고도 함)에 대한 미량 의미일반적인 개념을 개발하는 것입니다 . 추적 의미론의 개념이 자연 스럽다고 주장 할 수 있습니다. 시스템의 의미론은 무엇입니까? 관찰 할 수있는 조치 목록!

모나드를 이해하는 한 가지 방법은 모나드를 사용하여 Haskell에서 먼저 프로그램하는 것입니다. 그런 다음 Google을 통해 사용할 수있는 많은 유용한 자습서 중 하나를 찾으십시오. 프로그래밍 각도에서 시작한 다음 기본 범주 이론부터 시작하여 이론 측면으로 이동하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.