Zum Beispiel hat ParsecT mehrere Typvariablen in seiner Definition.Was ist die Regel der Reihenfolge von mehreren Variablen in Haskell?
newtype ParsecT s u m a
= ParsecT {unParser :: forall b .
State s u
-> (a -> State s u -> ParseError -> m b)
-> (ParseError -> m b)
-> (a -> State s u -> ParseError -> m b)
-> (ParseError -> m b)
-> m b
}
Können wir das so machen?
Ich frage mich, ob es eine Regel oder ein Prinzip über die Reihenfolge der Typvariablen gibt, wenn wir einen neuen Typ definieren.
Eine ähnliche Frage auf der Werteebene ist hier: http://stackoverflow.com/questions/5863128/ordering-of-parameters-to-make-use-of-currying – cheecheeo