2015-05-16 15 views
6

Chiunque può dire il motivo per cui questo codice non viene compilatoQuesto comportamento atteso di Template Haskell?

data A = A { 
    _b :: B 
} 
makeLenses ''A 

type B = String 

con il messaggio

Not in scope: type constructor or class B 

e questo fa:

type B = String 

data A = A { 
    _b :: B 
} 
makeLenses ''A 

Senza makeLenses tutto compila bene.

Perché non è possibile digitare la dichiarazione synonim dopo makeLenses?

risposta

Problemi correlati