적어도 1990 년대 말로 돌아 가면 restricted monads을 하스켈에 통합하려는 사람이 있습니다.제한된 모나드의 현재 상태는 무엇입니까?
예를 들어 제한된 모나드가 없으면 Set
, Map
또는 probability distributions 중에서 효율적인 모나 딤을 만들 수 없습니다. 몇 년 전부터 다른 사람이이 문제에 대해 파문을 쳤던 SO question이 있습니다. 모든 가능한 제한에 대한 new type class 만들기
:
다양한 사람들이 포함 마련 것을 해결 방법이 있습니다.
Template Haskell을 사용하십시오.
Constraint Kinds을 사용합니다.
그러나 이러한 접근 방식 중 어느 것도 "표준적인"것으로 보이지는 않습니다. Don stewart의 this blog post에 대한 의견을 2007 년에 발견했습니다. 여기서 그는 Indexed types으로 제한된 모나드를 "상당히 가깝게"가지고 있다는 것을 암시했습니다.
현재 상태는 무엇입니까? 현재 제한된 모나드를 수행하는 '정식'방식이 있습니까? 또는 우리는 여전히 임시 해결책으로 살고 있습니까?
제한된 종류의 경우 제한된 종류라고 생각 하겠지만 표준 유형은 너무 복잡하여 아직 가장 많은 공통 솔루션이 아닙니다. – leftaroundabout