Na przykład ParsecT zawiera wiele zmiennych typu w swojej definicji.Jaka jest reguła porządku wielu zmiennych typu w 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
}
Czy możemy to zrobić w ten sposób?
Zastanawiam się, czy istnieje zasada lub zasada dotycząca kolejności zmiennych typu, gdy definiujemy typ nowy.
Podobne pytanie na poziomie wartości znajduje się tutaj: http://stackoverflow.com/questions/5863128/ordering-of-parameters-to-make-use-of-currying – cheecheeo