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 | |
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.
-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] } |