문제

모나딕 데이터 유형을 디자인하려면 도움이 필요합니다. 아이디어를 이해하는 데 어려움을 겪는 것 같지만, 제가 원하는 것이 무엇인지는 확실히 알고 있습니다.해당 문제에 대해서는 유형 검사기에서만 약간의 설득이 필요한 것 같습니다.

내가 원하는 것은 데이터 유형입니다. Primitive 그것은 모나드가 될 수 있습니다.그 기능은 기본적으로 그리기 프리미티브이며, 나는 그것들을 결합할 수 있고 그 조합도 프리미티브가 될 수 있기를 원합니다. Parser 도서관에 타자 치세요 parsec.하지만 실제 그림은 그림으로 그려야 합니다. IO 모나드.

덧붙여서 나도 수업이 있어 Drawable a 이와 같이:

class Drawable a where
    draw :: (MonadIO m) => Pos -> a -> m ()

그리고 나는 물론 모든 프리미티브를 그릴 수 있기를 바랍니다.어떤 의견이라도 감사드립니다.

도움이 되었습니까?

해결책

왜 이것이 모나드여야 한다고 생각하는지 이해가 안 됩니다.그것에 대한 모나딕은 무엇입니까?

먼저 원하는 API를 디자인하고 이를 추상화하는 방법을 점진적으로 생각해야 합니다.

덧붙여서, Brent의 다이어그램 라이브러리에는 몇 가지 좋은 아이디어를 제공할 수 있는 매우 훌륭한 구성 API가 있습니다. http://byorgey.wordpress.com/2008/04/30/new-haskell-diagrams-library/

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top