Một số ngôn ngữ (như Go & Rust) yêu cầu người lập trình phải siêng năng loại bỏ tất cả mã đã chết khỏi nguồn. Điều này có lợi ích trong khả năng bảo trì mã và khả năng đọc, nếu một chút cực đoan đối với một số người dùng.Cách kích hoạt cảnh báo mã chết trong Haskell (GHC)
Làm cách nào để bật tính năng này trong Haskell? (Có thể không?) Ví dụ, trong đoạn mã sau, tôi muốn url2
được gắn cờ là mã chết vì nó không được sử dụng trong main
.
url1 = "http://stackoverflow.com"
url2 = "http://stackexchange.com"
main = print url1
tôi thấy đề cập đến một số cờ biên dịch (ví dụ -fwarn-unused-binds
, -fwarn-name-shadowing
, và -fwarn-hi-shadowing
) nhưng không ai trong số họ dường như để hoàn thành những gì tôi muốn.
Có nội dung nào hiển thị với '-Wall' về các tên không sử dụng khi bạn biên dịch mã đó không? Nếu không, thì GHC không cảnh báo chống lại nó. – bheklilr
No. Điều đó buộc chữ ký kiểu được thêm vào, nhưng không phải là cảnh báo mã chết. –
Sau đó, tôi không tin rằng GHC sẽ kiểm tra điều đó. Xem [tài liệu GHC] (http://www.haskell.org/ghc/docs/7.6.3/html/users_guide/options-sanity.html) để biết những cảnh báo nào có sẵn. – bheklilr