From b6195aea1e72c2afe1705c7467f6b4ff6bfe6b24 Mon Sep 17 00:00:00 2001 From: David Waern Date: Thu, 9 Oct 2008 23:54:49 +0000 Subject: 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. --- src/Haddock/Types.hs | 18 +++++++++--------- 1 file 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] } -- cgit v1.2.3