"효과보다 더 강력한 모나드 트랜스포머"-예?


78

Idris의 효과에 대한 Edwin C. Brady의 "대수적 효과 및 종속 유형을 사용한 프로그래밍 및 추론" 논문 에는 다음과 같은 (참조되지 않은) 주장이 포함되어 있습니다.

비록 [효과와 모나드 변환기]가 전력면에서 동등하지는 않지만-모나드와 모나드 변환기는 더 많은 개념을 표현할 수 있습니다. 많은 일반적인 효과적인 계산이 포착됩니다.

모나드 변환기로 모델링 할 수 있지만 효과는없는 예가 있습니까?


23
이것은 단순히 논문의 저자보다 더 많은 사람들이 답할 수있는 유용한 질문입니다. 더 많은 힘의 예는 중복 효과를 허용하는 것입니다.
Brian McKenna

6
이 질문에 대한 답을 알고 싶습니다. 여기에서 찾을 수있을 때 논문의 저자에게 연락하고 싶지 않습니다.
Bryn Keller

3
이것은 어떤 논문을 언급하더라도 좋은 질문입니다 ...
cnd

12
Andrej Bauer의 블로그 에서 찾은 논문에서 올바르게 기억하면 대수 효과는 구분 된 연속 모나드의 양식화 된 사용 일뿐입니다. 따라서 모나드는 최소한 대수 효과만큼 강력합니다. 처음부터 대수적 효과를 사용하도록 구축 된 Eff 언어 의 홈페이지 에는 이러한 논문 중 일부에 대한 링크가 포함되어 있습니다. 나는 세부 사항을 직접 알지 못하기 때문에 이것을 답변으로 게시하지 않습니다.
pyon

@ EduardoLeón 구분 된 연속은 Bauer 및 Pretnar 2010, 대수 효과 및 처리기를 사용한 프로그래밍 (pdf)에 나와 있습니다 . 논문은 "마지막으로 연속은 비 대수적 계산 효과의 표준적인 예입니다. 따라서 eff가 유연하고 깨끗한 형태의 구분 된 제어를 제공한다는 것이 약간 놀랍습니다. 특히 연속이 우리 설계에 전혀 포함되지 않았기 때문입니다. 그러면 효과적인 설정에서 제어 연산자에 대해 eff에서 무엇을 배울 수 있습니까? "
Charles Stewart

답변:


10

연속은 CPS를 사용하여 모나드로 모델링 할 수 있지만 Lawvere 이론을 사용하여 모델링 할 수 없기 때문에 대수 효과가 아닙니다. Martin Hyland와 John Power, 2007, The Category Theoretic Understanding of Universal Algebra : Lawvere Theories and Monads (pdf) , ENTCS 172 : 437-458을 참조하십시오.


답변 해주셔서 감사합니다. 나는 그것에 대해 생각하고 범주 이론을 좀 더 프로그램적인 것으로 번역하려고 노력하고 있습니다. @Eduardo는 위에 효과가 구분 된 연속과 동형이라고 언급했습니다. 그래서 나는 무한한 연속 이 모델화 될 수 없다는 사실에 대한 어떤 직감이 있다고 생각합니다 . 효과는 주어진 영역으로 범위를 지정하고 효과적인 값이 이스케이프되기 전에 처리되어야 할 수 있지만 모나드는 더 전염성이 있습니다.
geoff_h

1
@geoff_h 나는 대수 효과가 구분 된 연속 모나드의 사용으로 모델링 될 수 있다고 말했고, 그것들이 동등하다는 것이 아니라-그럴 수 있지만 실제로는 모릅니다.
pyon

@Eduardo 그러나 Eff는 때때로 재귀 유형이 필요한 경우에도 구분 된 연속의 표현을 허용합니다. 이것은 동형 (isomorphism)을 암시합니다. 효과는 구분 된 연속으로 모델링 할 수 있고 구분 된 연속은 효과로 모델링 할 수 있습니다.하지만 Eff는 일부 비대 수 효과도 나타낼 수 있습니다. 비록 내가 무엇을 잘 이해하고 있는지는 모르겠지만 비 대수적 효과는 의미합니다.
geoff_h

@geoff_h 알게 베라 효과와 구분 된 연속 사이의 관계는 모나드와 CPS 사이의 관계와 비슷하다고 생각합니다. 후자는 전자의 제어 구조의 표현성을 제공하지만 데이터 유형을 구성하는 기능을 제공하지 않습니다.
Charles Stewart
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.