Domanda

Avrei bisogno di aiuto per progettare un tipo di dati monadi, mi sembra di avere difficoltà a avvolgermi la testa intorno all'idea, ma ho sicuramente sicuramente sapere cosa voglio.Solo il tipo di controllo sembra richiedere un po 'di persuasione in quella materia.

Quello che voglio è un po 'di datatipo Primitive che può essere una monaca.Le funzioni di ciò sono fondamentalmente disegnando primitivi, e voglio essere in grado di combinarli e anche le combinazioni sono anche i primitivi, proprio come il tipo di Parser in Libreria parsec.Ma il disegno effettivo deve essere fatto con una monada IO.

Per inciso, ho anche un Drawable a di classe come questo:

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

E voglio che ogni primitivo naturalmente sia disegnabile.Sono grato per qualsiasi input.

È stato utile?

Soluzione

I don't understand why you think this should be a monad. What's monadic about it?

You should design the API you want first, and incrementally think about how to abstract it.

Incidentally, Brent's diagrams library has a very nice compositional API that could provide some good ideas: http://byorgey.wordpress.com/2008/04/30/new-haskell-diagrams-library/

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top