Copyright | (c) 1999 - 2004 Wolfgang Lux 2011 - 2016 Björn Peemöller 2015 - 2016 Yannik Potdevin 2016 Finn Teegen |
---|---|
License | BSD-3-clause |
Maintainer | bjp@informatik.uni-kiel.de |
Stability | experimental |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
This module implements a check and expansion of the export specification. Any errors in the specification are reported, and if there are no errors, the specification is expanded. The expansion does the following: * If there is no export specification, a specification exporting the entire module is generated. * Otherwise, (re)exports of modules are replaced by an export of all respective entities. * The export of a type with all constructors and fields is replaced by an enumeration of all constructors and fields. * The export of types without sub-entities is extended with an empty list of sub-entities.
Documentation
exportCheck :: ModuleIdent -> AliasEnv -> TCEnv -> ValueEnv -> Maybe ExportSpec -> [Message] Source #
expandExports :: ModuleIdent -> AliasEnv -> TCEnv -> ValueEnv -> Maybe ExportSpec -> ExportSpec Source #