diff options
author | David Waern <david.waern@gmail.com> | 2008-10-09 23:54:49 +0000 |
---|---|---|
committer | David Waern <david.waern@gmail.com> | 2008-10-09 23:54:49 +0000 |
commit | b6195aea1e72c2afe1705c7467f6b4ff6bfe6b24 (patch) | |
tree | 3209c595d4ea540404c2ff84feee4df00e28c20c /src/Haddock | |
parent | 5f0ee262e20f55951eb92a95b2925c0ab78914d8 (diff) |
Add some strictness annotations in Interface
We add some strictness annotations to the fields of Interface,
so that less GHC data is hold on to during processing.
Diffstat (limited to 'src/Haddock')
-rw-r--r-- | src/Haddock/Types.hs | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/Haddock/Types.hs b/src/Haddock/Types.hs index f30be4c3..5a76a63e 100644 --- a/src/Haddock/Types.hs +++ b/src/Haddock/Types.hs @@ -113,28 +113,28 @@ data Interface = Interface { ifaceOrigFilename :: FilePath, -- | Textual information about the module - ifaceInfo :: HaddockModInfo Name, + ifaceInfo :: !(HaddockModInfo Name), -- | The documentation header for this module - ifaceDoc :: Maybe (HsDoc Name), + ifaceDoc :: !(Maybe (HsDoc Name)), -- | The renamed documentation header for this module ifaceRnDoc :: Maybe (HsDoc DocName), -- | The Haddock options for this module (prune, ignore-exports, etc) - ifaceOptions :: [DocOption], + ifaceOptions :: ![DocOption], ifaceDeclMap :: Map Name (LHsDecl Name, Maybe (HsDoc Name)), ifaceRnDocMap :: Map Name (HsDoc DocName), - ifaceExportItems :: [ExportItem Name], + ifaceExportItems :: ![ExportItem Name], ifaceRnExportItems :: [ExportItem DocName], -- | All the names that are defined in this module - ifaceLocals :: [Name], + ifaceLocals :: ![Name], -- | All the names that are exported by this module - ifaceExports :: [Name], + ifaceExports :: ![Name], -- | All the visible names exported by this module -- For a name to be visible, it has to: @@ -143,12 +143,12 @@ data Interface = Interface { -- exception that it can't be from another package. -- Basically, a visible name is a name that will show up in the documentation -- for this module. - ifaceVisibleExports :: [Name], + ifaceVisibleExports :: ![Name], - ifaceSubMap :: Map Name [Name], + ifaceSubMap :: !(Map Name [Name]), -- | The instances exported by this module - ifaceInstances :: [Instance] + ifaceInstances :: ![Instance] } |