module ModSysAST where import NamesEntities import Relations data Module = Module { modName :: ModName, modExpList :: Maybe [ExpListEntry], modImports :: [Import], modDefines :: Rel Name Entity } data ExpListEntry = EntExp (EntSpec QName) | ModuleExp ModName data EntSpec j = Ent j (Maybe SubSpec) data SubSpec = AllSubs | Subs [Name] data Import = Import { impQualified :: Bool, impSource :: ModName, impAs :: ModName, impHiding :: Bool, impList :: [EntSpec Name] }