sto cercando di utilizzare il plugin ghc-mod
vim per farlo tipo/controllo della sintassi, ecc Tuttavia, ho trovato che ghc-mod
utilizza sempre percorsi completi di tipi nei messaggi di errore, ad esempio:GHC-mod deve utilizzare nomi completi per i tipi?
test.hs|71 col 13 error| Couldn't match type ‘Data.Text.Internal.Text’
|| with ‘[GHC.Types.Char]’
|| Expected type: containers-0.5.6.2:Data.Map.Base.Map
|| [GHC.Types.Char]
|| ([(integer-gmp-1.0.0.0:GHC.Integer.Type.Integer,
|| integer-gmp-1.0.0.0:GHC.Integer.Type.Integer)],
|| containers-0.5.6.2:Data.Set.Base.Set
|| integer-gmp-1.0.0.0:GHC.Integer.Type.Integer)
|| Actual type: containers-0.5.6.2:Data.Map.Base.Map
|| Data.Text.Internal.Text
|| ([(integer-gmp-1.0.0.0:GHC.Integer.Type.Integer,
|| integer-gmp-1.0.0.0:GHC.Integer.Type.Integer)],
|| containers-0.5.6.2:Data.Set.Base.Set
|| integer-gmp-1.0.0.0:GHC.Integer.Type.Integer)
|| In the second argument of ‘containers-0.5.6.2:Data.Map.Base.map’, namely
|| ‘zippedMap’
|| In the second argument of ‘(GHC.Base.$)’, namely
|| ‘containers-0.5.6.2:Data.Map.Base.map
...
che ingombra le schermo ed è molto difficile per me scoprire dove è andato storto. Come confronto, questo è il messaggio di errore per lo stesso file utilizzando ghci
:
test.hs:71:13:
Couldn't match type ‘T.Text’ with ‘[Char]’
Expected type: M.Map [Char] ([(Integer, Integer)], S.Set Integer)
Actual type: M.Map T.Text ([(Integer, Integer)], S.Set Integer)
In the second argument of ‘M.map’, namely ‘zippedMap’
In the second argument of ‘($)’, namely
‘M.map
...
che è molto più pulito. C'è un modo per rendere ghc-mod
i nomi brevi per i tipi?
Questo non è il comportamento osservato per me. Questo sta ancora accadendo per te? Quali versioni di 'ghc' e' ghc-mod' stai usando? – dkasak
Hai un esempio autonomo (importazioni incluse) che genera output come sopra? Penso di avere un'idea di quale potrebbe essere il problema, ma è un po 'difficile da dire solo sull'output ... – Alec