Question

J'aurais besoin d'aide pour concevoir un type de données monadique, j'ai l'impression d'avoir du mal à comprendre l'idée, mais je sais très bien ce que je veux.Seul le vérificateur de type semble nécessiter un peu de persuasion à ce sujet.

Ce que je veux, c'est un type de données Primitive cela peut être une monade.Les fonctions de celui-ci sont essentiellement des primitives de dessin, et je veux pouvoir les combiner ainsi que les combinaisons étant également des primitives, un peu comme le Parser taper dans la bibliothèque parsec.Mais le dessin proprement dit doit être réalisé avec un IO monade.

D'ailleurs, j'ai aussi un cours Drawable a comme ça:

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

Et je veux bien sûr que chaque Primitive puisse être dessinée.Je suis reconnaissant pour toute contribution.

Était-ce utile?

La solution

Je ne comprends pas pourquoi vous pensez que cela devrait être une monade.Qu’y a-t-il de monadique là-dedans ?

Vous devez d’abord concevoir l’API souhaitée et réfléchir progressivement à la manière de l’abstraire.

À propos, la bibliothèque de diagrammes de Brent possède une très belle API de composition qui pourrait fournir de bonnes idées : http://byorgey.wordpress.com/2008/04/30/new-haskell-diagrams-library/

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top