Generate code for importing directories automatically
https://github.com/CindyLinz/Haskell-imports
This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.
This module helps to automatically generate code for importing all the haskell files from directories.
For cabal inited project, we customize Setup.hs file to generate the importing code.
Setup.hs
Be sure to modify the build-type field in the .cabal file from Simple to Custom.
build-type
.cabal
Simple
Custom
Then modify the main function in Setup.hs to generate importing code by either header file or a module file.
main
Setup.hs:
import Distribution.Simple import System.Imports (writeImportsHeader, writeImportsModule) main = do writeImportsHeader "imports.header" "Export" "Some.Where" "Some/Where" -- or writeImportsModule "ImportAll.hs" "ImportAll" "Some.Where" "Some/Where" defaultMain
Target.hs: (by header)
{-# LANGUAGE CPP #-} module Target where #include "imports.header" func = Export.funcFromSomeWhere
Target.hs: (by module)
module Target where import qualified ImportAll func = ImportAll.funcFromSomeWhere