2017-12-23 46 views
6

GHC는 암시 적 가져 오기가있을 때 경고를 생성합니다 (아래 참조). 목표는 이들을 명시 적 수입으로 대체하는 것입니다. 코드를 수동으로 찾는 대신 목록을 생성하는 자동화 된 방법이 있습니까?ghc의 -wimissing-import-lists에 대한 명시 적 가져 오기 찾기

/Users/srid/code/slownews/backend/src/SlowNews/Main.hs:10:1: warning: [-Wmissing-import-lists] 
    The module ‘Control.Exception’ does not have an explicit import list 
    | 
10 | import   Control.Exception 
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 

/Users/srid/code/slownews/backend/src/SlowNews/Main.hs:13:1: warning: [-Wmissing-import-lists] 
    The module ‘Control.Monad.IO.Class’ does not have an explicit import list 
    | 
13 | import   Control.Monad.IO.Class 
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 

답변

5

GHC에는 트릭을 수행하는 -ddump-minimal-imports 플래그가 있습니다.

+0

이 플래그를 사용하여 원하는 결과를 얻는 방법 : https://stackoverflow.com/a/32959693/55246 –

0

Haskell Tools 프로젝트는 몇 가지 좋은 찾고 도구가 있습니다. 분명히 그것은 Atom에서 작동하지만 나는 원자 또는 원자 - 베타 MacOS에서 작동하도록 얻을 수 없습니다. 그러나 명령 행에서 작동합니다. 나는 a simple example stack project set up입니다. 실행 그리고

$ stack install haskell-tools-daemon haskell-tools-cli fswatch 

:

$ ht-refact -e 'ProjectOrganizeImports' . 

을 이제 자식 내가 다음이 있음을 알려줍니다 내가 함께 하스켈 도구를 설치, BTW

module Main where 

import System.Environment 

doMain = print =<< getEnvironment 

main = doMain 

다음 Main.hs는 명시 적 수입 목록을 사용합니다 diff :

-import System.Environment 
+import System.Environment (getEnvironment) 

Haskell Tools 웹 사이트에서 편집기에서 작동하는 방법에 대한 대화식 예를 확인하십시오. 매우 유망한 리팩토링 도구 세트처럼 보입니다.