1 {-# LANGUAGE OverloadedLists #-}
2 {-# LANGUAGE OverloadedStrings #-}
4 module Text.Edifact.Scaffolder.Root
8 import Text.Edifact.Scaffolder.Commons
10 rootModule :: Scaffolding ()
11 rootModule = getRootModuleName >>= generateRootModule
13 generateRootModule :: ModuleName -> Scaffolding ()
14 generateRootModule mn =
15 let exports = [ reexportAlias subModulesAlias ]
17 importSubModule sm = ImportAll (ImportAs (mn <.> sm) subModulesAlias)
18 subModules = [ "Composites"
22 imports = [ ImportGroup (importSubModule <$> subModules) ]
24 saveHaskellModule mn $
25 moduleDeclaration mn exports imports