일부 언어 (예 : Go & 녹)에서는 프로그래머가 모든 소스 코드를 제거해야합니다. 일부 사용자에게는 극단적 인 경우 코드 유지 관리 및 가독성 측면에서 이점이 있습니다.Haskell (GHC)에서 데드 코드 경고를 활성화하는 방법
어떻게 하스켈에서이 기능을 활성화 할 수 있습니까? (가능한가요?) 예를 들어, 다음 코드에서 main
에 사용되지 않았기 때문에 url2
에 사용 불능 코드로 플래그를 지정하고 싶습니다.
url1 = "http://stackoverflow.com"
url2 = "http://stackexchange.com"
main = print url1
나는 어떤 컴파일러 플래그 (예를 들어
-fwarn-unused-binds
,
-fwarn-name-shadowing
및
-fwarn-hi-shadowing
)을 참조 보았다하지만 그들 중 누구도 내가 원하는 것을 달성하기 위해 보이지 않는다.
이 모듈 헤더는 당신이 다음 단지
module Main where
입니다
module Main(main) where
...
경우는 예를 들어, 적절하게 모듈에서 수출의 목록을 제한하는 경우
코드를 컴파일 할 때 사용하지 않는 이름에 대해서는'-Wall'로 무엇이 나타 납니까? 그렇지 않다면, GHC는 그것에 대해 경고하지 않습니다. – bheklilr
아니요. 형식 시그니처가 추가되지만 데드 코드 경고는 표시되지 않습니다. –
그러면 GHC에서 확인하지 않을 것입니다. 사용 가능한 경고에 대해서는 [GHC 문서] (http://www.haskell.org/ghc/docs/7.6.3/html/users_guide/options-sanity.html)를 참조하십시오. – bheklilr