Dopo aver considerato i motivi here per importare sempre i moduli in modo esplicito (ad eccezione di Prelude
), sto cercando di rispettare questa norma. Tuttavia, a volte può essere complicato. Esiste uno strumento che analizzi il codice di lavoro e fornisca un elenco completo delle importazioni esplicite?Esiste uno strumento per facilitare l'importazione esplicita di moduli in Haskell?
risposta
C'è il flag -ddump-minimal-imports
per ghc
.
I risultati vengono inseriti nel file (module-name).imports
.
L'opzione GHC -fno-code
è utile anche qui (per evitare la fase di generazione del codice.)
Questo mostra le importazioni stesse, non i pacchetti .... che sono necessari per il file .cabal. – jamshidh
True , ma non penso che l'OP lo stesse chiedendo. Per ottenere i nomi e le versioni dei pacchetti sembra che 'cabal init' buon lavoro – ErikR
Al secondo sguardo, penso che potresti avere ragione ... Potrei aver letto male. – jamshidh
Se si compila con '-V' GHC, è possibile vedere tutte le importazioni in una sezione che inizia con' link Info: ((["-lHScryptohash-0.11.6", .... '. Questo ha alcuni problemi però .... In primo luogo, è necessario estrarre le informazioni e analizzarle, e in secondo luogo, sembra contenere più pacchetti di Ho esitato a promuovere questo commento per una risposta a causa di questi problemi, ma forse questo può aiutarti comunque – jamshidh