2014-11-29 2 views
0

타입과 모나드가 같은 이름 (랜드)을 가지며 모나드를 풀 수있는 함수를 만드는 것을 망쳐 놓은 것 같습니다 (즉 Rand Something -> Something).) 잘못된 선택을하는 것처럼 보입니다. 이 일을 막기 위해 할 수있는 일이 있습니까?모나드와 같은 이름의 타입을 가짐

+1

많은 모나드 유형 생성자 (그리고 * 모든 * 모나드 종류'* -> *')이기 때문에 정상입니다. 좋은 조언을 줄 수있는 좋은 기회를 갖기 위해 더 많은 세부 사항을 게시해야합니다. 최소한 문제와 정확한 오류를 재현 할 수있는 충분한 코드를 제공하십시오. –

+0

일반적으로 모나모를 풀기위한 함수는'runReader','getConst' 등과 같이'un' 또는'get' 또는'run' 접두어로 이름이 붙어 있습니다. – kccqzy

답변

1
import qualified Rand as R 

data Rand = Rand ... 

foo :: R.Rand Rand -> Rand 

솔직히 말해서, 같은 것을 지명하는 것은 매우 혼란스럽고 나는 그것을 피합니다.

+0

불행히도 그것이 일이 어떻게 설정되었는지는 혼란 스럽습니다. 그래서 해결 방법이 필요했습니다. 건배 –