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


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.