2015-01-05 27 views
16

Quando compilo un file Haskell con ghci, in genere con :load, e se non vi sono errori di tipo, tutte le espressioni vengono caricate nell'interprete ghc. È molto bello: posso giocare con :t per capire il tipo di varie espressioni.Ghc: codice Haskell parzialmente compilato?

Il mio problema è: se c'è un piccolo errore da qualche parte, ghci non è in grado di caricare qualsiasi cosa (nemmeno i moduli importati !!), che fa trovare i giusti tipi ancora più difficile. Faccio sempre la stessa cosa: commenta tutti i bit che non digitano correttamente, trova i tipi rilevanti con :t in ghci e de-comment.

Ma questo è così noioso! C'è un flusso di lavoro migliore per "compilare parzialmente" un codice sorgente Haskell?

+26

[': set -fdefer-type-errors'] (https://downloads.haskell.org/~ghc/7.8.4/docs/html/users_guide/defer-type-errors.html) –

+1

Oooh! esattamente quello di cui avevo bisogno! Grazie!! –

+12

@MikhailGlushenkov creare una risposta con link: D – d12frosted

risposta

9

Come indicato da @MikhailGlushenkov nei commenti, la soluzione è utilizzare il flag -fdefer-type-errors su GHCi.

+0

Oh mio dio * Ho bisogno di questo *. –

+0

@BartekBanachewicz Ero abbastanza entusiasta anche di questo, aggiunta immediata al mio file .ghci – bheklilr

+0

IRTA '-fprefer-type-errors' –

Problemi correlati