AFAIK GHC8에 새로운 추가 중 하나는 대응 Applicative
방법 (<$>
, <*>
) 가능한 경우에 DO-표기 desugars ApplicativeDo
언어 확장이다 ApplicativeDo. 나는 다음과 같은 질문을 가지고있다.하스켈
Applicative
방법으로 desugaring 할 수 있는지 여부를 어떻게 결정합니까? 내가 아는 바로는, (나중에 나중의 결과에 의존하는 경우) 의존성 검사를 통해 자격을 결정합니다. 다른 기준이 있습니까?
이 추가 기능으로 Monad 인스턴스가없는 클래스 (어쩌면?)에 대한 응용 프로그램 코드를 읽기 쉽게 만듭니다. Monad와 Applicative 인스턴스를 모두 가지고있는 구조의 경우 : 이것은 가독성 측면에서 권장되는 방법입니까? 다른 혜택이 있습니까?