aboutsummaryrefslogtreecommitdiff
path: root/src/Haddock
diff options
context:
space:
mode:
authorDavid Waern <david.waern@gmail.com>2008-10-09 23:54:49 +0000
committerDavid Waern <david.waern@gmail.com>2008-10-09 23:54:49 +0000
commitb6195aea1e72c2afe1705c7467f6b4ff6bfe6b24 (patch)
tree3209c595d4ea540404c2ff84feee4df00e28c20c /src/Haddock
parent5f0ee262e20f55951eb92a95b2925c0ab78914d8 (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.hs18
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]
}