diff options
-rw-r--r-- | src/Haddock/Convert.hs | 8 | ||||
-rw-r--r-- | src/Haddock/Interface/Create.hs | 14 | ||||
-rw-r--r-- | src/Haddock/Interface/ExtractFnArgDocs.hs | 1 | ||||
-rw-r--r-- | src/Haddock/Interface/LexParseRn.hs | 3 | ||||
-rw-r--r-- | src/Haddock/ModuleTree.hs | 6 | ||||
-rw-r--r-- | src/Haddock/Types.hs | 5 | ||||
-rw-r--r-- | src/Main.hs | 24 |
7 files changed, 29 insertions, 32 deletions
diff --git a/src/Haddock/Convert.hs b/src/Haddock/Convert.hs index 277b42a4..6e564b76 100644 --- a/src/Haddock/Convert.hs +++ b/src/Haddock/Convert.hs @@ -49,7 +49,7 @@ tyThingToLHsDecl t = noLoc $ case t of (map (\ (l,r) -> noLoc (map getName l, map getName r) ) $ snd $ classTvsFds cl) - (map (\i -> noLoc $ synifyIdSig DeleteTopLevelQuantification i) + (map (noLoc . synifyIdSig DeleteTopLevelQuantification) (classMethods cl)) emptyBag --ignore default method definitions, they don't affect signature (map synifyClassAT (classATs cl)) @@ -58,7 +58,7 @@ tyThingToLHsDecl t = noLoc $ case t of -- class associated-types are a subset of TyCon -- (mainly only type/data-families) synifyClassAT :: TyCon -> LTyClDecl Name -synifyClassAT tc = noLoc $ synifyTyCon tc +synifyClassAT = noLoc . synifyTyCon synifyTyCon :: TyCon -> TyClDecl Name synifyTyCon tc @@ -185,14 +185,14 @@ synifyDataCon use_gadt_syntax dc = noLoc $ #endif synifyName :: NamedThing n => n -> Located Name -synifyName n = noLoc (getName n) +synifyName = noLoc . getName synifyIdSig :: SynifyTypeState -> Id -> Sig Name synifyIdSig s i = TypeSig (synifyName i) (synifyType s (varType i)) synifyCtx :: [PredType] -> LHsContext Name -synifyCtx ps = noLoc (map synifyPred ps) +synifyCtx = noLoc . map synifyPred synifyPred :: PredType -> LHsPred Name synifyPred (ClassP cls tys) = diff --git a/src/Haddock/Interface/Create.hs b/src/Haddock/Interface/Create.hs index 298f96ac..7a1d6d25 100644 --- a/src/Haddock/Interface/Create.hs +++ b/src/Haddock/Interface/Create.hs @@ -280,7 +280,7 @@ warnAboutFilteredDecls mdl decls = do tell $ nub [ "Warning: " ++ modStr ++ ": Instances of type and data " ++ "families are not yet supported. Instances of the following families " - ++ "will be filtered out:\n " ++ (concat $ intersperse ", " + ++ "will be filtered out:\n " ++ concat (intersperse ", " $ map (occNameString . nameOccName) typeInstances) ] let instances = nub [ pretty i | (L _ (InstD (InstDecl i _ _ ats)), _, _) <- decls @@ -289,7 +289,7 @@ warnAboutFilteredDecls mdl decls = do unless (null instances) $ tell $ nub [ "Warning: " ++ modStr ++ ": We do not support associated types in instances yet. " - ++ "These instances are affected:\n" ++ (concat $ intersperse ", " instances) ] + ++ "These instances are affected:\n" ++ concat (intersperse ", " instances) ] -------------------------------------------------------------------------------- @@ -446,13 +446,13 @@ mkExportItems modMap this_mod gre exported_names decls declMap lookupExport (IEThingAll t) = declWith t lookupExport (IEThingWith t _) = declWith t lookupExport (IEModuleContents m) = fullContentsOf m - lookupExport (IEGroup lev docStr) = liftErrMsg $ do + lookupExport (IEGroup lev docStr) = liftErrMsg $ ifDoc (lexParseRnHaddockComment DocSectionComment gre docStr) (\doc -> return [ ExportGroup lev "" doc ]) - lookupExport (IEDoc docStr) = liftErrMsg $ do + lookupExport (IEDoc docStr) = liftErrMsg $ ifDoc (lexParseRnHaddockComment NormalHaddockComment gre docStr) (\doc -> return [ ExportDoc doc ]) - lookupExport (IEDocNamed str) = liftErrMsg $ do + lookupExport (IEDocNamed str) = liftErrMsg $ ifDoc (findNamedDoc str [ unL d | (d,_,_) <- decls ]) (\docStr -> ifDoc (lexParseRnHaddockComment NormalHaddockComment gre docStr) @@ -606,7 +606,7 @@ mkExportItems modMap this_mod gre exported_names decls declMap subs' = filter ((`elem` exported_names) . fst) subs sub_names = map fst subs' - isExported n = n `elem` exported_names + isExported = (`elem` exported_names) fullContentsOf modname | m == this_mod = liftErrMsg $ fullContentsOfThisModule gre decls @@ -663,7 +663,7 @@ fullContentsOfThisModule gre decls = liftM catMaybes $ mapM mkExportItem decls where mkExportItem (L _ (DocD (DocGroup lev docStr)), _, _) = do mbDoc <- lexParseRnHaddockComment DocSectionComment gre docStr - return $ fmap (\doc -> ExportGroup lev "" doc) mbDoc + return $ fmap (ExportGroup lev "") mbDoc mkExportItem (L _ (DocD (DocCommentNamed _ docStr)), _, _) = do mbDoc <- lexParseRnHaddockComment NormalHaddockComment gre docStr return $ fmap ExportDoc mbDoc diff --git a/src/Haddock/Interface/ExtractFnArgDocs.hs b/src/Haddock/Interface/ExtractFnArgDocs.hs index 0a6a05de..d3d7160f 100644 --- a/src/Haddock/Interface/ExtractFnArgDocs.hs +++ b/src/Haddock/Interface/ExtractFnArgDocs.hs @@ -1,4 +1,3 @@ -{-# LANGUAGE PatternGuards #-} ----------------------------------------------------------------------------- -- | -- Module : Haddock.Interface.ExtractFnArgDocs diff --git a/src/Haddock/Interface/LexParseRn.hs b/src/Haddock/Interface/LexParseRn.hs index 04464e77..026e753c 100644 --- a/src/Haddock/Interface/LexParseRn.hs +++ b/src/Haddock/Interface/LexParseRn.hs @@ -58,8 +58,7 @@ lexParseRnHaddockComment hty gre (HsDocString fs) = do Nothing -> do tell ["doc comment parse failed: "++str] return Nothing - Just doc -> do - return (Just (rnHsDoc gre doc)) + Just doc -> return (Just (rnHsDoc gre doc)) #else lexParseRnHaddockComment _ _ doc = return (Just doc) #endif diff --git a/src/Haddock/ModuleTree.hs b/src/Haddock/ModuleTree.hs index 62918ec6..d82c53a6 100644 --- a/src/Haddock/ModuleTree.hs +++ b/src/Haddock/ModuleTree.hs @@ -15,8 +15,8 @@ module Haddock.ModuleTree ( ModuleTree(..), mkModuleTree ) where import Haddock.Types ( HsDoc ) import GHC ( Name ) -import Module ( Module, moduleNameString, moduleName, modulePackageId ) -import Module (packageIdString) +import Module ( Module, moduleNameString, moduleName, modulePackageId, + packageIdString ) data ModuleTree = Node String Bool (Maybe String) (Maybe (HsDoc Name)) [ModuleTree] @@ -26,7 +26,7 @@ mkModuleTree showPkgs mods = where modPkg mod_ | showPkgs = Just (packageIdString (modulePackageId mod_)) | otherwise = Nothing - fn (mod_,pkg,short) trees = addToTrees mod_ pkg short trees + fn (mod_,pkg,short) = addToTrees mod_ pkg short addToTrees :: [String] -> Maybe String -> Maybe (HsDoc Name) -> [ModuleTree] -> [ModuleTree] addToTrees [] _ _ ts = ts diff --git a/src/Haddock/Types.hs b/src/Haddock/Types.hs index 44c6f4ef..4c8c3656 100644 --- a/src/Haddock/Types.hs +++ b/src/Haddock/Types.hs @@ -28,6 +28,7 @@ module Haddock.Types ( import Control.Exception +import Control.Arrow import Data.Typeable import Data.Map (Map) import qualified Data.Map as Map @@ -380,11 +381,11 @@ liftErrMsg = WriterGhc . return . runWriter --tell :: [ErrMsg] -> ErrMsgGhc () --tell msgs = WriterGhc $ return ( (), msgs ) instance Functor ErrMsgGhc where - fmap f (WriterGhc x) = WriterGhc (fmap (\(a,msgs)->(f a,msgs)) x) + fmap f (WriterGhc x) = WriterGhc (fmap (first f) x) instance Monad ErrMsgGhc where return a = WriterGhc (return (a, [])) m >>= k = WriterGhc $ runWriterGhc m >>= \ (a, msgs1) -> - fmap (\ (b, msgs2) -> (b, msgs1 ++ msgs2)) (runWriterGhc (k a)) + fmap (second (msgs1 ++)) (runWriterGhc (k a)) -- When HsDoc syntax is part of the Haddock codebase, we'll just -- declare a Functor instance. diff --git a/src/Main.hs b/src/Main.hs index ad3f918d..76ccab3c 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -90,14 +90,14 @@ handleHaddockExceptions inner = catches inner [Handler handler] where handler (e::HaddockException) = do - putStrLn $ "haddock: " ++ (show e) + putStrLn $ "haddock: " ++ show e exitFailure handleGhcExceptions :: IO a -> IO a -handleGhcExceptions inner = +handleGhcExceptions = -- error messages propagated as exceptions - handleGhcException (\e -> do + handleGhcException $ \e -> do hFlush stdout case e of PhaseFailed _ code -> exitWith code @@ -105,7 +105,6 @@ handleGhcExceptions inner = _ -> do print (e :: GhcException) exitFailure - ) inner ------------------------------------------------------------------------------- @@ -232,7 +231,7 @@ render flags ifaces installedIfaces = do allVisibleIfaces copyHtmlBits odir libDir css_file - when (Flag_GenContents `elem` flags && Flag_GenIndex `elem` flags) $ do + when (Flag_GenContents `elem` flags && Flag_GenIndex `elem` flags) $ ppHtmlHelpFiles title packageStr visibleIfaces odir maybe_html_help_format [] when (Flag_GenContents `elem` flags) $ do @@ -322,7 +321,7 @@ startGhc libDir flags ghcActs = do -- TODO: handle warnings? (dynflags', rest, _) <- parseDynamicFlags dynflags flags_ if not (null rest) - then throwE ("Couldn't parse GHC options: " ++ (unwords origFlags)) + then throwE ("Couldn't parse GHC options: " ++ unwords origFlags) else return dynflags' @@ -331,7 +330,7 @@ startGhc libDir flags ghcActs = do ------------------------------------------------------------------------------- getHaddockLibDir :: [Flag] -> IO String -getHaddockLibDir flags = do +getHaddockLibDir flags = case [str | Flag_Lib str <- flags] of [] -> #ifdef IN_GHC_TREE @@ -342,7 +341,7 @@ getHaddockLibDir flags = do fs -> return (last fs) getGhcLibDir :: [Flag] -> IO String -getGhcLibDir flags = do +getGhcLibDir flags = case [ dir | Flag_GhcLibDir dir <- flags ] of [] -> #ifdef IN_GHC_TREE @@ -374,12 +373,12 @@ handleEasyFlags flags = do dir <- getGhcLibDir flags bye $ dir ++ "\n" - when (Flag_UseUnicode `elem` flags && not (Flag_Html `elem` flags)) $ - throwE ("Unicode can only be enabled for HTML output.") + when (Flag_UseUnicode `elem` flags && Flag_Html `notElem` flags) $ + throwE "Unicode can only be enabled for HTML output." when ((Flag_GenIndex `elem` flags || Flag_GenContents `elem` flags) && Flag_Html `elem` flags) $ - throwE ("-h cannot be used with --gen-index or --gen-contents") + throwE "-h cannot be used with --gen-index or --gen-contents" where byeVersion = bye $ "Haddock version " ++ projectVersion ++ ", (c) Simon Marlow 2006\n" @@ -389,8 +388,7 @@ handleEasyFlags flags = do updateHTMLXRefs :: [(InterfaceFile, FilePath)] -> IO () -updateHTMLXRefs packages = do - writeIORef html_xrefs_ref (Map.fromList mapping) +updateHTMLXRefs packages = writeIORef html_xrefs_ref (Map.fromList mapping) where mapping = [ (instMod iface, html) | (ifaces, html) <- packages , iface <- ifInstalledIfaces ifaces ] |