2015-01-05 17 views
16

Kiedy kompiluję plik Haskella z ghci, zwykle z :load, a jeśli nie ma błędu typu, wszystkie wyrażenia są ładowane do interpretera ghc. To bardzo miłe: mogę grać z :t, aby dowiedzieć się, jaki rodzaj różnych wyrażeń.Ghc: częściowo skompilować kod Haskella?

Mój problem: jeśli istnieje gdzieś drobny błąd, ghci nie jest w stanie załadować niczego, co jest (nawet importowane moduły !!), co sprawia, że ​​znalezienie właściwych typów jest jeszcze trudniejsze. Zawsze robię to samo: wykomentuj wszystkie bity, które nie sprawdzają poprawności, znajdź odpowiednie typy z :t w ghci i usuń komentarz.

Ale to jest takie nużące! Czy istnieje lepszy przepływ pracy dla "częściowego kompilowania" kodu źródłowego Haskella?

+26

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

+1

Oooh! dokładnie to, czego potrzebowałem! Dzięki!! –

+12

@MikhailGlushenkov stwórz odpowiedź z linkami: D – d12frosted

Odpowiedz

9

Jak zaznaczył @Mikhail Glushenkov w komentarzach, rozwiązaniem jest użycie flagi GHCi o numerze -fdefer-type-errors.

+0

O mój boże * Potrzebuję tego *. –

+0

@BartekBanachewicz Byłem również bardzo podekscytowany, natychmiastowy dodatek do mojego pliku .ghci – bheklilr

+0

IRTA '-fprefer-type-errors' –

Powiązane problemy