From fe10d3082457f744fd27bbb1085edcfd813f6290 Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Thu, 22 Jan 2015 20:31:27 +0000 Subject: Changelog only --- CHANGES | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index 5688537d..d98f7e1e 100644 --- a/CHANGES +++ b/CHANGES @@ -26,6 +26,10 @@ Changes in version 2.16.0 * properly render package ID (not package key) in index (#329) + * links to source location of class instance definitions + + * Fix code blocks in presence of Windows line endings + Changes in version 2.15.0 * Always read in prologue files as UTF8 (#286 and Cabal #1721) -- cgit v1.2.3 From 0fc494f2015b7d9cc2cd80e87d67c430e9842777 Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Tue, 17 Mar 2015 21:59:39 +0000 Subject: Update changelog Closes #151 due to 71170fc77962f10d7d001e3b8bc8b92bfeda99bc --- CHANGES | 2 ++ 1 file changed, 2 insertions(+) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index d98f7e1e..c988423d 100644 --- a/CHANGES +++ b/CHANGES @@ -30,6 +30,8 @@ Changes in version 2.16.0 * Fix code blocks in presence of Windows line endings + * Deal better with long synopsis lines (#151) + Changes in version 2.15.0 * Always read in prologue files as UTF8 (#286 and Cabal #1721) -- cgit v1.2.3 From 6dee5e814d1934cbed458894e01b4913452422e6 Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Fri, 27 Mar 2015 00:05:58 +0000 Subject: Clearly default to variables in out of scope case --- CHANGES | 3 ++ haddock-api/src/Haddock/Interface/LexParseRn.hs | 63 ++++++++++++++++--------- 2 files changed, 43 insertions(+), 23 deletions(-) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index c988423d..419a7be7 100644 --- a/CHANGES +++ b/CHANGES @@ -32,6 +32,9 @@ Changes in version 2.16.0 * Deal better with long synopsis lines (#151) + * Don't default to type constructors for out-of-scope names (#253 and + #375) + Changes in version 2.15.0 * Always read in prologue files as UTF8 (#286 and Cabal #1721) diff --git a/haddock-api/src/Haddock/Interface/LexParseRn.hs b/haddock-api/src/Haddock/Interface/LexParseRn.hs index 614e606b..14826eaa 100644 --- a/haddock-api/src/Haddock/Interface/LexParseRn.hs +++ b/haddock-api/src/Haddock/Interface/LexParseRn.hs @@ -30,6 +30,7 @@ import Haddock.Types import Name import Outputable (showPpr) import RdrName +import RnEnv (dataTcOccs) processDocStrings :: DynFlags -> GlobalRdrEnv -> [HsDocString] -> Maybe (MDoc Name) @@ -73,7 +74,13 @@ processModuleHeader dflags gre safety mayStr = do where failure = (emptyHaddockModInfo, Nothing) - +-- | Takes a 'GlobalRdrEnv' which (hopefully) contains all the +-- definitions and a parsed comment and we attempt to make sense of +-- where the identifiers in the comment point to. We're in effect +-- trying to convert 'RdrName's to 'Name's, with some guesswork and +-- fallbacks in case we can't locate the identifiers. +-- +-- See the comments in the source for implementation commentary. rename :: DynFlags -> GlobalRdrEnv -> Doc RdrName -> Doc Name rename dflags gre = rn where @@ -81,19 +88,36 @@ rename dflags gre = rn DocAppend a b -> DocAppend (rn a) (rn b) DocParagraph doc -> DocParagraph (rn doc) DocIdentifier x -> do - let choices = dataTcOccs' x + -- Generate the choices for the possible kind of thing this + -- is. + let choices = dataTcOccs x + -- Try to look up all the names in the GlobalRdrEnv that match + -- the names. let names = concatMap (\c -> map gre_name (lookupGRE_RdrName c gre)) choices + case names of + -- We found no names in the env so we start guessing. [] -> case choices of [] -> DocMonospaced (DocString (showPpr dflags x)) - [a] -> outOfScope dflags a - a:b:_ | isRdrTc a -> outOfScope dflags a - | otherwise -> outOfScope dflags b + -- There was nothing in the environment so we need to + -- pick some default from what's available to us. We + -- diverge here from the old way where we would default + -- to type constructors as we're much more likely to + -- actually want anchors to regular definitions than + -- type constructor names (such as in #253). So now we + -- only get type constructor links if they are actually + -- in scope. + a:_ -> outOfScope dflags a + + -- There is only one name in the environment that matches so + -- use it. [a] -> DocIdentifier a - a:b:_ | isTyConName a -> DocIdentifier a | otherwise -> DocIdentifier b - -- If an id can refer to multiple things, we give precedence to type - -- constructors. + -- But when there are multiple names available, default to + -- type constructors: somewhat awfully GHC returns the + -- values in the list positionally. + a:b:_ | isTyConName a -> DocIdentifier a + | otherwise -> DocIdentifier b DocWarning doc -> DocWarning (rn doc) DocEmphasis doc -> DocEmphasis (rn doc) @@ -114,21 +138,14 @@ rename dflags gre = rn DocString str -> DocString str DocHeader (Header l t) -> DocHeader $ Header l (rn t) -dataTcOccs' :: RdrName -> [RdrName] --- If the input is a data constructor, return both it and a type --- constructor. This is useful when we aren't sure which we are --- looking at. --- --- We use this definition instead of the GHC's to provide proper linking to --- functions accross modules. See ticket #253 on Haddock Trac. -dataTcOccs' rdr_name - | isDataOcc occ = [rdr_name, rdr_name_tc] - | otherwise = [rdr_name] - where - occ = rdrNameOcc rdr_name - rdr_name_tc = setRdrNameSpace rdr_name tcName - - +-- | Wrap an identifier that's out of scope (i.e. wasn't found in +-- 'GlobalReaderEnv' during 'rename') in an appropriate doc. Currently +-- we simply monospace the identifier in most cases except when the +-- identifier is qualified: if the identifier is qualified then we can +-- still try to guess and generate anchors accross modules but the +-- users shouldn't rely on this doing the right thing. See tickets +-- #253 and #375 on the confusion this causes depending on which +-- default we pick in 'rename'. outOfScope :: DynFlags -> RdrName -> Doc a outOfScope dflags x = case x of -- cgit v1.2.3 From bb0ecbb4053a593cc8ef80a277c4ef40b13998d5 Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Fri, 27 Mar 2015 01:14:11 +0000 Subject: Fix Hoogle display of constructors Fixes #361 --- CHANGES | 2 ++ haddock-api/src/Haddock/Backends/Hoogle.hs | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index 419a7be7..15ab0a24 100644 --- a/CHANGES +++ b/CHANGES @@ -35,6 +35,8 @@ Changes in version 2.16.0 * Don't default to type constructors for out-of-scope names (#253 and #375) + * Fix Hoogle display of constructors (#361) + Changes in version 2.15.0 * Always read in prologue files as UTF8 (#286 and Cabal #1721) diff --git a/haddock-api/src/Haddock/Backends/Hoogle.hs b/haddock-api/src/Haddock/Backends/Hoogle.hs index fe656a4b..ef86958e 100644 --- a/haddock-api/src/Haddock/Backends/Hoogle.hs +++ b/haddock-api/src/Haddock/Backends/Hoogle.hs @@ -198,7 +198,10 @@ ppCtor dflags dat subdocs con apps = foldl1 (\x y -> reL $ HsAppTy x y) typeSig nm flds = operator nm ++ " :: " ++ outHsType dflags (makeExplicit $ unL $ funs flds) - name = out dflags $ map unL $ con_names con + + -- We print the constructors as comma-separated list. See GHC + -- docs for con_names on why it is a list to begin with. + name = showSDocUnqual dflags . interpp'SP . map unL $ con_names con resType = case con_res con of ResTyH98 -> apps $ map (reL . HsTyVar) $ -- cgit v1.2.3 From 4999f090864463aec6cbcf4f3319015b6601ccef Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Fri, 27 Mar 2015 01:55:01 +0000 Subject: Update changelog --- CHANGES | 2 ++ 1 file changed, 2 insertions(+) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index 15ab0a24..f436cf64 100644 --- a/CHANGES +++ b/CHANGES @@ -37,6 +37,8 @@ Changes in version 2.16.0 * Fix Hoogle display of constructors (#361) + * Fully qualify names in Hoogle instances output (#263) + Changes in version 2.15.0 * Always read in prologue files as UTF8 (#286 and Cabal #1721) -- cgit v1.2.3 From 1a65ec54ce8516dc2d09af3b1d20fedd21e64ad6 Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Fri, 27 Mar 2015 02:43:55 +0000 Subject: Output method documentation in Hoogle backend One thing of note is that we no longer preserve grouping of methods and print each method on its own line. We could preserve it if no documentation is present for any methods in the group if someone asks for it though. Fixes #259 --- CHANGES | 2 ++ haddock-api/src/Haddock/Backends/Hoogle.hs | 32 ++++++++++++++++++++---------- 2 files changed, 23 insertions(+), 11 deletions(-) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index f436cf64..7aba49ae 100644 --- a/CHANGES +++ b/CHANGES @@ -39,6 +39,8 @@ Changes in version 2.16.0 * Fully qualify names in Hoogle instances output (#263) + * Output method documentation in Hoogle backend (#259) + Changes in version 2.15.0 * Always read in prologue files as UTF8 (#286 and Cabal #1721) diff --git a/haddock-api/src/Haddock/Backends/Hoogle.hs b/haddock-api/src/Haddock/Backends/Hoogle.hs index 3ffa582f..12dfc1f5 100644 --- a/haddock-api/src/Haddock/Backends/Hoogle.hs +++ b/haddock-api/src/Haddock/Backends/Hoogle.hs @@ -109,6 +109,8 @@ operator :: String -> String operator (x:xs) | not (isAlphaNum x) && x `notElem` "_' ([{" = '(' : x:xs ++ ")" operator x = x +commaSeparate :: Outputable a => DynFlags -> [a] -> String +commaSeparate dflags = showSDocUnqual dflags . interpp'SP --------------------------------------------------------------------- -- How to print each export @@ -121,30 +123,38 @@ ppExport dflags ExportDecl { expItemDecl = L _ decl where f (TyClD d@DataDecl{}) = ppData dflags d subdocs f (TyClD d@SynDecl{}) = ppSynonym dflags d - f (TyClD d@ClassDecl{}) = ppClass dflags d + f (TyClD d@ClassDecl{}) = ppClass dflags d subdocs f (ForD (ForeignImport name typ _ _)) = ppSig dflags $ TypeSig [name] typ [] f (ForD (ForeignExport name typ _ _)) = ppSig dflags $ TypeSig [name] typ [] f (SigD sig) = ppSig dflags sig f _ = [] ppExport _ _ = [] - -ppSig :: DynFlags -> Sig Name -> [String] -ppSig dflags (TypeSig names sig _) - = [operator prettyNames ++ " :: " ++ outHsType dflags typ] +ppSigWithDoc :: DynFlags -> Sig Name -> [(Name, DocForDecl Name)] -> [String] +ppSigWithDoc dflags (TypeSig names sig _) subdocs + = concatMap mkDocSig names where - prettyNames = intercalate ", " $ map (out dflags) names + mkDocSig n = concatMap (ppDocumentation dflags) (getDoc n) + ++ [mkSig n] + mkSig n = operator (out dflags n) ++ " :: " ++ outHsType dflags typ + + getDoc :: Located Name -> [Documentation Name] + getDoc n = maybe [] (return . fst) (lookup (unL n) subdocs) + typ = case unL sig of HsForAllTy Explicit a b c d -> HsForAllTy Implicit a b c d HsForAllTy Qualified a b c d -> HsForAllTy Implicit a b c d x -> x -ppSig _ _ = [] +ppSigWithDoc _ _ _ = [] + +ppSig :: DynFlags -> Sig Name -> [String] +ppSig dflags x = ppSigWithDoc dflags x [] -- note: does not yet output documentation for class methods -ppClass :: DynFlags -> TyClDecl Name -> [String] -ppClass dflags x = out dflags x{tcdSigs=[]} : - concatMap (ppSig dflags . addContext . unL) (tcdSigs x) +ppClass :: DynFlags -> TyClDecl Name -> [(Name, DocForDecl Name)] -> [String] +ppClass dflags x subdocs = out dflags x{tcdSigs=[]} : + concatMap (flip (ppSigWithDoc dflags) subdocs . addContext . unL) (tcdSigs x) where addContext (TypeSig name (L l sig) nwcs) = TypeSig name (L l $ f sig) nwcs addContext (MinimalSig src sig) = MinimalSig src sig @@ -203,7 +213,7 @@ ppCtor dflags dat subdocs con -- We print the constructors as comma-separated list. See GHC -- docs for con_names on why it is a list to begin with. - name = showSDocUnqual dflags . interpp'SP . map unL $ con_names con + name = commaSeparate dflags . map unL $ con_names con resType = case con_res con of ResTyH98 -> apps $ map (reL . HsTyVar) $ -- cgit v1.2.3 From e49d473bf33fa374c60462ad178ac539f026c3ff Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Fri, 27 Mar 2015 03:04:21 +0000 Subject: Don't print instance safety information in Hoogle Fixes #168 --- CHANGES | 2 ++ haddock-api/src/Haddock/Backends/Hoogle.hs | 13 +++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index 7aba49ae..af90b4fc 100644 --- a/CHANGES +++ b/CHANGES @@ -41,6 +41,8 @@ Changes in version 2.16.0 * Output method documentation in Hoogle backend (#259) + * Don't print instance safety information in Hoogle (#168) + Changes in version 2.15.0 * Always read in prologue files as UTF8 (#286 and Cabal #1721) diff --git a/haddock-api/src/Haddock/Backends/Hoogle.hs b/haddock-api/src/Haddock/Backends/Hoogle.hs index 12dfc1f5..914e3466 100644 --- a/haddock-api/src/Haddock/Backends/Hoogle.hs +++ b/haddock-api/src/Haddock/Backends/Hoogle.hs @@ -15,7 +15,8 @@ module Haddock.Backends.Hoogle ( ppHoogle ) where - +import BasicTypes (OverlapFlag(..), OverlapMode(..)) +import InstEnv (ClsInst(..)) import Haddock.GhcUtils import Haddock.Types hiding (Version) import Haddock.Utils hiding (out) @@ -169,7 +170,15 @@ ppClass dflags x subdocs = out dflags x{tcdSigs=[]} : ppInstance :: DynFlags -> ClsInst -> [String] ppInstance dflags x = - [dropComment $ outWith (showSDocForUser dflags alwaysQualify) x] + [dropComment $ outWith (showSDocForUser dflags alwaysQualify) cls] + where + -- As per #168, we don't want safety information about the class + -- in Hoogle output. The easiest way to achieve this is to set the + -- safety information to a state where the Outputable instance + -- produces no output which means no overlap and unsafe (or [safe] + -- is generated). + cls = x { is_flag = OverlapFlag { overlapMode = NoOverlap mempty + , isSafeOverlap = False } } ppSynonym :: DynFlags -> TyClDecl Name -> [String] ppSynonym dflags x = [out dflags x] -- cgit v1.2.3 From b44763d0c429d2acce731ea33ed4d5feec7a85a9 Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Sat, 28 Mar 2015 00:11:47 +0000 Subject: Post-release version bumps and changelog --- CHANGES | 25 ++++++++++++++----------- haddock-api/haddock-api.cabal | 2 +- haddock-library/haddock-library.cabal | 2 +- haddock.cabal | 2 +- 4 files changed, 17 insertions(+), 14 deletions(-) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index af90b4fc..19639ef1 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,17 @@ +Changes in version 2.16.1 + + * Don't default to type constructors for out-of-scope names (#253 and + #375) + + * Fix Hoogle display of constructors (#361) + + * Fully qualify names in Hoogle instances output (#263) + + * Output method documentation in Hoogle backend (#259) + + * Don't print instance safety information in Hoogle (#168) + + Changes in version 2.16.0 * Experimental collapsible header support (#335) @@ -32,17 +46,6 @@ Changes in version 2.16.0 * Deal better with long synopsis lines (#151) - * Don't default to type constructors for out-of-scope names (#253 and - #375) - - * Fix Hoogle display of constructors (#361) - - * Fully qualify names in Hoogle instances output (#263) - - * Output method documentation in Hoogle backend (#259) - - * Don't print instance safety information in Hoogle (#168) - Changes in version 2.15.0 * Always read in prologue files as UTF8 (#286 and Cabal #1721) diff --git a/haddock-api/haddock-api.cabal b/haddock-api/haddock-api.cabal index 22b3ae57..7ab7d71d 100644 --- a/haddock-api/haddock-api.cabal +++ b/haddock-api/haddock-api.cabal @@ -1,5 +1,5 @@ name: haddock-api -version: 2.16.0 +version: 2.16.1 synopsis: A documentation-generation tool for Haskell libraries description: Haddock is a documentation-generation tool for Haskell libraries diff --git a/haddock-library/haddock-library.cabal b/haddock-library/haddock-library.cabal index b0f886cd..3d9b7557 100644 --- a/haddock-library/haddock-library.cabal +++ b/haddock-library/haddock-library.cabal @@ -1,5 +1,5 @@ name: haddock-library -version: 1.2.0 +version: 1.2.1 synopsis: Library exposing some functionality of Haddock. description: Haddock is a documentation-generation tool for Haskell libraries. These modules expose some functionality of it diff --git a/haddock.cabal b/haddock.cabal index fbb4bfed..ce743d94 100644 --- a/haddock.cabal +++ b/haddock.cabal @@ -1,5 +1,5 @@ name: haddock -version: 2.16.0 +version: 2.16.1 synopsis: A documentation-generation tool for Haskell libraries description: Haddock is a documentation-generation tool for Haskell libraries -- cgit v1.2.3 From d567a12b2d24bab610cd7e8f8014d40c7615e24d Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Sat, 28 Mar 2015 20:38:10 +0000 Subject: Expand response files in arguments Closes #285 --- CHANGES | 1 + driver/Main.hs | 28 +++++++++++++++++++++++++--- 2 files changed, 26 insertions(+), 3 deletions(-) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index 19639ef1..e170bc46 100644 --- a/CHANGES +++ b/CHANGES @@ -11,6 +11,7 @@ Changes in version 2.16.1 * Don't print instance safety information in Hoogle (#168) + * Expand response files in arguments (#285) Changes in version 2.16.0 diff --git a/driver/Main.hs b/driver/Main.hs index 42b99860..5097a86d 100644 --- a/driver/Main.hs +++ b/driver/Main.hs @@ -1,7 +1,29 @@ +{-# LANGUAGE ScopedTypeVariables #-} module Main where -import Documentation.Haddock (haddock) -import System.Environment (getArgs) +import Control.Exception +import Documentation.Haddock (haddock) +import System.Environment (getArgs) +import System.Exit (exitFailure) +import System.IO main :: IO () -main = getArgs >>= haddock +main = getArgs >>= expandResponse >>= haddock + + +-- | Arguments which look like '@foo' will be replaced with the +-- contents of file @foo@. The contents will be passed through 'words' +-- and blanks filtered out first. +-- +-- We quit if the file is not found or reading somehow fails. +expandResponse :: [String] -> IO [String] +expandResponse = fmap concat . mapM expand + where + expand :: String -> IO [String] + expand ('@':f) = readFileExc f >>= return . filter (not . null) . words + expand x = return [x] + + readFileExc f = + readFile f `catch` \(e :: IOException) -> do + hPutStrLn stderr $ "Error while expanding response file: " ++ show e + exitFailure -- cgit v1.2.3 From 3d9e8134829c62448d1988813f9565d09be69f30 Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Fri, 12 Jun 2015 02:59:19 +0100 Subject: Update changelog for -threaded Closes #400 --- CHANGES | 2 ++ 1 file changed, 2 insertions(+) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index e170bc46..ef3c2f95 100644 --- a/CHANGES +++ b/CHANGES @@ -13,6 +13,8 @@ Changes in version 2.16.1 * Expand response files in arguments (#285) + * Build the main executable with -threaded (#399) + Changes in version 2.16.0 * Experimental collapsible header support (#335) -- cgit v1.2.3 From 5aaa14fa020da56be7fdf943f6da3310d11a3593 Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Fri, 12 Jun 2015 03:01:50 +0100 Subject: Changelog for #207 Fixes #207, closes #402 --- CHANGES | 2 ++ 1 file changed, 2 insertions(+) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index ef3c2f95..adcb6ca5 100644 --- a/CHANGES +++ b/CHANGES @@ -15,6 +15,8 @@ Changes in version 2.16.1 * Build the main executable with -threaded (#399) + * Use SrcSpan of declarations for inferred type sigs (#207) + Changes in version 2.16.0 * Experimental collapsible header support (#335) -- cgit v1.2.3 From f48474f640387dca4b42182c1ac78ba30865742d Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Fri, 12 Jun 2015 16:08:27 +0100 Subject: Update changelog Closes #398 --- CHANGES | 2 ++ 1 file changed, 2 insertions(+) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index adcb6ca5..368002dd 100644 --- a/CHANGES +++ b/CHANGES @@ -17,6 +17,8 @@ Changes in version 2.16.1 * Use SrcSpan of declarations for inferred type sigs (#207) + * Fix cross-module instance locations (#383) + Changes in version 2.16.0 * Experimental collapsible header support (#335) -- cgit v1.2.3 From 4343f6c86225b6e283c73afcd8adc007fafebeff Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Sun, 14 Jun 2015 10:31:18 +0100 Subject: Update tests for the CSS changes --- CHANGES | 2 + html-test/ref/Bug26.html | 12 +- html-test/ref/Bug294.html | 70 +- html-test/ref/Bug7.html | 34 +- html-test/ref/Hash.html | 44 +- html-test/ref/HiddenInstances.html | 50 +- html-test/ref/HiddenInstancesB.html | 26 +- html-test/ref/QuasiExpr.html | 26 +- html-test/ref/SpuriousSuperclassConstraints.html | 34 +- html-test/ref/Test.html | 26 +- html-test/ref/TypeFamilies.html | 834 ++++++++++++----------- html-test/ref/TypeFamilies2.html | 114 ++-- html-test/ref/ocean.css | 23 + 13 files changed, 719 insertions(+), 576 deletions(-) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index 368002dd..cb17fde7 100644 --- a/CHANGES +++ b/CHANGES @@ -19,6 +19,8 @@ Changes in version 2.16.1 * Fix cross-module instance locations (#383) + * Fix alignment of Source link for instances in Firefox (#384) + Changes in version 2.16.0 * Experimental collapsible header support (#335) diff --git a/html-test/ref/Bug26.html b/html-test/ref/Bug26.html index 981370fa..c670264c 100644 --- a/html-test/ref/Bug26.html +++ b/html-test/ref/Bug26.html @@ -145,10 +145,12 @@ window.onload = function () {pageLoad();setSynopsis("mini_Bug26.html");}; >
C ()C ()

instance for ()

Produced by Haddock version 2.15.1

version 2.16.1

data DP A = ProblemCtor' Adata DP A = ProblemCtor' A 
data TP A = ProblemCtor Adata TP A = ProblemCtor A 

Produced by Haddock version 2.15.0

version 2.16.1

data DP A = ProblemCtor' Adata DP A = ProblemCtor' A 
Bar Foo FooBar Foo Foo

Bar Foo FooBar Foo Foo

Produced by Haddock version 2.15.0

version 2.16.1

Produced by Haddock version 2.15.0

version 2.16.1

Hash FloatHash Float 
Hash IntHash Int 
(Hash a, Hash b) => Hash (a, b)(Hash a, Hash b) => Hash (a, b) 
VisibleClass IntVisibleClass Int

VisibleClass VisibleDataVisibleClass VisibleData

Num VisibleDataNum VisibleData

VisibleClass VisibleDataVisibleClass VisibleData

Produced by Haddock version 2.15.0

version 2.16.1

Foo BarFoo Bar

Foo BarFoo Bar

Produced by Haddock version 2.15.0

version 2.16.1

Show ExprShow Expr 

Produced by Haddock version 2.15.0

version 2.16.1

Show BinOpShow BinOp 

Produced by Haddock version 2.15.0

version 2.16.1

Functor (SomeType f)Functor (SomeType f) 
Applicative f => Applicative (SomeType f)Applicative f => Applicative (SomeType f) 

Produced by Haddock version 2.16.0

version 2.16.1

D FloatD Float 
D IntD Int 
Assoc * XAssoc * X

Test * XTest * X

(><) X XX XXX(><) X XX XXX 
type Foo X = Ytype Foo X = Y

data AssocD * X = AssocXdata AssocD * X = AssocX 
type AssocT * X = Foo * Xtype AssocT * X = Foo * X 
data Bat * X data Bat * X }

type Foo * X = Ytype Foo * X = Y

type (<>) * X a = Xtype (<>) * X a = X 
type (<>) X XXX XX = Xtype (<>) X XXX XX = X 
Assoc * YAssoc * Y

Test * YTest * Y

data Bar Ydata Bar Y 
data AssocD * Y = AssocYdata AssocD * Y = AssocY 
type AssocT * Y = Bat * Ytype AssocT * Y = Bat * Y 
data Bat * Y = BatY Ydata Bat * Y = BatY Y

type Foo * Y = Xtype Foo * Y = X

type (<>) * Y a = atype (<>) * Y a = a 
data Bat Z wheredata Bat Z where } -> Bat Z ZB

Test * YTest * Y

Test * XTest * X

type Foo * Y = Xtype Foo * Y = X

type Foo * X = Ytype Foo * X = Y

data Bat Z wheredata Bat Z where } -> Bat Z ZB

data Bat * Y = BatY Ydata Bat * Y = BatY Y

data Bat * X data Bat * X }

Assoc * YAssoc * Y

Assoc * XAssoc * X

type (<>) * Y a = atype (<>) * Y a = a 
type (<>) * X a = Xtype (<>) * X a = X 
type (<>) X XXX XX = Xtype (<>) X XXX XX = X 

Produced by Haddock version 2.15.0

version 2.16.1

(><) X XX XXX(><) X XX XXX 
data Bar W = BarX Zdata Bar W = BarX Z

Shown because BarX is still exported despite Z being hidden

type Foo Wtype Foo W

type Foo Wtype Foo W

type Foo X = Ytype Foo X = Y

Produced by Haddock version 2.15.0

version 2.16.1

Date: Tue, 7 Jul 2015 23:58:28 +0100 Subject: Update changelog --- CHANGES | 2 ++ 1 file changed, 2 insertions(+) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index cb17fde7..ff49b6f5 100644 --- a/CHANGES +++ b/CHANGES @@ -21,6 +21,8 @@ Changes in version 2.16.1 * Fix alignment of Source link for instances in Firefox (#384) + * Generate hyperlinked source ourselves (#410, part of GSOC 2015) + Changes in version 2.16.0 * Experimental collapsible header support (#335) -- cgit v1.2.3 From 06e0766810779180dbc52d15c0df5a2eaaf1881e Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Sat, 11 Jul 2015 14:23:05 +0100 Subject: Fix expansion icon for user-collapsible sections Closes #412 --- CHANGES | 2 ++ haddock-api/src/Haddock/Backends/Xhtml/DocMarkup.hs | 5 +++-- html-test/ref/Bug335.html | 6 +++--- 3 files changed, 8 insertions(+), 5 deletions(-) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index ff49b6f5..be829adf 100644 --- a/CHANGES +++ b/CHANGES @@ -23,6 +23,8 @@ Changes in version 2.16.1 * Generate hyperlinked source ourselves (#410, part of GSOC 2015) + * Fix expansion icon for user-collapsible sections (#412) + Changes in version 2.16.0 * Experimental collapsible header support (#335) diff --git a/haddock-api/src/Haddock/Backends/Xhtml/DocMarkup.hs b/haddock-api/src/Haddock/Backends/Xhtml/DocMarkup.hs index c23f3f08..3fe74a82 100644 --- a/haddock-api/src/Haddock/Backends/Xhtml/DocMarkup.hs +++ b/haddock-api/src/Haddock/Backends/Xhtml/DocMarkup.hs @@ -161,8 +161,9 @@ hackMarkup fmt' h' = UntouchedDoc d -> (markup fmt $ _doc d, [_meta d]) CollapsingHeader (Header lvl titl) par n nm -> let id_ = makeAnchorId $ "ch:" ++ fromMaybe "noid:" nm ++ show n - col' = collapseControl id_ True "caption" - instTable = (thediv ! collapseSection id_ False [] <<) + expanded = False + col' = collapseControl id_ expanded "caption" + instTable = (thediv ! collapseSection id_ expanded [] <<) lvs = zip [1 .. ] [h1, h2, h3, h4, h5, h6] getHeader = fromMaybe caption (lookup lvl lvs) subCaption = getHeader ! col' << markup fmt titl diff --git a/html-test/ref/Bug335.html b/html-test/ref/Bug335.html index 6f3d3820..dbe97422 100644 --- a/html-test/ref/Bug335.html +++ b/html-test/ref/Bug335.html @@ -64,7 +64,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_Bug335.html");}; >f :: ()

ExF:

g :: ()

ExG:

Produced by Haddock version 2.16.0

version 2.16.1

Date: Wed, 22 Jul 2015 22:03:21 +0100 Subject: Make some version changes after 2.16.1 release --- CHANGES | 10 ++++++---- doc/haddock.xml | 2 +- haddock-api/haddock-api.cabal | 2 +- haddock.cabal | 4 ++-- 4 files changed, 10 insertions(+), 8 deletions(-) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index be829adf..60d39605 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,9 @@ +Changes in version 2.16.2 + + * Generate hyperlinked source ourselves (#410, part of GSOC 2015) + + * Fix expansion icon for user-collapsible sections (#412) + Changes in version 2.16.1 * Don't default to type constructors for out-of-scope names (#253 and @@ -21,10 +27,6 @@ Changes in version 2.16.1 * Fix alignment of Source link for instances in Firefox (#384) - * Generate hyperlinked source ourselves (#410, part of GSOC 2015) - - * Fix expansion icon for user-collapsible sections (#412) - Changes in version 2.16.0 * Experimental collapsible header support (#335) diff --git a/doc/haddock.xml b/doc/haddock.xml index e2845212..e805a437 100644 --- a/doc/haddock.xml +++ b/doc/haddock.xml @@ -38,7 +38,7 @@ Mateusz Kowalczyk - This document describes Haddock version 2.16.1, a Haskell + This document describes Haddock version 2.16.2, a Haskell documentation tool. diff --git a/haddock-api/haddock-api.cabal b/haddock-api/haddock-api.cabal index 1e0b1eaf..4db05de8 100644 --- a/haddock-api/haddock-api.cabal +++ b/haddock-api/haddock-api.cabal @@ -1,5 +1,5 @@ name: haddock-api -version: 2.16.1 +version: 2.16.2 synopsis: A documentation-generation tool for Haskell libraries description: Haddock is a documentation-generation tool for Haskell libraries diff --git a/haddock.cabal b/haddock.cabal index 8fa9f33d..27ae8967 100644 --- a/haddock.cabal +++ b/haddock.cabal @@ -1,5 +1,5 @@ name: haddock -version: 2.16.1 +version: 2.16.2 synopsis: A documentation-generation tool for Haskell libraries description: Haddock is a documentation-generation tool for Haskell libraries @@ -59,7 +59,7 @@ executable haddock array, xhtml >= 3000.2 && < 3000.3, Cabal >= 1.10, - ghc >= 7.9 && < 7.11, + ghc >= 7.9 && < 7.12, bytestring, transformers -- cgit v1.2.3 From 089d20c23c5e3a00856ee9480a3953060b03ed7b Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Fri, 31 Jul 2015 09:47:43 +0100 Subject: Update changelog --- CHANGES | 2 ++ 1 file changed, 2 insertions(+) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index 60d39605..d35528d1 100644 --- a/CHANGES +++ b/CHANGES @@ -4,6 +4,8 @@ Changes in version 2.16.2 * Fix expansion icon for user-collapsible sections (#412) + * Break up response file arguments on newlines + Changes in version 2.16.1 * Don't default to type constructors for out-of-scope names (#253 and -- cgit v1.2.3 From 2b2e3108e892b925abeb101609d3e49ec69ef4dc Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Sun, 2 Aug 2015 23:58:25 +0100 Subject: Update tests to follow HTML changes --- CHANGES | 4 + html-test/ref/A.html | 16 +- html-test/ref/AdvanceTypes.html | 8 +- html-test/ref/B.html | 10 +- html-test/ref/Bold.html | 4 +- html-test/ref/Bug1.html | 6 +- html-test/ref/Bug195.html | 136 +++--- html-test/ref/Bug2.html | 4 +- html-test/ref/Bug201.html | 6 +- html-test/ref/Bug253.html | 4 +- html-test/ref/Bug26.html | 10 +- html-test/ref/Bug294.html | 18 +- html-test/ref/Bug298.html | 12 +- html-test/ref/Bug3.html | 4 +- html-test/ref/Bug308.html | 6 +- html-test/ref/Bug308CrossModule.html | 4 +- html-test/ref/Bug310.html | 4 +- html-test/ref/Bug313.html | 6 +- html-test/ref/Bug335.html | 6 +- html-test/ref/Bug387.html | 6 +- html-test/ref/Bug4.html | 4 +- html-test/ref/Bug6.html | 88 ++-- html-test/ref/Bug7.html | 8 +- html-test/ref/Bug8.html | 18 +- html-test/ref/Bug85.html | 14 +- html-test/ref/BugDeprecated.html | 14 +- html-test/ref/BugExportHeadings.html | 14 +- html-test/ref/Bugs.html | 6 +- html-test/ref/DeprecatedClass.html | 10 +- html-test/ref/DeprecatedData.html | 14 +- html-test/ref/DeprecatedFunction.html | 6 +- html-test/ref/DeprecatedFunction2.html | 4 +- html-test/ref/DeprecatedFunction3.html | 4 +- html-test/ref/DeprecatedModule.html | 4 +- html-test/ref/DeprecatedModule2.html | 4 +- html-test/ref/DeprecatedNewtype.html | 10 +- html-test/ref/DeprecatedReExport.html | 4 +- html-test/ref/DeprecatedRecord.html | 60 +-- html-test/ref/DeprecatedTypeFamily.html | 6 +- html-test/ref/DeprecatedTypeSynonym.html | 6 +- html-test/ref/Examples.html | 4 +- html-test/ref/Extensions.html | 4 +- html-test/ref/FunArgs.html | 12 +- html-test/ref/GADTRecords.html | 64 +-- html-test/ref/Hash.html | 14 +- html-test/ref/HiddenInstances.html | 6 +- html-test/ref/HiddenInstancesB.html | 6 +- html-test/ref/Hyperlinks.html | 4 +- html-test/ref/IgnoreExports.html | 6 +- html-test/ref/ImplicitParams.html | 12 +- html-test/ref/Minimal.html | 52 +-- html-test/ref/ModuleWithWarning.html | 4 +- html-test/ref/NamedDoc.html | 2 +- html-test/ref/Nesting.html | 18 +- html-test/ref/NoLayout.html | 4 +- html-test/ref/NonGreedy.html | 4 +- html-test/ref/Operators.html | 44 +- html-test/ref/PatternSyns.html | 22 +- html-test/ref/Properties.html | 4 +- html-test/ref/PruneWithWarning.html | 2 +- html-test/ref/QuasiExpr.html | 28 +- html-test/ref/QuasiQuote.html | 4 +- html-test/ref/SpuriousSuperclassConstraints.html | 4 +- html-test/ref/TH.html | 4 +- html-test/ref/TH2.html | 4 +- html-test/ref/Test.html | 522 ++++++++++++----------- html-test/ref/Threaded.html | 16 +- html-test/ref/Ticket112.html | 4 +- html-test/ref/Ticket61.html | 6 +- html-test/ref/Ticket75.html | 8 +- html-test/ref/TitledPicture.html | 6 +- html-test/ref/TypeFamilies.html | 76 ++-- html-test/ref/TypeFamilies2.html | 12 +- html-test/ref/TypeOperators.html | 44 +- html-test/ref/Unicode.html | 4 +- html-test/ref/Visible.html | 4 +- html-test/ref/haddock-util.js | 2 +- html-test/ref/mini_FunArgs.html | 18 + html-test/ref/ocean.css | 32 +- 79 files changed, 853 insertions(+), 805 deletions(-) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index d35528d1..2cb0a5e0 100644 --- a/CHANGES +++ b/CHANGES @@ -6,6 +6,10 @@ Changes in version 2.16.2 * Break up response file arguments on newlines + * Various HTML fixes (#301, #406, #407, #421) + + * Line anchors in hyperlinked source (#420) + Changes in version 2.16.1 * Don't default to type constructors for out-of-scope names (#253 and diff --git a/html-test/ref/A.html b/html-test/ref/A.html index 96e2d001..56c04bc6 100644 --- a/html-test/ref/A.html +++ b/html-test/ref/A.html @@ -88,7 +88,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_A.html");}; >

data A

data Bar W = BarX Zdata Bar W = BarX Z

Shown because BarX is still exported despite Z being hidden

data Bar Ydata Bar Y 
A

test2 :: Bool

data X

X

reExport :: Int

Produced by Haddock version 2.15.0

version 2.16.2

data Pattern :: [*] -> * where
Nil :: Pattern
Cons :: Maybe

Produced by Haddock version 2.15.0

version 2.16.2

reExport :: Int

data X

X

Produced by Haddock version 2.15.0

version 2.16.2

Documentation

foo :: t

Produced by Haddock version 2.15.0

version 2.16.2

data T

T

Produced by Haddock version 2.15.0

version 2.16.2

data T

Produced by Haddock version 2.16.0

version 2.16.2

Documentation

x :: A

Produced by Haddock version 2.15.0

version 2.16.2

Documentation

f :: ()

g :: ()

Produced by Haddock version 2.15.0

version 2.16.2

Documentation

foo :: ()

Produced by Haddock version 2.16.0

version 2.16.2

Documentation

f :: ()

g :: ()

class C a where

Methods

c_f :: a

Produced by Haddock version 2.16.1

version 2.16.2

data A

gadtField :: GADT A

data family DP t :: *

DP A = = ProblemCtor' A

Produced by Haddock version 2.16.1

version 2.16.2

Documentation

(<^>) :: (a -> a) -> a -> a

(<^) :: a -> a -> a

(^>) :: a -> a -> a

(⋆^) :: a -> a -> a

f :: ()

Produced by Haddock version 2.15.0

version 2.16.2

Documentation

foo :: Int

Produced by Haddock version 2.15.0

version 2.16.2

Documentation

f :: ()

g :: ()

Produced by Haddock version 2.15.0

version 2.16.2

Documentation

h :: ()

Produced by Haddock version 2.15.0

version 2.16.2

type family a a + b :: Nat

Produced by Haddock version 2.16.0

version 2.16.2

Documentation

a :: a

b :: a

Produced by Haddock version 2.15.0

version 2.16.2

Documentation

f :: ()

g :: ()

Produced by Haddock version 2.16.1

version 2.16.2

test1 :: Int

test2 :: Int

Produced by Haddock version 2.16.1

version 2.16.2

Documentation

foo :: Int

Produced by Haddock version 2.15.0

version 2.16.2

data A

A

Fields

someField :: ()

Doc for someField of A

someOtherField :: ()

Doc for someOtherField of A

B

Fields

someField :: ()

Doc for someField of A

someOtherField :: ()

Doc for someOtherField of A

C

Fields

someField :: ()

Doc for someField of A

someOtherField :: ()

Doc for someOtherField of A

A Int

data B

data C

B

Fields

b :: Int
 

data D

C

Fields

c1 :: Int
 
c2 :: Int
 
D Int

newtype E

E Int

Produced by Haddock version 2.15.0

version 2.16.2

data Foo

Foo

class Bar x y

Produced by Haddock version 2.16.1

version 2.16.2

data Typ

Type (Typ
TFree (Typ

(-->) :: t -> t1 -> Typ

s :: t

t :: t

main :: t

Produced by Haddock version 2.16.0

version 2.16.2

data Foo :: (* -> *) -> * -> * where
Bar :: f x -> Foo

data Baz :: * where
Baz' :: Baz

data Qux where
Quux :: Qux

Produced by Haddock version 2.16.0

version 2.16.2

Documentation

foo :: Int

bar :: Int

baz :: Int

one :: Int

two :: Int

three :: Int

Produced by Haddock version 2.15.0

version 2.16.2

Foo

foo :: IntBar

bar :: IntBaz

baz :: IntOne

one :: IntTwo

two :: IntThree

three :: Int

Produced by Haddock version 2.15.0

version 2.16.2

data A a

A a (a -> Int

Produced by Haddock version 2.15.0

version 2.16.2

class SomeClass a where

Methods

foo :: a -> a

class SomeOtherClass a where

Methods

bar :: a -> a

Produced by Haddock version 2.15.0

version 2.16.2

data Foo

Foo
Bar

data One

One
Two

Produced by Haddock version 2.15.0

version 2.16.2

Documentation

foo :: Int

bar :: Int

Produced by Haddock version 2.15.0

version 2.16.2

Documentation

foo :: Int

Produced by Haddock version 2.15.0

version 2.16.2

Documentation

foo :: Integer

Produced by Haddock version 2.15.0

version 2.16.2

Documentation

foo :: Int

Produced by Haddock version 2.15.0

version 2.16.2

Documentation

foo :: Int

Produced by Haddock version 2.15.0

version 2.16.2

newtype SomeNewType

SomeNewTypeConst String

newtype SomeOtherNewType

SomeOtherNewTypeConst String

Produced by Haddock version 2.15.0

version 2.16.2

Re-exported from an other module

foo :: Int

Produced by Haddock version 2.15.0

version 2.16.2

data Foo

Produced by Haddock version 2.15.0

version 2.16.2

data family SomeTypeFamily k :: * -> *

data family SomeOtherTypeFamily k :: * -> *

Produced by Haddock version 2.16.0

version 2.16.2

type TypeSyn = String

type OtherTypeSyn = String

Produced by Haddock version 2.15.0

version 2.16.2

Documentation

fib :: Integer

Produced by Haddock version 2.15.0

version 2.16.2

Documentation

foobar :: t

Produced by Haddock version 2.15.0

version 2.16.2

Documentation

f

g

h

i

j

Produced by Haddock version 2.15.0

version 2.16.2

data H1 a b where

Foo

Fields

fooName :: String

some name

fooValue :: Int
  • fooValue :: Int

    Deprecated: do not use this

    some value

  • Produced by Haddock version 2.15.0

    version 2.16.2

    data HashTable key val

    s

    new :: (Eq

    lookup :: Hash

    class Hash a where

    Methods

    hash :: a -> Int

    Produced by Haddock version 2.16.1

    version 2.16.2

    class VisibleClass a

    data VisibleData

    Produced by Haddock version 2.16.1

    version 2.16.2

    class Foo a

    data Bar

    Produced by Haddock version 2.16.1

    version 2.16.2

    Documentation

    foo :: Int

    Produced by Haddock version 2.15.0

    version 2.16.2

    Documentation

    foo :: Int

    bar :: Int

    Produced by Haddock version 2.15.0

    version 2.16.2

    data X

    C1 :: H1
    C2 :: Ord
    C3 :: Int

    Fields

    field :: Int

    hello docs

    C4 :: a -> H1

    Fields

    field2 :: a

    hello2 docs

    X

    c :: (?x :: X

    d :: (?x :: X

    f :: ((?x :: X

    Produced by Haddock version 2.15.0

    version 2.16.2

    class Foo a where

    Methods

    foo :: a

    Any two of these are required...

    bar :: a

    bat :: a

    fooBarBat :: (a, a, a)

    class Weird a where

    Methods

    a :: a

    b :: a

    c :: a

    d :: a

    e :: a

    f :: a

    g :: a

    class NoMins a where

    Methods

    x :: a

    y :: a

    z :: a

    class FullMin a where

    Methods

    aaa :: a

    bbb :: a

    class PartialMin a where

    Methods

    ccc :: a

    class EmptyMin a where

    Methods

    eee :: a

    fff :: a

    Produced by Haddock version 2.15.0

    version 2.16.2

    Documentation

    foo :: Int

    Produced by Haddock version 2.15.0

    version 2.16.2

    Produced by Haddock version 2.15.0

    version 2.16.2

    Documentation

    d :: t

    e :: t

    f :: t

    g :: t

    h :: t

    i :: t

    j :: t

    k :: t

    Produced by Haddock version 2.16.1

    version 2.16.2

    Documentation

    g :: Int

    Produced by Haddock version 2.15.0

    version 2.16.2

    Documentation

    f :: a

    Produced by Haddock version 2.15.0

    version 2.16.2

    Documentation

    (+-) :: a -> a -> a

    (*/) :: a -> a -> a infixr 7

    foo :: a -> a -> a infixl 3

    data Foo

    Foo `Bar` FooFoo :- Foo

    pattern (:+) :: t -> t -> [t] infixr 3

    data a a <-> b where
    (:<->) :: a -> b -> a <->

    type family a a ++ b infix 3

    data family a a ** b infix 9

    class a a ><> b where

    type a a <>< b :: * infixl 2

    data a a ><< b infixl 3

    Methods

    (>><), , (<<>) :: a -> b -> () infixl 5 <<>

    (**>), , (**<), , (>**), , (<**) :: a -> a -> () infixr 8 **>, >**

    type (>-<) a b = a <->

    Produced by Haddock version 2.16.0

    version 2.16.2

    data FooType x

    FooCtor x

    pattern Foo :: t -> FooType

    pattern Bar :: t -> FooType

    pattern (:<->) :: t -> t -> (FooType

    data a a >< b

    Doc for (><><)

    Empty

    pattern E :: (><)

    Produced by Haddock version 2.15.0

    version 2.16.2

    Documentation

    fib :: Integer

    Produced by Haddock version 2.15.0

    version 2.16.2

    Produced by Haddock version 2.15.0

    version 2.16.2

    data Expr

    IntExpr Integer
    AntiIntExpr String
    BinopExpr BinOp
    AntiExpr String

    data BinOp

    AddOp
    SubOp
    MulOp
    DivOp

    expr :: QuasiQuoter

    parseExprExp :: String

    Produced by Haddock version 2.16.1

    version 2.16.2

    Documentation

    val :: Integer

    Produced by Haddock version 2.15.0

    version 2.16.2

    data SomeType f a

    Produced by Haddock version 2.16.1

    version 2.16.2

    Documentation

    decl :: Q [Dec]

    Produced by Haddock version 2.15.0

    version 2.16.2

    Documentation

    f :: t -> t

    Produced by Haddock version 2.15.0

    version 2.16.2

    data T a b

    A Int
    B (T

    data T2 a b

    data T3 a b

    A1 a
    B1 b

    data T4 a b

    A2 a
    B2 b

    data T5 a b

    A3 a
    B3 b

    data T6

    A4
    B4
    C4

    newtype N1 a

    N1 a

    newtype N2 a b

    newtype N3 a b

    N2

    Fields

    n :: a b
     
    • n :: a b
       

    data N4 a b

    newtype N5 a b

    N3

    Fields

    n3 :: a b

    this is the n3 field

    • n3 :: a b

      this is the n3 field

    newtype N6 a b

    N5

    Fields

    n5 :: a b

    no docs on the datatype or the constructor

    • n5 :: a b

      no docs on the datatype or the constructor

    newtype N7 a b

    N6

    Fields

    n6 :: a b
     
    • n6 :: a b
       

    data R

    N7

    Fields

    n7 :: a b
     
    • n7 :: a b
       

    data R1

    C1

    Fields

    p :: Int

    This comment applies to the p field

    q :: forall a. a -> a

    This comment applies to the q field

    r, s :: Int

    This comment applies to both r and s

    • p :: Int

      This comment applies to the p field

    • q :: forall a. a -> a

      This comment applies to the q field

    • r, s :: Int

      This comment applies to both r and s

    C2

    Fields

    t :: T1 -> T2 Int Int -> T3 Bool Bool -> T4 Float Float -> T5 () ()
     
    u, v :: Int
     
    classD a => a => C a where

    Methods

    a :: IO method

    b :: [a]

    class D a where

    Methods

    d :: T a b

    e :: (a, a)

    class E a

    class F a where

    Methods

    ff :: a

    Function types

    f :: C

    g :: IntA hidden module

    hidden :: Int

    data Ex a

    forall b . C b => b => Ex1 b
    C3

    Fields

    s1 :: Int

    The s1 record selector

    s2 :: Int

    The s2 record selector

    s3 :: Int

    The s3 record selector

    forall b . b . Ex2 bforall b . C a => a => Ex3 b
    Ex4 (forallType signatures with argument docs

    k

    l

    m

    o

    f' :: Int

    withoutType :: t

    Produced by Haddock version 2.16.1

    version 2.16.2

    Synopsis

    Documentation

    f :: :: Integer

    Documentation

    f :: a

    Produced by Haddock version 2.15.0

    version 2.16.2

    class C a where

    Methods

    f :: a

    Produced by Haddock version 2.15.0

    version 2.16.2

    data a a :- b

    Q

    f :: Int

    Produced by Haddock version 2.15.0

    version 2.16.2

    Documentation

    bar :: Integer

    Produced by Haddock version 2.15.0

    version 2.16.2

    data X

    X
    X
    XX
    XXXAssocD * X = = AssocX

    type family Foo a

    data family Bar a

    Bar W = = BarX Z

    Produced by Haddock version 2.16.1

    version 2.16.2

    data a a :-: b

    data (a (a :+: b) c

    data Op a b

    newtype O g f a

    ZA
    ZBwhere

    class a a <=> b

    biO :: (g `O`

    f :: (a ~ b) => a -> b

    g :: (a ~ b, b ~ c) => a -> c

    x :: (a :-:

    y :: (a <=>

    Produced by Haddock version 2.15.0

    version 2.16.2

    Documentation

    x :: Int

    Produced by Haddock version 2.15.0

    version 2.16.2

    Documentation

    visible :: Int

    Produced by Haddock version 2.15.0

    version 2.16.2

    g

    .doc { + display: table-cell; padding-left: 0.5em; margin-bottom: 0.5em; } -.subs dd.empty { - display: none; -} - -.subs dd p { +.subs ul li > .doc p { margin: 0; } -- cgit v1.2.3
    O

    Fields

    unO :: g (f a)
     
    • unO :: g (f a)