Niektóre języki (np. Go & Rdza) wymagają od programisty dokładnego usuwania całego martwego kodu ze źródła. Ma to zalety w zakresie łatwości konserwacji kodu i czytelności, jeśli dla niektórych użytkowników jest nieco ekstremalny.Włączanie ostrzeżeń o martwym kodzie w Haskell (GHC)
Jak mogę włączyć tę funkcję w Haskell? (Czy to możliwe?) Na przykład w poniższym kodzie, chciałbym, aby url2
został oznaczony jako martwy kod, ponieważ nie jest używany w main
.
url1 = "http://stackoverflow.com"
url2 = "http://stackexchange.com"
main = print url1
Widziałem odniesienie do niektórych flag kompilatora (np -fwarn-unused-binds
, -fwarn-name-shadowing
i -fwarn-hi-shadowing
), ale żaden z nich nie wydają się osiągnąć to, co chcę.
Czy coś pojawia się z '-Wall' o nieużywanych nazwach podczas kompilacji tego kodu? Jeśli nie, GHC nie ostrzega przed tym. – bheklilr
Nie. Wymusza to dodawanie podpisów, ale nie ostrzeżeń o martwym kodzie. –
Potem nie wierzę, że GHC to sprawdzi. Zobacz [dokumentacja GHC] (http://www.haskell.org/ghc/docs/7.6.3/html/users_guide/options-sanity.html), aby dowiedzieć się, jakie ostrzeżenia są dostępne. – bheklilr