packages feed

haddock 2.23.1 → 2.24.0

raw patch · 165 files changed

+1707/−1985 lines, 165 filesdep +ghc-boot-thdep ~basedep ~ghcdep ~haddock-api

Dependencies added: ghc-boot-th

Dependency ranges changed: base, ghc, haddock-api

Files

CHANGES.md view
@@ -1,3 +1,10 @@+## Changes in 2.24.0++ * Reify oversaturated data family instances correctly (#1103)++ * Removed the majority of Haddock's possible `panic` routes through+   the TTG refactor to make extension variants empty+ ## Changes in 2.23.0   * "Linuwial" is the new default theme (#721, #782, #949)
LICENSE view
@@ -1,23 +1,26 @@-Copyright 2002-2010, Simon Marlow.  All rights reserved.+Copyright (c) 2002-2010, Simon Marlow+All rights reserved.  Redistribution and use in source and binary forms, with or without-modification, are permitted provided that the following conditions are met:+modification, are permitted provided that the following conditions are+met: -- Redistributions of source code must retain the above copyright notice,-this list of conditions and the following disclaimer.+1. Redistributions of source code must retain the above copyright+   notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright notice,-this list of conditions and the following disclaimer in the documentation-and/or other materials provided with the distribution.+2. Redistributions in binary form must reproduce the above copyright+   notice, this list of conditions and the following disclaimer in the+   documentation and/or other materials provided with the+   distribution. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS "AS IS" AND ANY-EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR-PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE-OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN-IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
README.md view
@@ -1,70 +1,61 @@-# Haddock, a Haskell Documentation Tool [![Build Status](https://travis-ci.org/haskell/haddock.svg?branch=ghc-head)](https://travis-ci.org/haskell/haddock)---## About haddock--See [Description on Hackage](https://hackage.haskell.org/package/haddock).--## Source code documentation--Full documentation can be found in the `doc/` subdirectory, in-[reStructedText format](http://www.sphinx-doc.org/en/stable/rest.html)-format.+# Haddock [![CI][CI badge]][CI page] [![Hackage][Hackage badge]][Hackage page] +Haddock is the standard tool for generating documentation from Haskell code.+Full documentation about Haddock itself can be found in the `doc/` subdirectory,+in [reStructedText format][ReST] format.  ## Project overview  This project consists of three packages: -* haddock-* haddock-api-* haddock-library--### haddock--The haddock package provides the `haddock` executable. It is implemented as a-tiny wrapper around haddock-api's `Documentation.Haddock.haddock` function.--### haddock-api--haddock-api contains the program logic of the `haddock` tool. [The haddocks for-the `Documentation.Haddock` module](http://hackage.haskell.org/package/haddock-api-2.19.0.1/docs/Documentation-Haddock.html)-offer a good overview of haddock-api's functionality.--### haddock-library+ * `haddock`: provides the `haddock` executable. It is implemented as a tiny+    wrapper around `haddock-api`'s `Documentation.Haddock.haddock` function. -haddock-library is concerned with the parsing and processing of the Haddock-markup language.+ * `haddock-api`: contains the program logic of the `haddock` tool.+   [The haddocks for the `Documentation.Haddock` module][Documentation.Haddock]+   offer a good overview of the functionality. + * `haddock-library`: is concerned with the parsing and processing of the+   Haddock markup language. Unlike the other packages, it is expected to build+   on a fairly wide range of GHC versions.  ## Contributing -Please create issues when you have any problems and pull requests if you have some code.+Please create issues when you have any problems and pull requests if you have+some code.  ## Hacking -To get started you'll need a latest GHC release installed.+To get started you'll need the latest GHC release installed.  Clone the repository:  ```bash-  git clone https://github.com/haskell/haddock.git-  cd haddock+git clone https://github.com/haskell/haddock.git+cd haddock ```  and then proceed using your favourite build tool. -#### Using [`cabal new-build`](http://cabal.readthedocs.io/en/latest/nix-local-build-overview.html)+#### Using [`cabal v2-build`][cabal v2]  ```bash-cabal new-build -w ghc-head-# build & run the test suite-cabal new-test -w ghc-head all+cabal v2-build -w ghc-8.10.1+cabal v2-test -w ghc-8.10.1 all ``` -#### Using Cabal sandboxes+#### Using `stack`  ```bash+stack init+stack build+export HADDOCK_PATH="$(stack exec which haddock)"+stack test+```++#### Using Cabal sandboxes (deprecated)++```bash cabal sandbox init cabal sandbox add-source haddock-library cabal sandbox add-source haddock-api@@ -78,29 +69,29 @@ cabal test ``` -#### Using Stack--```bash-stack init-stack build-# run the test suite-export HADDOCK_PATH="$(stack exec which haddock)"-stack test-```- ### Git Branches -If you're a GHC developer and want to update Haddock to work with your-changes, you should be working on `ghc-head` branch.-See instructions at-https://ghc.haskell.org/trac/ghc/wiki/WorkingConventions/Git/Submodules+If you're a GHC developer and want to update Haddock to work with your changes,+you should be working on the `ghc-head` branch. See instructions at+<https://gitlab.haskell.org/ghc/ghc/-/wikis/working-conventions/git/submodules> for an example workflow. -### Updating `html-test`+### Updating golden testsuite outputs -When accepting any changes in the output of `html-test`, it is important-to use the `--haddock-path` option. For example:+If you've changed Haddock's output, you will probably need to accept the new+output of Haddock's golden test suites (`html-test`, `latex-test`,+`hoogle-test`, and `hypsrc-test`). This can be done by passing the `--accept`+argument to these test suites. With a new enough version of `cabal-install`:  ```-cabal new-run -- html-test --haddock-path $(find dist-newstyle/ -executable -type f -name haddock) --accept+cabal v2-test html-test latex-test hoogle-test hypsrc-test \+  --test-option='--accept' ```++[CI page]: https://travis-ci.org/haskell/haddock+[CI badge]: https://travis-ci.org/haskell/haddock.svg?branch=ghc-8.10+[Hackage page]: https://hackage.haskell.org/package/haddock+[Hackage badge]: https://img.shields.io/hackage/v/haddock.svg+[ReST]: http://www.sphinx-doc.org/en/stable/rest.html+[Documentation.Haddock]: http://hackage.haskell.org/package/haddock-api/docs/Documentation-Haddock.html+[cabal v2]: http://cabal.readthedocs.io/en/latest/nix-local-build-overview.html
doc/invoking.rst view
@@ -548,5 +548,5 @@  Since Haddock uses GHC internally, both plain and literate Haskell sources are accepted without the need for the user to do anything. To-use the C pre-processor, however, the user must pass the the :option:`-cpp`+use the C pre-processor, however, the user must pass the ``-cpp`` option to GHC using :option:`--optghc`.
doc/markup.rst view
@@ -8,7 +8,7 @@ type declarations, and class declarations exported by each of the modules being processed. -.. _top-level-declaration+.. _top-level-declaration:  Documenting a Top-Level Declaration -----------------------------------
haddock-api/src/Haddock.hs view
@@ -55,20 +55,14 @@ import System.IO import System.Exit -#if defined(mingw32_HOST_OS)-import Foreign-import Foreign.C-import Data.Int-#endif- #ifdef IN_GHC_TREE import System.FilePath+import System.Environment (getExecutablePath) #else import qualified GHC.Paths as GhcPaths import Paths_haddock_api (getDataDir)-import System.Directory (doesDirectoryExist) #endif-import System.Directory (getTemporaryDirectory)+import System.Directory (doesDirectoryExist, getTemporaryDirectory) import System.FilePath ((</>))  import Text.ParserCombinators.ReadP (readP_to_S)@@ -237,7 +231,7 @@  withGhc :: [Flag] -> Ghc a -> IO a withGhc flags action = do-  libDir <- fmap snd (getGhcDirs flags)+  libDir <- fmap (fromMaybe (error "No GhcDir found") . snd) (getGhcDirs flags)    -- Catches all GHC source errors, then prints and re-throws them.   let handleSrcErrors action' = flip handleSourceError action' $ \err -> do@@ -368,7 +362,7 @@   let withQuickjump = Flag_QuickJumpIndex `elem` flags    when (Flag_GenIndex `elem` flags) $ do-    withTiming (pure dflags') "ppHtmlIndex" (const ()) $ do+    withTiming dflags' "ppHtmlIndex" (const ()) $ do       _ <- {-# SCC ppHtmlIndex #-}            ppHtmlIndex odir title pkgStr                   themes opt_mathjax opt_contents_url sourceUrls' opt_wiki_urls@@ -378,7 +372,7 @@     copyHtmlBits odir libDir themes withQuickjump    when (Flag_GenContents `elem` flags) $ do-    withTiming (pure dflags') "ppHtmlContents" (const ()) $ do+    withTiming dflags' "ppHtmlContents" (const ()) $ do       _ <- {-# SCC ppHtmlContents #-}            ppHtmlContents dflags' odir title pkgStr                      themes opt_mathjax opt_index_url sourceUrls' opt_wiki_urls@@ -388,7 +382,7 @@     copyHtmlBits odir libDir themes withQuickjump    when (Flag_Html `elem` flags) $ do-    withTiming (pure dflags') "ppHtml" (const ()) $ do+    withTiming dflags' "ppHtml" (const ()) $ do       _ <- {-# SCC ppHtml #-}            ppHtml dflags' title pkgStr visibleIfaces reexportedIfaces odir                   prologue@@ -423,14 +417,14 @@           ]    when (Flag_LaTeX `elem` flags) $ do-    withTiming (pure dflags') "ppLatex" (const ()) $ do+    withTiming dflags' "ppLatex" (const ()) $ do       _ <- {-# SCC ppLatex #-}            ppLaTeX title pkgStr visibleIfaces odir (fmap _doc prologue) opt_latex_style                    libDir       return ()    when (Flag_HyperlinkedSource `elem` flags && not (null ifaces)) $ do-    withTiming (pure dflags') "ppHyperlinkedSource" (const ()) $ do+    withTiming dflags' "ppHyperlinkedSource" (const ()) $ do       _ <- {-# SCC ppHyperlinkedSource #-}            ppHyperlinkedSource (verbosity flags) odir libDir opt_source_css pretty srcMap ifaces       return ()@@ -474,8 +468,7 @@   -- We disable pattern match warnings because than can be very   -- expensive to check   let dynflags'' = unsetPatternMatchWarnings $-        updOptLevel 0 $-        gopt_unset dynflags' Opt_SplitObjs+        updOptLevel 0 dynflags'   -- ignore the following return-value, which is a list of packages   -- that may need to be re-linked: Haddock doesn't do any   -- dynamic or static linking at all!@@ -528,52 +521,88 @@ -------------------------------------------------------------------------------  -getHaddockLibDir :: [Flag] -> IO String+getHaddockLibDir :: [Flag] -> IO FilePath getHaddockLibDir flags =   case [str | Flag_Lib str <- flags] of     [] -> do #ifdef IN_GHC_TREE-      getInTreeDir++      -- When in the GHC tree, we should be able to locate the "lib" folder+      -- based on the location of the current executable.+      base_dir <- getBaseDir      -- Provided by GHC+      let res_dirs = [ d | Just d <- [base_dir] ] +++ #else-      -- if data directory does not exist we are probably-      -- invoking from either ./haddock-api or ./-      let res_dirs = [ getDataDir -- provided by Cabal-                     , pure "resources"-                     , pure "haddock-api/resources"-                     ] -          check get_path = do-            p <- get_path-            exists <- doesDirectoryExist p-            pure $ if exists then Just p else Nothing+      -- When Haddock was installed by @cabal@, the resources (which are listed+      -- under @data-files@ in the Cabal file) will have been copied to a+      -- special directory.+      data_dir <- getDataDir      -- Provided by Cabal+      let res_dirs = [ data_dir ] ++ -      dirs <- mapM check res_dirs-      case [p | Just p <- dirs] of-        (p : _) -> return p-        _       -> die "Haddock's resource directory does not exist!\n" #endif-    fs -> return (last fs) +      -- When Haddock is built locally (eg. regular @cabal new-build@), the data+      -- directory does not exist and we are probably invoking from either+      -- @./haddock-api@ or @./@+                     [ "resources"+                     , "haddock-api/resources"+                     ] -getGhcDirs :: [Flag] -> IO (String, String)+      res_dir <- check res_dirs+      case res_dir of+        Just p -> return p+        _      -> die "Haddock's resource directory does not exist!\n"++    fs -> return (last fs)+  where+    -- Pick the first path that corresponds to a directory that exists+    check :: [FilePath] -> IO (Maybe FilePath)+    check [] = pure Nothing+    check (path : other_paths) = do+      exists <- doesDirectoryExist path+      if exists then pure (Just path) else check other_paths++-- | Find the @lib@ directory for GHC and the path to @ghc@+getGhcDirs :: [Flag] -> IO (Maybe FilePath, Maybe FilePath) getGhcDirs flags = do-  case [ dir | Flag_GhcLibDir dir <- flags ] of-    [] -> do+ #ifdef IN_GHC_TREE-      libDir <- getInTreeDir-      return (ghcPath, libDir)+  base_dir <- getBaseDir+  let ghc_path = Nothing #else-      return (ghcPath, GhcPaths.libdir)+  let base_dir = Just GhcPaths.libdir+      ghc_path = Just GhcPaths.ghc #endif-    xs -> return (ghcPath, last xs)-  where++  -- If the user explicitly specifies a lib dir, use that+  let ghc_dir = case [ dir | Flag_GhcLibDir dir <- flags ] of+                  [] -> base_dir+                  xs -> Just (last xs)++  pure (ghc_path, ghc_dir)++ #ifdef IN_GHC_TREE-    ghcPath = "not available"-#else-    ghcPath = GhcPaths.ghc-#endif +-- | See 'getBaseDir' in "SysTools.BaseDir"+getBaseDir :: IO (Maybe FilePath)+getBaseDir = do +  -- Getting executable path can fail. Turn that into 'Nothing'+  exec_path_opt <- catch (Just <$> getExecutablePath)+                         (\(_ :: SomeException) -> pure Nothing)++  -- Check that the path we are about to return actually exists+  case exec_path_opt of+    Nothing -> pure Nothing+    Just exec_path -> do+      let base_dir = takeDirectory (takeDirectory exec_path) </> "lib"+      exists <- doesDirectoryExist base_dir+      pure (if exists then Just base_dir else Nothing)++#endif+ shortcutFlags :: [Flag] -> IO () shortcutFlags flags = do   usage <- getUsage@@ -586,12 +615,12 @@   when (Flag_GhcVersion       `elem` flags) (bye (cProjectVersion ++ "\n"))    when (Flag_PrintGhcPath `elem` flags) $ do-    dir <- fmap fst (getGhcDirs flags)-    bye $ dir ++ "\n"+    path <- fmap fst (getGhcDirs flags)+    bye $ fromMaybe "not available" path ++ "\n"    when (Flag_PrintGhcLibDir `elem` flags) $ do     dir <- fmap snd (getGhcDirs flags)-    bye $ dir ++ "\n"+    bye $ fromMaybe "not available" dir ++ "\n"    when (Flag_UseUnicode `elem` flags && Flag_Html `notElem` flags) $     throwE "Unicode can only be enabled for HTML output."@@ -668,38 +697,3 @@ rightOrThrowE (Left msg) = throwE msg rightOrThrowE (Right x) = pure x --#ifdef IN_GHC_TREE--getInTreeDir :: IO String-getInTreeDir = getExecDir >>= \case-  Nothing -> error "No GhcDir found"-  Just d -> return (d </> ".." </> "lib")---getExecDir :: IO (Maybe String)-#if defined(mingw32_HOST_OS)-getExecDir = try_size 2048 -- plenty, PATH_MAX is 512 under Win32.-  where-    try_size size = allocaArray (fromIntegral size) $ \buf -> do-        ret <- c_GetModuleFileName nullPtr buf size-        case ret of-          0 -> return Nothing-          _ | ret < size -> fmap (Just . dropFileName) $ peekCWString buf-            | otherwise  -> try_size (size * 2)--# if defined(i386_HOST_ARCH)-#  define WINDOWS_CCONV stdcall-# elif defined(x86_64_HOST_ARCH)-#  define WINDOWS_CCONV ccall-# else-#  error Unknown mingw32 arch-# endif--foreign import WINDOWS_CCONV unsafe "windows.h GetModuleFileNameW"-  c_GetModuleFileName :: Ptr () -> CWString -> Word32 -> IO Word32-#else-getExecDir = return Nothing-#endif--#endif
haddock-api/src/Haddock/Backends/HaddockDB.hs view
@@ -104,16 +104,21 @@ 					 hsep (map ppHsAType b)) context)  ppHsType :: HsType -> Doc-ppHsType (HsForAllType Nothing context htype) =+ppHsType (HsForAllType _ Nothing context htype) =      hsep [ ppHsContext context, text "=>", ppHsType htype]-ppHsType (HsForAllType (Just tvs) [] htype) =-     hsep (text "forall" : map ppHsName tvs ++ text "." : [ppHsType htype])-ppHsType (HsForAllType (Just tvs) context htype) =-     hsep (text "forall" : map ppHsName tvs ++ text "." :+ppHsType (HsForAllType fvf (Just tvs) [] htype) =+     hsep (text "forall" : map ppHsName tvs ++ pprHsForAllSeparator fvf :+       [ppHsType htype])+ppHsType (HsForAllType fvf (Just tvs) context htype) =+     hsep (text "forall" : map ppHsName tvs ++ pprHsForAllSeparator fvf : 	   ppHsContext context : text "=>" : [ppHsType htype]) ppHsType (HsTyFun a b) = fsep [ppHsBType a, text "-&gt;", ppHsType b] ppHsType (HsTyIP n t)  = fsep [(char '?' <> ppHsName n), text "::", ppHsType t] ppHsType t = ppHsBType t++ppHsForAllSeparator :: ForallVisFlag -> Doc+ppHsForAllSeparator ForallVis   = text "-&gt;"+ppHsForAllSeparator ForallInvis = text "."  ppHsBType (HsTyApp (HsTyCon (Qual (Module "Prelude") (HsTyClsName (HsSpecial "[]")))) b )   = brackets $ ppHsType b
haddock-api/src/Haddock/Backends/Hoogle.hs view
@@ -18,7 +18,7 @@   ) where  import BasicTypes ( OverlapFlag(..), OverlapMode(..), SourceText(..)-                  , PromotionFlag(..) )+                  , PromotionFlag(..), TopLevelFlag(..) ) import InstEnv (ClsInst(..)) import Documentation.Haddock.Markup import Haddock.GhcUtils@@ -27,10 +27,9 @@  import GHC import Outputable-import NameSet  import Data.Char-import Data.List+import Data.List (isPrefixOf, intercalate) import Data.Maybe import Data.Version @@ -72,7 +71,7 @@ dropHsDocTy = f     where         g (L src x) = L src (f x)-        f (HsForAllTy x a e) = HsForAllTy x a (g e)+        f (HsForAllTy x fvf a e) = HsForAllTy x fvf a (g e)         f (HsQualTy x a e) = HsQualTy x a (g e)         f (HsBangTy x a b) = HsBangTy x a (g b)         f (HsAppTy x a b) = HsAppTy x (g a) (g b)@@ -86,8 +85,8 @@         f (HsDocTy _ a _) = f $ unL a         f x = x -outHsType :: (a ~ GhcPass p, OutputableBndrId a)-          => DynFlags -> HsType a -> String+outHsType :: (OutputableBndrId p)+          => DynFlags -> HsType (GhcPass p) -> String outHsType dflags = out dflags . reparenType . dropHsDocTy  @@ -174,7 +173,7 @@             | null $ tcdATs decl = ""             | otherwise = (" " ++) . showSDocUnqual dflags . whereWrapper $ concat                 [ map pprTyFam (tcdATs decl)-                , map (ppr . tyFamEqnToSyn . unLoc) (tcdATDefs decl)+                , map (pprTyFamInstDecl NotTopLevel . unLoc) (tcdATDefs decl)                 ]          pprTyFam :: LFamilyDecl GhcRn -> SDoc@@ -187,15 +186,6 @@             , rbrace             ] -        tyFamEqnToSyn :: TyFamDefltEqn GhcRn -> TyClDecl GhcRn-        tyFamEqnToSyn tfe = SynDecl-            { tcdLName  = feqn_tycon tfe-            , tcdTyVars = feqn_pats tfe-            , tcdFixity = feqn_fixity tfe-            , tcdRhs    = feqn_rhs tfe-            , tcdSExt   = emptyNameSet-            }- ppFam :: DynFlags -> FamilyDecl GhcRn -> [String] ppFam dflags decl@(FamilyDecl { fdInfo = info })   = [out dflags decl']@@ -205,7 +195,7 @@               -- for Hoogle, so pretend it doesn't have any.               ClosedTypeFamily{} -> decl { fdInfo = OpenTypeFamily }               _                  -> decl-ppFam _ XFamilyDecl {} = panic "ppFam"+ppFam _ (XFamilyDecl nec) = noExtCon nec  ppInstance :: DynFlags -> ClsInst -> [String] ppInstance dflags x =@@ -254,8 +244,8 @@                            [out dflags (map (extFieldOcc . unLoc) $ cd_fld_names r) `typeSig` [resType, cd_fld_type r]]                           | r <- map unLoc recs] -        funs = foldr1 (\x y -> reL $ HsFunTy NoExt x y)-        apps = foldl1 (\x y -> reL $ HsAppTy NoExt x y)+        funs = foldr1 (\x y -> reL $ HsFunTy noExtField x y)+        apps = foldl1 (\x y -> reL $ HsAppTy noExtField x y)          typeSig nm flds = operator nm ++ " :: " ++ outHsType dflags (unL $ funs flds) @@ -263,14 +253,14 @@         -- docs for con_names on why it is a list to begin with.         name = commaSeparate dflags . map unL $ getConNames con -        resType = let c  = HsTyVar NoExt NotPromoted (noLoc (tcdName dat))+        resType = let c  = HsTyVar noExtField NotPromoted (reL (tcdName dat))                       as = map (tyVarBndr2Type . unLoc) (hsQTvExplicit $ tyClDeclTyVars dat)-                  in apps (map noLoc (c : as))+                  in apps (map reL (c : as))          tyVarBndr2Type :: HsTyVarBndr GhcRn -> HsType GhcRn-        tyVarBndr2Type (UserTyVar _ n) = HsTyVar NoExt NotPromoted n-        tyVarBndr2Type (KindedTyVar _ n k) = HsKindSig NoExt (noLoc (HsTyVar NoExt NotPromoted n)) k-        tyVarBndr2Type (XTyVarBndr _) = panic "haddock:ppCtor"+        tyVarBndr2Type (UserTyVar _ n) = HsTyVar noExtField NotPromoted n+        tyVarBndr2Type (KindedTyVar _ n k) = HsKindSig noExtField (reL (HsTyVar noExtField NotPromoted n)) k+        tyVarBndr2Type (XTyVarBndr nec) = noExtCon nec  ppCtor dflags _dat subdocs con@(ConDeclGADT { })    = concatMap (lookupCon dflags subdocs) (getConNames con) ++ f@@ -279,10 +269,10 @@          typeSig nm ty = operator nm ++ " :: " ++ outHsType dflags (unL ty)         name = out dflags $ map unL $ getConNames con-ppCtor _ _ _ XConDecl {} = panic "haddock:ppCtor"+ppCtor _ _ _ (XConDecl nec) = noExtCon nec  ppFixity :: DynFlags -> (Name, Fixity) -> [String]-ppFixity dflags (name, fixity) = [out dflags ((FixitySig noExt [noLoc name] fixity) :: FixitySig GhcRn)]+ppFixity dflags (name, fixity) = [out dflags ((FixitySig noExtField [noLoc name] fixity) :: FixitySig GhcRn)]   ---------------------------------------------------------------------
haddock-api/src/Haddock/Backends/Hyperlinker.hs view
@@ -18,7 +18,7 @@ import System.Directory import System.FilePath -import HieTypes       ( HieFile(..), HieASTs(..), HieAST(..), NodeInfo(..) )+import HieTypes       ( HieFile(..), HieAST(..), HieASTs(..), NodeInfo(..) ) import HieBin         ( readHieFile, hie_file_result) import Data.Map as M import FastString     ( mkFastString )
haddock-api/src/Haddock/Backends/Hyperlinker/Parser.hs view
@@ -9,11 +9,12 @@  import BasicTypes          ( IntegralLit(..) ) import DynFlags-import ErrUtils            ( emptyMessages )+import ErrUtils            ( pprLocErrMsg ) import FastString          ( mkFastString ) import Lexer               ( P(..), ParseResult(..), PState(..), Token(..)-                           , mkPStatePure, lexer, mkParserFlags' )-import Outputable          ( showSDoc, panic )+                           , mkPStatePure, lexer, mkParserFlags', getErrorMessages, addFatalError )+import Bag                 ( bagToList )+import Outputable          ( showSDoc, panic, text, ($$) ) import SrcLoc import StringBuffer        ( StringBuffer, atEnd ) @@ -31,8 +32,10 @@   -> [T.Token] parse dflags fpath bs = case unP (go False []) initState of     POk _ toks -> reverse toks-    PFailed _ ss errMsg -> panic $ "Hyperlinker parse error at " ++ show ss ++-                                   ": " ++ showSDoc dflags errMsg+    PFailed pst ->+      let err:_ = bagToList (getErrorMessages pst dflags) in+      panic $ showSDoc dflags $+        text "Hyperlinker parse error:" $$ pprLocErrMsg err   where      initState = mkPStatePure pflags buf start@@ -145,7 +148,7 @@  -- | Get the input getInput :: P (StringBuffer, RealSrcLoc)-getInput = P $ \p @ PState { buffer = buf, loc = srcLoc } -> POk p (buf, srcLoc)+getInput = P $ \p@PState { buffer = buf, loc = srcLoc } -> POk p (buf, srcLoc)  -- | Set the input setInput :: (StringBuffer, RealSrcLoc) -> P ()@@ -154,7 +157,7 @@  -- | Orphan instance that adds backtracking to 'P' instance Alternative P where-  empty = P $ \_ -> PFailed (const emptyMessages) noSrcSpan "Alterative.empty"+  empty = addFatalError noSrcSpan (text "Alterative.empty")   P x <|> P y = P $ \s -> case x s of { p@POk{} -> p                                       ; _ -> y s } 
haddock-api/src/Haddock/Backends/Hyperlinker/Renderer.hs view
@@ -88,14 +88,14 @@     -- order to make sure these get hyperlinked properly, we intercept these     -- special sequences of tokens and merge them into just one identifier or     -- operator token.-    [BacktickTok s1, tok @ Token{ tkType = TkIdentifier }, BacktickTok s2]+    [BacktickTok s1, tok@Token{ tkType = TkIdentifier }, BacktickTok s2]           | realSrcSpanStart s1 == realSrcSpanStart nodeSpan           , realSrcSpanEnd s2   == realSrcSpanEnd nodeSpan           -> richToken srcs nodeInfo                        (Token{ tkValue = "`" <> tkValue tok <> "`"                              , tkType = TkOperator                              , tkSpan = nodeSpan })-    [OpenParenTok s1, tok @ Token{ tkType = TkOperator }, CloseParenTok s2]+    [OpenParenTok s1, tok@Token{ tkType = TkOperator }, CloseParenTok s2]           | realSrcSpanStart s1 == realSrcSpanStart nodeSpan           , realSrcSpanEnd s2   == realSrcSpanEnd nodeSpan           -> richToken srcs nodeInfo
haddock-api/src/Haddock/Backends/Hyperlinker/Utils.hs view
@@ -129,8 +129,8 @@     go (HLitTy l) = IfaceLitTy l     go (HForAllTy ((n,k),af) t) = let b = (getOccFS n, k)                                   in IfaceForAllTy (Bndr (IfaceTvBndr b) af) t-    go (HFunTy a b) = IfaceFunTy a b-    go (HQualTy con b) = IfaceDFunTy con b+    go (HFunTy a b) = IfaceFunTy VisArg a b+    go (HQualTy con b) = IfaceFunTy InvisArg con b     go (HCastTy a) = a     go HCoercionTy = IfaceTyVar "<coercion type>"     go (HTyConApp a xs) = IfaceTyConApp a (hieToIfaceArgs xs)
haddock-api/src/Haddock/Backends/LaTeX.hs view
@@ -38,7 +38,7 @@ import Data.Char import Control.Monad import Data.Maybe-import Data.List+import Data.List            ( sort ) import Prelude hiding ((<>))  import Haddock.Doc (combineDocumentation)@@ -311,7 +311,7 @@  ppFor :: DocForDecl DocName -> ForeignDecl DocNameI -> Bool -> LaTeX ppFor doc (ForeignImport _ (L _ name) typ _) unicode =-  ppFunSig Nothing doc [name] (hsSigType typ) unicode+  ppFunSig Nothing doc [name] (hsSigTypeI typ) unicode ppFor _ _ _ = error "ppFor error in Haddock.Backends.LaTeX" --  error "foreign declarations are currently not supported by --latex" @@ -355,8 +355,8 @@              , equals              , ppType unicode (unLoc rhs)              ]-    ppFamDeclEqn (XHsImplicitBndrs _) = panic "haddock:ppFamDecl"-    ppFamDeclEqn (HsIB { hsib_body = XFamEqn _}) = panic "haddock:ppFamDecl"+    ppFamDeclEqn (XHsImplicitBndrs nec) = noExtCon nec+    ppFamDeclEqn (HsIB { hsib_body = XFamEqn nec}) = noExtCon nec      instancesBit = ppDocInstances unicode instances @@ -365,7 +365,7 @@             -> Bool                 -- ^ unicode             -> Bool                 -- ^ is the family associated?             -> LaTeX-ppFamHeader (XFamilyDecl _) _ _ = panic "haddock;ppFamHeader"+ppFamHeader (XFamilyDecl nec) _ _ = noExtCon nec ppFamHeader (FamilyDecl { fdLName = L _ name                         , fdTyVars = tvs                         , fdInfo = info@@ -388,7 +388,7 @@       NoSig _               -> empty       KindSig _ kind        -> dcolon unicode <+> ppLKind unicode kind       TyVarSig _ (L _ bndr) -> equals <+> ppHsTyVarBndr unicode bndr-      XFamilyResultSig _    -> panic "haddock:ppFamHeader"+      XFamilyResultSig nec  -> noExtCon nec      injAnn = case injectivity of       Nothing -> empty@@ -449,7 +449,7 @@           -> Bool                -- ^ unicode           -> LaTeX ppLPatSig doc docnames ty unicode-  = ppFunSig (Just (keyword "pattern")) doc docnames (hsSigType ty) unicode+  = ppFunSig (Just (keyword "pattern")) doc docnames (hsSigTypeI ty) unicode  -- | Pretty-print a type, adding documentation to the whole type and its -- arguments as needed.@@ -485,9 +485,9 @@     arg_doc n = rDoc . fmap _doc $ Map.lookup n argDocs      do_args :: Int -> LaTeX -> HsType DocNameI -> [(LaTeX, LaTeX)]-    do_args _n leader (HsForAllTy _ tvs ltype)+    do_args _n leader (HsForAllTy _ fvf tvs ltype)       = [ ( decltt leader-          , decltt (ppForAllPart unicode tvs)+          , decltt (ppForAllPart unicode tvs fvf)               <+> ppLType unicode ltype           ) ]     do_args n leader (HsQualTy _ lctxt ltype)@@ -530,7 +530,7 @@   tyvarNames :: LHsQTyVars DocNameI -> [Name]-tyvarNames = map (getName . hsLTyVarName) . hsQTvExplicit+tyvarNames = map (getName . hsLTyVarNameI) . hsQTvExplicit   declWithDoc :: LaTeX -> Maybe LaTeX -> LaTeX@@ -621,7 +621,7 @@      atTable =       text "\\haddockpremethods{}" <> emph (text "Associated Types") $$-      vcat  [ ppFamDecl True (fst doc) [] (FamDecl noExt decl) True+      vcat  [ ppFamDecl True (fst doc) [] (FamDecl noExtField decl) True             | L _ decl <- ats             , let name = unL . fdLName $ decl                   doc = lookupAnySubdoc name subdocs@@ -630,7 +630,7 @@      methodTable =       text "\\haddockpremethods{}" <> emph (text "Methods") $$-      vcat  [ ppFunSig leader doc names (hsSigType typ) unicode+      vcat  [ ppFunSig leader doc names (hsSigTypeI typ) unicode             | L _ (ClassOpSig _ is_def lnames typ) <- lsigs             , let doc | is_def = noDocForDecl                       | otherwise = lookupAnySubdoc (head names) subdocs@@ -750,7 +750,7 @@   where     ppForall       | null tvs || not forall_ = empty-      | otherwise = ppForAllPart unicode tvs+      | otherwise = ppForAllPart unicode tvs ForallInvis      ppCtxt       | null ctxt = empty@@ -769,9 +769,9 @@   where     -- Find the name of a constructors in the decl (`getConName` always returns     -- a non-empty list)-    aConName = unLoc (head (getConNames con))+    aConName = unLoc (head (getConNamesI con)) -    occ      = map (nameOccName . getName . unLoc) $ getConNames con+    occ      = map (nameOccName . getName . unLoc) $ getConNamesI con      ppOcc      = cat (punctuate comma (map ppBinder occ))     ppOccInfix = cat (punctuate comma (map ppBinderInfix occ))@@ -816,7 +816,7 @@                             -- ++AZ++ make this prepend "{..}" when it is a record style GADT                             , ppLType unicode (getGADTConType con)                             ]-      XConDecl{} -> panic "haddock:ppSideBySideConstr"+      XConDecl nec -> noExtCon nec      fieldPart = case (con, getConArgs con) of         -- Record style GADTs@@ -850,12 +850,12 @@         [ l <+> text "\\enspace" <+> r         | (l,r) <- ppSubSigLike unicode (unLoc (getGADTConType con)) argDocs subdocs (dcolon unicode)         ]-      XConDecl{} -> panic "haddock:doConstrArgsWithDocs"+      XConDecl nec -> noExtCon nec       -- don't use "con_doc con", in case it's reconstructed from a .hi file,     -- or also because we want Haddock to do the doc-parsing, not GHC.-    mbDoc = case getConNames con of+    mbDoc = case getConNamesI con of               [] -> panic "empty con_names"               (cn:_) -> lookup (unLoc cn) subdocs >>=                         fmap _doc . combineDocumentation . fst@@ -870,7 +870,7 @@     -- don't use cd_fld_doc for same reason we don't use con_doc above     -- Where there is more than one name, they all have the same documentation     mbDoc = lookup (extFieldOcc $ unLoc $ head names) subdocs >>= fmap _doc . combineDocumentation . fst-ppSideBySideField _ _ (XConDeclField _) = panic "haddock:ppSideBySideField"+ppSideBySideField _ _ (XConDeclField nec) = noExtCon nec   -- | Pretty-print a bundled pattern synonym@@ -890,7 +890,7 @@          | otherwise = hsep [ keyword "pattern"                             , ppOcc                             , dcolon unicode-                            , ppLType unicode (hsSigType typ)+                            , ppLType unicode (hsSigTypeI typ)                             ]      fieldPart@@ -900,7 +900,7 @@           | (l,r) <- ppSubSigLike unicode (unLoc patTy) argDocs [] (dcolon unicode)           ] -    patTy = hsSigType typ+    patTy = hsSigTypeI typ      mDoc = fmap _doc $ combineDocumentation doc @@ -1037,7 +1037,7 @@ ppHsTyVarBndr _ (UserTyVar _ (L _ name)) = ppDocName name ppHsTyVarBndr unicode (KindedTyVar _ (L _ name) kind) =   parens (ppDocName name <+> dcolon unicode <+> ppLKind unicode kind)-ppHsTyVarBndr _ (XTyVarBndr _) = panic "haddock:ppHsTyVarBndr"+ppHsTyVarBndr _ (XTyVarBndr nec) = noExtCon nec  ppLKind :: Bool -> LHsKind DocNameI -> LaTeX ppLKind unicode y = ppKind unicode (unLoc y)@@ -1049,17 +1049,21 @@ -- Drop top-level for-all type variables in user style -- since they are implicit in Haskell -ppForAllPart :: Bool -> [LHsTyVarBndr DocNameI] -> LaTeX-ppForAllPart unicode tvs = hsep (forallSymbol unicode : ppTyVars unicode tvs) <> dot-+ppForAllPart :: Bool -> [LHsTyVarBndr DocNameI] -> ForallVisFlag -> LaTeX+ppForAllPart unicode tvs fvf = hsep (forallSymbol unicode : tvs') <> fv+  where+    tvs' = ppTyVars unicode tvs+    fv = case fvf of+           ForallVis   -> text "\\ " <> arrow unicode+           ForallInvis -> dot  ppr_mono_lty :: LHsType DocNameI -> Bool -> LaTeX ppr_mono_lty ty unicode = ppr_mono_ty (unLoc ty) unicode   ppr_mono_ty :: HsType DocNameI -> Bool -> LaTeX-ppr_mono_ty (HsForAllTy _ tvs ty) unicode-  = sep [ ppForAllPart unicode tvs+ppr_mono_ty (HsForAllTy _ fvf tvs ty) unicode+  = sep [ ppForAllPart unicode tvs fvf         , ppr_mono_lty ty unicode ] ppr_mono_ty (HsQualTy _ ctxt ty) unicode   = sep [ ppLContext ctxt unicode
haddock-api/src/Haddock/Backends/Xhtml/Decl.hs view
@@ -36,12 +36,10 @@  import BasicTypes (PromotionFlag(..), isPromoted) import GHC hiding (LexicalFixity(..))-import qualified GHC import GHC.Exts import Name import BooleanFormula import RdrName ( rdrNameOcc )-import Outputable ( panic )  -- | Pretty print a declaration ppDecl :: Bool                                     -- ^ print summary info only@@ -65,7 +63,7 @@   SigD _ (TypeSig _ lnames lty)  -> ppLFunSig summ links loc (mbDoc, fnArgsDoc) lnames                                          (hsSigWcType lty) fixities splice unicode pkg qual   SigD _ (PatSynSig _ lnames lty) -> ppLPatSig summ links loc (mbDoc, fnArgsDoc) lnames-                                         (hsSigType lty) fixities splice unicode pkg qual+                                         (hsSigTypeI lty) fixities splice unicode pkg qual   ForD _ d                       -> ppFor summ links loc (mbDoc, fnArgsDoc) d fixities splice unicode pkg qual   InstD _ _                      -> noHtml   DerivD _ _                     -> noHtml@@ -152,8 +150,8 @@     do_largs n leader (L _ t) = do_args n leader t      do_args :: Int -> Html -> HsType DocNameI -> [SubDecl]-    do_args n leader (HsForAllTy _ tvs ltype)-      = do_largs n (leader <+> ppForAllPart unicode qual tvs) ltype+    do_args n leader (HsForAllTy _ fvf tvs ltype)+      = do_largs n (leader <+> ppForAllPart unicode qual tvs fvf) ltype      do_args n leader (HsQualTy _ lctxt ltype)       | null (unLoc lctxt)@@ -219,7 +217,7 @@       -> Splice -> Unicode -> Maybe Package -> Qualification -> Html ppFor summary links loc doc (ForeignImport _ (L _ name) typ _) fixities       splice unicode pkg qual-  = ppFunSig summary links loc noHtml doc [name] (hsSigType typ) fixities splice unicode pkg qual+  = ppFunSig summary links loc noHtml doc [name] (hsSigTypeI typ) fixities splice unicode pkg qual ppFor _ _ _ _ _ _ _ _ _ _ = error "ppFor"  @@ -306,8 +304,8 @@         , Nothing         , []         )-    ppFamDeclEqn (XHsImplicitBndrs _) = panic "haddock:ppFamDecl"-    ppFamDeclEqn (HsIB { hsib_body = XFamEqn _}) = panic "haddock:ppFamDecl"+    ppFamDeclEqn (XHsImplicitBndrs nec) = noExtCon nec+    ppFamDeclEqn (HsIB { hsib_body = XFamEqn nec}) = noExtCon nec   -- | Print a pseudo family declaration@@ -332,7 +330,7 @@             -> Bool                 -- ^ is an associated type             -> FamilyDecl DocNameI  -- ^ family declaration             -> Unicode -> Qualification -> Html-ppFamHeader _ _ (XFamilyDecl _) _ _ = panic "haddock;ppFamHeader"+ppFamHeader _ _ (XFamilyDecl nec) _ _ = noExtCon nec ppFamHeader summary associated (FamilyDecl { fdInfo = info                                            , fdResultSig = L _ result                                            , fdInjectivityAnn = injectivity@@ -372,7 +370,7 @@     NoSig _               -> noHtml     KindSig _ kind        -> dcolon unicode  <+> ppLKind unicode qual kind     TyVarSig _ (L _ bndr) -> equals <+> ppHsTyVarBndr unicode qual bndr-    XFamilyResultSig _    -> panic "haddock:ppResultSig"+    XFamilyResultSig nec  -> noExtCon nec   --------------------------------------------------------------------------------@@ -497,7 +495,7 @@                  -- ToDo: add associated type defaults -            [ ppFunSig summary links loc noHtml doc names (hsSigType typ)+            [ ppFunSig summary links loc noHtml doc names (hsSigTypeI typ)                        [] splice unicode pkg qual               | L _ (ClassOpSig _ False lnames typ) <- sigs               , let doc = lookupAnySubdoc (head names) subdocs@@ -548,31 +546,26 @@       , let name = unL . fdLName $ unL at             doc = lookupAnySubdoc name subdocs             subfixs = filter ((== name) . fst) fixities-            defTys = ppDefaultAssocTy name <$> lookupDAT name+            defTys = (declElem . ppDefaultAssocTy name) <$> lookupDAT name       ]      -- Default associated types-    ppDefaultAssocTy n (vs,t,d') = ppTySyn summary links [] loc d' synDecl-      splice unicode pkg qual-      where-        synDecl = SynDecl { tcdSExt = noExt-                          , tcdLName = noLoc n-                          , tcdTyVars = vs-                          , tcdFixity = GHC.Prefix-                          , tcdRhs = t }+    ppDefaultAssocTy n (vs,rhs) = hsep+      [ keyword "type", ppAppNameTypeArgs n vs unicode qual, equals+      , ppType unicode qual HideEmptyContexts (unLoc rhs)+      ]      lookupDAT name = Map.lookup (getName name) defaultAssocTys     defaultAssocTys = Map.fromList-      [ (getName name, (vs, typ, doc))-      | L _ (FamEqn { feqn_rhs = typ-                    , feqn_tycon = L _ name-                    , feqn_pats = vs }) <- atsDefs-      , let doc = noDocForDecl -- TODO: get docs for associated type defaults+      [ (getName name, (vs, typ))+      | L _ (TyFamInstDecl (HsIB _ (FamEqn { feqn_rhs = typ+                                           , feqn_tycon = L _ name+                                           , feqn_pats = vs }))) <- atsDefs       ]      -- Methods     methodBit = subMethods-      [ ppFunSig summary links loc noHtml doc [name] (hsSigType typ)+      [ ppFunSig summary links loc noHtml doc [name] (hsSigTypeI typ)                  subfixs splice unicode pkg qual           <+>         subDefaults (maybeToList defSigs)@@ -587,7 +580,7 @@      -- Default methods     ppDefaultFunSig n (t, d') = ppFunSig summary links loc (keyword "default")-      d' [n] (hsSigType t) [] splice unicode pkg qual+      d' [n] (hsSigTypeI t) [] splice unicode pkg qual      lookupDM name = Map.lookup (getOccString name) defaultMethods     defaultMethods = Map.fromList@@ -777,7 +770,7 @@     pats1 = [ hsep [ keyword "pattern"                    , hsep $ punctuate comma $ map (ppBinder summary . getOccName) lnames                    , dcolon unicode-                   , ppPatSigType unicode qual (hsSigType typ)+                   , ppPatSigType unicode qual (hsSigTypeI typ)                    ]             | (SigD _ (PatSynSig _ lnames typ),_) <- pats             ]@@ -823,7 +816,7 @@       [ ppSideBySideConstr subdocs subfixs unicode pkg qual c       | c <- cons       , let subfixs = filter (\(n,_) -> any (\cn -> cn == n)-                                            (map unLoc (getConNames (unLoc c)))) fixities+                                            (map unLoc (getConNamesI (unLoc c)))) fixities       ]      patternBit = subPatterns pkg qual@@ -888,10 +881,10 @@           , noHtml           , noHtml           )-      XConDecl {} -> panic "haddock:ppShortConstrParts"+      XConDecl nec -> noExtCon nec    where-    occ        = map (nameOccName . getName . unLoc) $ getConNames con+    occ        = map (nameOccName . getName . unLoc) $ getConNamesI con     ppOcc      = hsep (punctuate comma (map (ppBinder summary) occ))     ppOccInfix = hsep (punctuate comma (map (ppBinderInfix summary) occ)) @@ -908,10 +901,10 @@    )  where     -- Find the name of a constructors in the decl (`getConName` always returns a non-empty list)-    aConName = unLoc (head (getConNames con))+    aConName = unLoc (head (getConNamesI con))      fixity   = ppFixities fixities qual-    occ      = map (nameOccName . getName . unLoc) $ getConNames con+    occ      = map (nameOccName . getName . unLoc) $ getConNamesI con      ppOcc      = hsep (punctuate comma (map (ppBinder False) occ))     ppOccInfix = hsep (punctuate comma (map (ppBinderInfix False) occ))@@ -957,7 +950,7 @@                               , ppLType unicode qual HideEmptyContexts (getGADTConType con)                               , fixity                               ]-      XConDecl{} -> panic "haddock:ppSideBySideConstr"+      XConDecl nec -> noExtCon nec      fieldPart = case (con, getConArgs con) of         -- Record style GADTs@@ -986,11 +979,11 @@       ConDeclGADT{} ->         ppSubSigLike unicode qual (unLoc (getGADTConType con))                      argDocs subdocs (dcolon unicode) HideEmptyContexts-      XConDecl{} -> panic "haddock:doConstrArgsWithDocs"+      XConDecl nec -> noExtCon nec      -- don't use "con_doc con", in case it's reconstructed from a .hi file,     -- or also because we want Haddock to do the doc-parsing, not GHC.-    mbDoc = lookup (unLoc $ head $ getConNames con) subdocs >>=+    mbDoc = lookup (unLoc $ head $ getConNamesI con) subdocs >>=             combineDocumentation . fst  @@ -1005,7 +998,7 @@   where     ppForall       | null tvs || not forall_ = noHtml-      | otherwise = ppForAllPart unicode qual tvs+      | otherwise = ppForAllPart unicode qual tvs ForallInvis      ppCtxt       | null ctxt = noHtml@@ -1030,14 +1023,14 @@     -- don't use cd_fld_doc for same reason we don't use con_doc above     -- Where there is more than one name, they all have the same documentation     mbDoc = lookup (extFieldOcc $ unLoc $ head names) subdocs >>= combineDocumentation . fst-ppSideBySideField _ _ _ (XConDeclField _) = panic "haddock:ppSideBySideField"+ppSideBySideField _ _ _ (XConDeclField nec) = noExtCon nec   ppShortField :: Bool -> Unicode -> Qualification -> ConDeclField DocNameI -> Html ppShortField summary unicode qual (ConDeclField _ names ltype _)   = hsep (punctuate comma (map ((ppBinder summary) . rdrNameOcc . unLoc . rdrNameFieldOcc . unLoc) names))     <+> dcolon unicode <+> ppLType unicode qual HideEmptyContexts ltype-ppShortField _ _ _ (XConDeclField _) = panic "haddock:ppShortField"+ppShortField _ _ _ (XConDeclField nec) = noExtCon nec   -- | Pretty print an expanded pattern (for bundled patterns)@@ -1060,7 +1053,7 @@          | otherwise = hsep [ keyword "pattern"                             , ppOcc                             , dcolon unicode-                            , ppPatSigType unicode qual (hsSigType typ)+                            , ppPatSigType unicode qual (hsSigTypeI typ)                             , fixity                             ] @@ -1070,7 +1063,7 @@                                                         argDocs [] (dcolon unicode)                                                         emptyCtxt) ] -    patTy = hsSigType typ+    patTy = hsSigTypeI typ     emptyCtxt = patSigContext patTy  @@ -1144,7 +1137,7 @@ ppHsTyVarBndr unicode qual (KindedTyVar _ name kind) =     parens (ppDocName qual Raw False (unLoc name) <+> dcolon unicode <+>             ppLKind unicode qual kind)-ppHsTyVarBndr _ _ (XTyVarBndr _) = panic "haddock:ppHsTyVarBndr"+ppHsTyVarBndr _ _ (XTyVarBndr nec) = noExtCon nec  ppLKind :: Unicode -> Qualification -> LHsKind DocNameI -> Html ppLKind unicode qual y = ppKind unicode qual (unLoc y)@@ -1159,16 +1152,16 @@     hasNonEmptyContext :: LHsType name -> Bool     hasNonEmptyContext t =       case unLoc t of-        HsForAllTy _ _ s -> hasNonEmptyContext s-        HsQualTy _ cxt s -> if null (unLoc cxt) then hasNonEmptyContext s else True-        HsFunTy _ _ s    -> hasNonEmptyContext s+        HsForAllTy _ _ _ s -> hasNonEmptyContext s+        HsQualTy _ cxt s   -> if null (unLoc cxt) then hasNonEmptyContext s else True+        HsFunTy _ _ s      -> hasNonEmptyContext s         _ -> False     isFirstContextEmpty :: LHsType name -> Bool     isFirstContextEmpty t =       case unLoc t of-        HsForAllTy _ _ s -> isFirstContextEmpty s-        HsQualTy _ cxt _ -> null (unLoc cxt)-        HsFunTy _ _ s    -> isFirstContextEmpty s+        HsForAllTy _ _ _ s -> isFirstContextEmpty s+        HsQualTy _ cxt _   -> null (unLoc cxt)+        HsFunTy _ _ s      -> isFirstContextEmpty s         _ -> False  @@ -1178,16 +1171,22 @@ ppPatSigType unicode qual typ =   let emptyCtxts = patSigContext typ in ppLType unicode qual emptyCtxts typ -ppForAllPart :: Unicode -> Qualification -> [LHsTyVarBndr DocNameI] -> Html-ppForAllPart unicode qual tvs = hsep (forallSymbol unicode : ppTyVars unicode qual tvs) +++ dot +ppForAllPart :: Unicode -> Qualification -> [LHsTyVarBndr DocNameI] -> ForallVisFlag -> Html+ppForAllPart unicode qual tvs fvf = hsep (forallSymbol unicode : tvs') +++ fv+  where+    tvs' = ppTyVars unicode qual tvs+    fv = case fvf of+           ForallVis   -> spaceHtml +++ arrow unicode+           ForallInvis -> dot+ ppr_mono_lty :: LHsType DocNameI -> Unicode -> Qualification -> HideEmptyContexts -> Html ppr_mono_lty ty = ppr_mono_ty (unLoc ty)   ppr_mono_ty :: HsType DocNameI -> Unicode -> Qualification -> HideEmptyContexts -> Html-ppr_mono_ty (HsForAllTy _ tvs ty) unicode qual emptyCtxts-  = ppForAllPart unicode qual tvs <+> ppr_mono_lty ty unicode qual emptyCtxts+ppr_mono_ty (HsForAllTy _ fvf tvs ty) unicode qual emptyCtxts+  = ppForAllPart unicode qual tvs fvf <+> ppr_mono_lty ty unicode qual emptyCtxts  ppr_mono_ty (HsQualTy _ ctxt ty) unicode qual emptyCtxts   = ppLContext ctxt unicode qual emptyCtxts <+> ppr_mono_lty ty unicode qual emptyCtxts
haddock-api/src/Haddock/Backends/Xhtml/DocMarkup.hs view
@@ -19,7 +19,7 @@   docElement, docSection, docSection_, ) where -import Data.List+import Data.List (intersperse) import Documentation.Haddock.Markup import Haddock.Backends.Xhtml.Names import Haddock.Backends.Xhtml.Utils@@ -182,7 +182,7 @@       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_ "caption"+            col' = collapseControl id_ "subheading"             summary = thesummary ! [ theclass "hide-when-js-enabled" ] << "Expand"             instTable contents = collapseDetails id_ DetailsClosed (summary +++ contents)             lvs = zip [1 .. ] [h1, h2, h3, h4, h5, h6]
haddock-api/src/Haddock/Convert.hs view
@@ -28,7 +28,7 @@ import Data.Either (lefts, rights) import DataCon import FamInstEnv-import HsSyn+import GHC.Hs import Name import NameSet ( emptyNameSet ) import RdrName ( mkVarUnqual )@@ -44,7 +44,7 @@ import PrelNames ( hasKey, eqTyConKey, ipClassKey, tYPETyConKey                  , liftedRepDataConKey ) import Unique ( getUnique )-import Util ( chkAppend,dropList, filterByList, filterOut, splitAtList )+import Util ( chkAppend, dropList, filterByList, filterOut ) import Var import VarSet @@ -74,7 +74,7 @@   -- in a future code version we could turn idVarDetails = foreign-call   -- into a ForD instead of a SigD if we wanted.  Haddock doesn't   -- need to care.-  AnId i -> allOK $ SigD noExt (synifyIdSig prr ImplicitizeForAll [] i)+  AnId i -> allOK $ SigD noExtField (synifyIdSig prr ImplicitizeForAll [] i)    -- type-constructors (e.g. Maybe) are complicated, put the definition   -- later in the file (also it's used for class associated-types too.)@@ -85,19 +85,21 @@            extractFamilyDecl _           =              Left "tyThingToLHsDecl: impossible associated tycon" -           extractFamDefDecl :: FamilyDecl GhcRn -> Type -> TyFamDefltEqn GhcRn-           extractFamDefDecl fd rhs = FamEqn-             { feqn_ext = noExt+           extractFamDefDecl :: FamilyDecl GhcRn -> Type -> TyFamDefltDecl GhcRn+           extractFamDefDecl fd rhs =+             TyFamInstDecl $ HsIB { hsib_ext = hsq_ext (fdTyVars fd)+                                  , hsib_body = FamEqn+             { feqn_ext = noExtField              , feqn_tycon = fdLName fd-             , feqn_bndrs  = Nothing-                 -- TODO: this must change eventually-             , feqn_pats = fdTyVars fd+             , feqn_bndrs = Nothing+             , feqn_pats = map (HsValArg . hsLTyVarBndrToType) $+                           hsq_explicit $ fdTyVars fd              , feqn_fixity = fdFixity fd-             , feqn_rhs = synifyType WithinType [] rhs }+             , feqn_rhs = synifyType WithinType [] rhs }}             extractAtItem              :: ClassATItem-             -> Either ErrMsg (LFamilyDecl GhcRn, Maybe (LTyFamDefltEqn GhcRn))+             -> Either ErrMsg (LFamilyDecl GhcRn, Maybe (LTyFamDefltDecl GhcRn))            extractAtItem (ATI at_tc def) = do              tyDecl <- synifyTyCon prr Nothing at_tc              famDecl <- extractFamilyDecl tyDecl@@ -108,7 +110,7 @@            (atFamDecls, atDefFamDecls) = unzip (rights atTyClDecls)            vs = tyConVisibleTyVars (classTyCon cl) -       in withErrs (lefts atTyClDecls) . TyClD noExt $ ClassDecl+       in withErrs (lefts atTyClDecls) . TyClD noExtField $ ClassDecl          { tcdCtxt = synifyCtx (classSCTheta cl)          , tcdLName = synifyName cl          , tcdTyVars = synifyTyVars vs@@ -116,7 +118,7 @@          , tcdFDs = map (\ (l,r) -> noLoc                         (map (noLoc . getName) l, map (noLoc . getName) r) ) $                          snd $ classTvsFds cl-         , tcdSigs = noLoc (MinimalSig noExt NoSourceText . noLoc . fmap noLoc $ classMinimalDef cl) :+         , tcdSigs = noLoc (MinimalSig noExtField NoSourceText . noLoc . fmap noLoc $ classMinimalDef cl) :                       [ noLoc tcdSig                       | clsOp <- classOpItems cl                       , tcdSig <- synifyTcIdSig vs clsOp ]@@ -127,18 +129,18 @@          , tcdDocs = [] --we don't have any docs at this point          , tcdCExt = placeHolderNamesTc }     | otherwise-    -> synifyTyCon prr Nothing tc >>= allOK . TyClD noExt+    -> synifyTyCon prr Nothing tc >>= allOK . TyClD noExtField    -- type-constructors (e.g. Maybe) are complicated, put the definition   -- later in the file (also it's used for class associated-types too.)   ACoAxiom ax -> synifyAxiom ax >>= allOK    -- a data-constructor alone just gets rendered as a function:-  AConLike (RealDataCon dc) -> allOK $ SigD noExt (TypeSig noExt [synifyName dc]+  AConLike (RealDataCon dc) -> allOK $ SigD noExtField (TypeSig noExtField [synifyName dc]     (synifySigWcType ImplicitizeForAll [] (dataConUserType dc)))    AConLike (PatSynCon ps) ->-    allOK . SigD noExt $ PatSynSig noExt [synifyName ps] (synifyPatSynSigType ps)+    allOK . SigD noExtField $ PatSynSig noExtField [synifyName ps] (synifyPatSynSigType ps)   where     withErrs e x = return (e, x)     allOK x = return (mempty, x)@@ -151,7 +153,7 @@         annot_typats    = zipWith3 annotHsType args_poly args_types_only typats         hs_rhs          = synifyType WithinType [] rhs     in HsIB { hsib_ext = map tyVarName tkvs-            , hsib_body   = FamEqn { feqn_ext    = noExt+            , hsib_body   = FamEqn { feqn_ext    = noExtField                                    , feqn_tycon  = name                                    , feqn_bndrs  = Nothing                                        -- TODO: this must change eventually@@ -165,13 +167,13 @@ synifyAxiom ax@(CoAxiom { co_ax_tc = tc })   | isOpenTypeFamilyTyCon tc   , Just branch <- coAxiomSingleBranch_maybe ax-  = return $ InstD noExt-           $ TyFamInstD noExt+  = return $ InstD noExtField+           $ TyFamInstD noExtField            $ TyFamInstDecl { tfid_eqn = synifyAxBranch tc branch }    | Just ax' <- isClosedSynFamilyTyConWithAxiom_maybe tc   , getUnique ax' == getUnique ax   -- without the getUniques, type error-  = synifyTyCon ShowRuntimeRep (Just ax) tc >>= return . TyClD noExt+  = synifyTyCon ShowRuntimeRep (Just ax) tc >>= return . TyClD noExtField    | otherwise   = Left "synifyAxiom: closed/open family confusion"@@ -186,9 +188,7 @@   | isFunTyCon tc || isPrimTyCon tc   = return $     DataDecl { tcdLName = synifyName tc-             , tcdTyVars = HsQTvs { hsq_ext =-                                       HsQTvsRn { hsq_implicit = []   -- No kind polymorphism-                                                , hsq_dependent = emptyNameSet }+             , tcdTyVars = HsQTvs  { hsq_ext = []   -- No kind polymorphism                                    , hsq_explicit = zipWith mk_hs_tv                                                             tyVarKinds                                                             alphaTyVars --a, b, c... which are unfortunately all kind *@@ -196,7 +196,7 @@             , tcdFixity = synifyFixity tc -           , tcdDataDefn = HsDataDefn { dd_ext = noExt+           , tcdDataDefn = HsDataDefn { dd_ext = noExtField                                       , dd_ND = DataType  -- arbitrary lie, they are neither                                                     -- algebraic data nor newtype:                                       , dd_ctxt = noLoc []@@ -209,8 +209,8 @@   where     -- tyConTyVars doesn't work on fun/prim, but we can make them up:     mk_hs_tv realKind fakeTyVar-      | isLiftedTypeKind realKind = noLoc $ UserTyVar noExt (noLoc (getName fakeTyVar))-      | otherwise = noLoc $ KindedTyVar noExt (noLoc (getName fakeTyVar)) (synifyKindSig realKind)+      | isLiftedTypeKind realKind = noLoc $ UserTyVar noExtField (noLoc (getName fakeTyVar))+      | otherwise = noLoc $ KindedTyVar noExtField (noLoc (getName fakeTyVar)) (synifyKindSig realKind)      conKind = defaultType prr (tyConKind tc)     tyVarKinds = fst . splitFunTys . snd . splitPiTysInvisible $ conKind@@ -234,8 +234,8 @@         -> mkFamDecl DataFamily   where     resultVar = famTcResVar tc-    mkFamDecl i = return $ FamDecl noExt $-      FamilyDecl { fdExt = noExt+    mkFamDecl i = return $ FamDecl noExtField $+      FamilyDecl { fdExt = noExtField                  , fdInfo = i                  , fdLName = synifyName tc                  , fdTyVars = synifyTyVars (tyConVisibleTyVars tc)@@ -286,7 +286,7 @@   cons = rights consRaw   -- "deriving" doesn't affect the signature, no need to specify any.   alg_deriv = noLoc []-  defn = HsDataDefn { dd_ext     = noExt+  defn = HsDataDefn { dd_ext     = noExtField                     , dd_ND      = alg_nd                     , dd_ctxt    = alg_ctx                     , dd_cType   = Nothing@@ -331,10 +331,10 @@  synifyFamilyResultSig :: Maybe Name -> Kind -> LFamilyResultSig GhcRn synifyFamilyResultSig  Nothing    kind-   | isLiftedTypeKind kind = noLoc $ NoSig noExt-   | otherwise = noLoc $ KindSig  noExt (synifyKindSig kind)+   | isLiftedTypeKind kind = noLoc $ NoSig noExtField+   | otherwise = noLoc $ KindSig  noExtField (synifyKindSig kind) synifyFamilyResultSig (Just name) kind =-   noLoc $ TyVarSig noExt (noLoc $ KindedTyVar noExt (noLoc name) (synifyKindSig kind))+   noLoc $ TyVarSig noExtField (noLoc $ KindedTyVar noExtField (noLoc name) (synifyKindSig kind))  -- User beware: it is your responsibility to pass True (use_gadt_syntax) -- for any constructor that would be misrepresented by omitting its@@ -362,12 +362,12 @@                let tySyn = synifyType WithinType [] ty                in case bang of                     (HsSrcBang _ NoSrcUnpack NoSrcStrict) -> tySyn-                    bang' -> noLoc $ HsBangTy noExt bang' tySyn)+                    bang' -> noLoc $ HsBangTy noExtField bang' tySyn)             arg_tys (dataConSrcBangs dc)    field_tys = zipWith con_decl_field (dataConFieldLabels dc) linear_tys   con_decl_field fl synTy = noLoc $-    ConDeclField noExt [noLoc $ FieldOcc (flSelector fl) (noLoc $ mkVarUnqual $ flLabel fl)] synTy+    ConDeclField noExtField [noLoc $ FieldOcc (flSelector fl) (noLoc $ mkVarUnqual $ flLabel fl)] synTy                  Nothing   hs_arg_tys = case (use_named_field_syntax, use_infix_syntax) of           (True,True) -> Left "synifyDataCon: contradiction!"@@ -381,7 +381,7 @@       \hat ->         if use_gadt_syntax            then return $ noLoc $-              ConDeclGADT { con_g_ext  = noExt+              ConDeclGADT { con_g_ext  = noExtField                           , con_names  = [name]                           , con_forall = noLoc $ not $ null user_tvs                           , con_qvars  = synifyTyVars user_tvs@@ -390,7 +390,7 @@                           , con_res_ty = synifyType WithinType [] res_ty                           , con_doc    = Nothing }            else return $ noLoc $-              ConDeclH98 { con_ext    = noExt+              ConDeclH98 { con_ext    = noExtField                          , con_name   = name                          , con_forall = noLoc False                          , con_ex_tvs = map synifyTyVar ex_tvs@@ -414,7 +414,7 @@   -> [TyVar]          -- ^ free variables in the type to convert   -> Id               -- ^ the 'Id' from which to get the type signature   -> Sig GhcRn-synifyIdSig prr s vs i = TypeSig noExt [synifyName i] (synifySigWcType s vs t)+synifyIdSig prr s vs i = TypeSig noExtField [synifyName i] (synifySigWcType s vs t)   where     t = defaultType prr (varType i) @@ -423,8 +423,8 @@ -- 'ClassOpSig'. synifyTcIdSig :: [TyVar] -> ClassOpItem -> [Sig GhcRn] synifyTcIdSig vs (i, dm) =-  [ ClassOpSig noExt False [synifyName i] (mainSig (varType i)) ] ++-  [ ClassOpSig noExt True [noLoc dn] (defSig dt)+  [ ClassOpSig noExtField False [synifyName i] (mainSig (varType i)) ] +++  [ ClassOpSig noExtField True [noLoc dn] (defSig dt)   | Just (dn, GenericDM dt) <- [dm] ]   where     mainSig t = synifySigType DeleteTopLevelQuantification vs t@@ -435,8 +435,7 @@   synifyTyVars :: [TyVar] -> LHsQTyVars GhcRn-synifyTyVars ktvs = HsQTvs { hsq_ext = HsQTvsRn { hsq_implicit = []-                                                , hsq_dependent = emptyNameSet }+synifyTyVars ktvs = HsQTvs { hsq_ext = []                            , hsq_explicit = map synifyTyVar ktvs }  synifyTyVar :: TyVar -> LHsTyVarBndr GhcRn@@ -447,8 +446,8 @@ synifyTyVar' :: VarSet -> TyVar -> LHsTyVarBndr GhcRn synifyTyVar' no_kinds tv   | isLiftedTypeKind kind || tv `elemVarSet` no_kinds-  = noLoc (UserTyVar noExt (noLoc name))-  | otherwise = noLoc (KindedTyVar noExt (noLoc name) (synifyKindSig kind))+  = noLoc (UserTyVar noExtField (noLoc name))+  | otherwise = noLoc (KindedTyVar noExtField (noLoc name) (synifyKindSig kind))   where     kind = tyVarKind tv     name = getName tv@@ -466,7 +465,7 @@   | not $ isEmptyVarSet $ filterVarSet isTyVar $ tyCoVarsOfType ty   = let ki    = typeKind ty         hs_ki = synifyType WithinType [] ki-    in noLoc (HsKindSig noExt hs_ty hs_ki)+    in noLoc (HsKindSig noExtField hs_ty hs_ki) annotHsType _    _ hs_ty = hs_ty  -- | For every argument type that a type constructor accepts,@@ -532,7 +531,7 @@   -> [TyVar]          -- ^ free variables in the type to convert   -> Type             -- ^ the type to convert   -> LHsType GhcRn-synifyType _ _ (TyVarTy tv) = noLoc $ HsTyVar noExt NotPromoted $ noLoc (getName tv)+synifyType _ _ (TyVarTy tv) = noLoc $ HsTyVar noExtField NotPromoted $ noLoc (getName tv) synifyType _ vs (TyConApp tc tys)   = maybe_sig res_ty   where@@ -542,62 +541,62 @@       | tc `hasKey` tYPETyConKey       , [TyConApp lev []] <- tys       , lev `hasKey` liftedRepDataConKey-      = noLoc (HsTyVar noExt NotPromoted (noLoc liftedTypeKindTyConName))+      = noLoc (HsTyVar noExtField NotPromoted (noLoc liftedTypeKindTyConName))       -- Use non-prefix tuple syntax where possible, because it looks nicer.       | Just sort <- tyConTuple_maybe tc       , tyConArity tc == tys_len-      = noLoc $ HsTupleTy noExt+      = noLoc $ HsTupleTy noExtField                           (case sort of                               BoxedTuple      -> HsBoxedTuple                               ConstraintTuple -> HsConstraintTuple                               UnboxedTuple    -> HsUnboxedTuple)                            (map (synifyType WithinType vs) vis_tys)-      | isUnboxedSumTyCon tc = noLoc $ HsSumTy noExt (map (synifyType WithinType vs) vis_tys)+      | isUnboxedSumTyCon tc = noLoc $ HsSumTy noExtField (map (synifyType WithinType vs) vis_tys)       | Just dc <- isPromotedDataCon_maybe tc       , isTupleDataCon dc       , dataConSourceArity dc == length vis_tys-      = noLoc $ HsExplicitTupleTy noExt (map (synifyType WithinType vs) vis_tys)+      = noLoc $ HsExplicitTupleTy noExtField (map (synifyType WithinType vs) vis_tys)       -- ditto for lists       | getName tc == listTyConName, [ty] <- vis_tys =-         noLoc $ HsListTy noExt (synifyType WithinType vs ty)+         noLoc $ HsListTy noExtField (synifyType WithinType vs ty)       | tc == promotedNilDataCon, [] <- vis_tys-      = noLoc $ HsExplicitListTy noExt IsPromoted []+      = noLoc $ HsExplicitListTy noExtField IsPromoted []       | tc == promotedConsDataCon       , [ty1, ty2] <- vis_tys       = let hTy = synifyType WithinType vs ty1         in case synifyType WithinType vs ty2 of              tTy | L _ (HsExplicitListTy _ IsPromoted tTy') <- stripKindSig tTy-                 -> noLoc $ HsExplicitListTy noExt IsPromoted (hTy : tTy')+                 -> noLoc $ HsExplicitListTy noExtField IsPromoted (hTy : tTy')                  | otherwise-                 -> noLoc $ HsOpTy noExt hTy (noLoc $ getName tc) tTy+                 -> noLoc $ HsOpTy noExtField hTy (noLoc $ getName tc) tTy       -- ditto for implicit parameter tycons       | tc `hasKey` ipClassKey       , [name, ty] <- tys       , Just x <- isStrLitTy name-      = noLoc $ HsIParamTy noExt (noLoc $ HsIPName x) (synifyType WithinType vs ty)+      = noLoc $ HsIParamTy noExtField (noLoc $ HsIPName x) (synifyType WithinType vs ty)       -- and equalities       | tc `hasKey` eqTyConKey       , [ty1, ty2] <- tys-      = noLoc $ HsOpTy noExt+      = noLoc $ HsOpTy noExtField                        (synifyType WithinType vs ty1)                        (noLoc eqTyConName)                        (synifyType WithinType vs ty2)       -- and infix type operators       | isSymOcc (nameOccName (getName tc))       , ty1:ty2:tys_rest <- vis_tys-      = mk_app_tys (HsOpTy noExt+      = mk_app_tys (HsOpTy noExtField                            (synifyType WithinType vs ty1)                            (noLoc $ getName tc)                            (synifyType WithinType vs ty2))                    tys_rest       -- Most TyCons:       | otherwise-      = mk_app_tys (HsTyVar noExt prom $ noLoc (getName tc))+      = mk_app_tys (HsTyVar noExtField prom $ noLoc (getName tc))                    vis_tys       where         prom = if isPromotedDataCon tc then IsPromoted else NotPromoted         mk_app_tys ty_app ty_args =-          foldl (\t1 t2 -> noLoc $ HsAppTy noExt t1 t2)+          foldl (\t1 t2 -> noLoc $ HsAppTy noExtField t1 t2)                 (noLoc ty_app)                 (map (synifyType WithinType vs) $                  filterOut isCoercionTy ty_args)@@ -610,22 +609,23 @@       | tyConAppNeedsKindSig False tc tys_len       = let full_kind  = typeKind (mkTyConApp tc tys)             full_kind' = synifyType WithinType vs full_kind-        in noLoc $ HsKindSig noExt ty' full_kind'+        in noLoc $ HsKindSig noExtField ty' full_kind'       | otherwise = ty'  synifyType s vs (AppTy t1 (CoercionTy {})) = synifyType s vs t1 synifyType _ vs (AppTy t1 t2) = let   s1 = synifyType WithinType vs t1   s2 = synifyType WithinType vs t2-  in noLoc $ HsAppTy noExt s1 s2-synifyType s vs funty@(FunTy t1 t2)-  | isPredTy t1 = synifyForAllType s vs funty-  | otherwise = let s1 = synifyType WithinType vs t1-                    s2 = synifyType WithinType vs t2-                in noLoc $ HsFunTy noExt s1 s2-synifyType s vs forallty@(ForAllTy _tv _ty) = synifyForAllType s vs forallty+  in noLoc $ HsAppTy noExtField s1 s2+synifyType s vs funty@(FunTy InvisArg _ _) = synifyForAllType s Inferred vs funty+synifyType _ vs       (FunTy VisArg t1 t2) = let+  s1 = synifyType WithinType vs t1+  s2 = synifyType WithinType vs t2+  in noLoc $ HsFunTy noExtField s1 s2+synifyType s vs forallty@(ForAllTy (Bndr _ argf) _ty) =+  synifyForAllType s argf vs forallty -synifyType _ _ (LitTy t) = noLoc $ HsTyLit noExt $ synifyTyLit t+synifyType _ _ (LitTy t) = noLoc $ HsTyLit noExtField $ synifyTyLit t synifyType s vs (CastTy t _) = synifyType s vs t synifyType _ _ (CoercionTy {}) = error "synifyType:Coercion" @@ -633,17 +633,19 @@ -- an 'HsType' synifyForAllType   :: SynifyTypeState  -- ^ what to do with the 'forall'+  -> ArgFlag          -- ^ the visibility of the @forall@   -> [TyVar]          -- ^ free variables in the type to convert   -> Type             -- ^ the forall type to convert   -> LHsType GhcRn-synifyForAllType s vs ty =-  let (tvs, ctx, tau) = tcSplitSigmaTyPreserveSynonyms ty+synifyForAllType s argf vs ty =+  let (tvs, ctx, tau) = tcSplitSigmaTySameVisPreserveSynonyms argf ty       sPhi = HsQualTy { hst_ctxt = synifyCtx ctx-                      , hst_xqual = noExt+                      , hst_xqual = noExtField                       , hst_body = synifyType WithinType (tvs' ++ vs) tau } -      sTy = HsForAllTy { hst_bndrs = sTvs-                       , hst_xforall = noExt+      sTy = HsForAllTy { hst_fvf = argToForallVisFlag argf+                       , hst_bndrs = sTvs+                       , hst_xforall = noExtField                        , hst_body  = noLoc sPhi }        sTvs = map synifyTyVar tvs@@ -683,10 +685,11 @@   sPhi | null ctx = unLoc sRho        | otherwise        = HsQualTy { hst_ctxt = synifyCtx ctx-                  , hst_xqual = noExt+                  , hst_xqual = noExtField                   , hst_body = synInner (tvs' ++ vs) tau }-  sTy = HsForAllTy { hst_bndrs = sTvs-                   , hst_xforall = noExt+  sTy = HsForAllTy { hst_fvf = ForallInvis+                   , hst_bndrs = sTvs+                   , hst_xforall = noExtField                    , hst_body = noLoc sPhi }    no_kinds_needed = noKindTyVars tycons tau@@ -728,7 +731,7 @@                  _ -> noKindTyVars ts f     in unionVarSets (func : args) noKindTyVars ts (ForAllTy _ t) = noKindTyVars ts t-noKindTyVars ts (FunTy t1 t2) = noKindTyVars ts t1 `unionVarSet` noKindTyVars ts t2+noKindTyVars ts (FunTy _ t1 t2) = noKindTyVars ts t1 `unionVarSet` noKindTyVars ts t2 noKindTyVars ts (CastTy t _) = noKindTyVars ts t noKindTyVars _ _ = emptyVarSet @@ -747,7 +750,7 @@    in implicitForAll ts [] (univ_tvs ++ ex_tvs) req_theta'        (\vs -> implicitForAll ts vs [] prov_theta (synifyType WithinType))-       (mkFunTys arg_tys res_ty)+       (mkVisFunTys arg_tys res_ty)  synifyTyLit :: TyLit -> HsTyLit synifyTyLit (NumTyLit n) = HsNumTy NoSourceText n@@ -833,21 +836,22 @@ invariant didn't hold. -} --- | A version of 'TcType.tcSplitSigmaTy' that preserves type synonyms.+-- | A version of 'TcType.tcSplitSigmaTySameVis' that preserves type synonyms. -- -- See Note [Invariant: Never expand type synonyms]-tcSplitSigmaTyPreserveSynonyms :: Type -> ([TyVar], ThetaType, Type)-tcSplitSigmaTyPreserveSynonyms ty =-    case tcSplitForAllTysPreserveSynonyms ty of+tcSplitSigmaTySameVisPreserveSynonyms :: ArgFlag -> Type -> ([TyVar], ThetaType, Type)+tcSplitSigmaTySameVisPreserveSynonyms argf ty =+    case tcSplitForAllTysSameVisPreserveSynonyms argf ty of       (tvs, rho) -> case tcSplitPhiTyPreserveSynonyms rho of         (theta, tau) -> (tvs, theta, tau)  -- | See Note [Invariant: Never expand type synonyms]-tcSplitForAllTysPreserveSynonyms :: Type -> ([TyVar], Type)-tcSplitForAllTysPreserveSynonyms ty = split ty ty []+tcSplitForAllTysSameVisPreserveSynonyms :: ArgFlag -> Type -> ([TyVar], Type)+tcSplitForAllTysSameVisPreserveSynonyms supplied_argf ty = split ty ty []   where-    split _       (ForAllTy (Bndr tv _) ty') tvs = split ty' ty' (tv:tvs)-    split orig_ty _                          tvs = (reverse tvs, orig_ty)+    split _       (ForAllTy (Bndr tv argf) ty') tvs+      | argf `sameVis` supplied_argf                = split ty' ty' (tv:tvs)+    split orig_ty _                             tvs = (reverse tvs, orig_ty)  -- | See Note [Invariant: Never expand type synonyms] tcSplitPhiTyPreserveSynonyms :: Type -> (ThetaType, Type)@@ -860,7 +864,5 @@  -- | See Note [Invariant: Never expand type synonyms] tcSplitPredFunTyPreserveSynonyms_maybe :: Type -> Maybe (PredType, Type)-tcSplitPredFunTyPreserveSynonyms_maybe (FunTy arg res)-  | isPredTy arg = Just (arg, res)-tcSplitPredFunTyPreserveSynonyms_maybe _-  = Nothing+tcSplitPredFunTyPreserveSynonyms_maybe (FunTy InvisArg arg res) = Just (arg, res)+tcSplitPredFunTyPreserveSynonyms_maybe _ = Nothing
haddock-api/src/Haddock/GhcUtils.hs view
@@ -21,7 +21,7 @@ import Control.Arrow import Data.Char ( isSpace ) -import Haddock.Types( DocNameI )+import Haddock.Types( DocName, DocNameI )  import Exception import FV@@ -38,7 +38,8 @@                    isInvisibleArgFlag ) import VarSet    ( VarSet, emptyVarSet ) import VarEnv    ( TyVarEnv, extendVarEnv, elemVarEnv, emptyVarEnv )-import TyCoRep   ( Type(..), isRuntimeRepVar )+import TyCoRep   ( Type(..) )+import Type      ( isRuntimeRepVar ) import TysWiredIn( liftedRepDataConTyCon )  import           StringBuffer ( StringBuffer )@@ -48,7 +49,6 @@ import qualified Data.ByteString          as BS import qualified Data.ByteString.Internal as BS - moduleString :: Module -> String moduleString = moduleNameString . moduleName @@ -70,7 +70,7 @@ -- Extract the source location where an instance is defined. This is used -- to correlate InstDecls with their Instance/CoAxiom Names, via the -- instanceMap.-getInstLoc :: InstDecl name -> SrcSpan+getInstLoc :: InstDecl (GhcPass p) -> SrcSpan getInstLoc (ClsInstD _ (ClsInstDecl { cid_poly_ty = ty })) = getLoc (hsSigType ty) getInstLoc (DataFamInstD _ (DataFamInstDecl   { dfid_eqn = HsIB { hsib_body = FamEqn { feqn_tycon = L l _ }}})) = l@@ -79,12 +79,12 @@   -- in particular, we need to dig a bit deeper to pull out the entire   -- equation. This does not happen for data family instances, for some reason.   { tfid_eqn = HsIB { hsib_body = FamEqn { feqn_rhs = L l _ }}})) = l-getInstLoc (ClsInstD _ (XClsInstDecl _)) = panic "getInstLoc"-getInstLoc (DataFamInstD _ (DataFamInstDecl (HsIB _ (XFamEqn _)))) = panic "getInstLoc"-getInstLoc (TyFamInstD _ (TyFamInstDecl (HsIB _ (XFamEqn _)))) = panic "getInstLoc"-getInstLoc (XInstDecl _) = panic "getInstLoc"-getInstLoc (DataFamInstD _ (DataFamInstDecl (XHsImplicitBndrs _))) = panic "getInstLoc"-getInstLoc (TyFamInstD _ (TyFamInstDecl (XHsImplicitBndrs _))) = panic "getInstLoc"+getInstLoc (ClsInstD _ (XClsInstDecl nec)) = noExtCon nec+getInstLoc (DataFamInstD _ (DataFamInstDecl (HsIB _ (XFamEqn nec)))) = noExtCon nec+getInstLoc (TyFamInstD _ (TyFamInstDecl (HsIB _ (XFamEqn nec)))) = noExtCon nec+getInstLoc (XInstDecl nec) = noExtCon nec+getInstLoc (DataFamInstD _ (DataFamInstDecl (XHsImplicitBndrs nec))) = noExtCon nec+getInstLoc (TyFamInstD _ (TyFamInstDecl (XHsImplicitBndrs nec))) = noExtCon nec   @@ -101,20 +101,20 @@ filterSigNames p (FixSig _ (FixitySig _ ns ty)) =   case filter (p . unLoc) ns of     []       -> Nothing-    filtered -> Just (FixSig noExt (FixitySig noExt filtered ty))+    filtered -> Just (FixSig noExtField (FixitySig noExtField filtered ty)) filterSigNames _ orig@(MinimalSig _ _ _)      = Just orig filterSigNames p (TypeSig _ ns ty) =   case filter (p . unLoc) ns of     []       -> Nothing-    filtered -> Just (TypeSig noExt filtered ty)+    filtered -> Just (TypeSig noExtField filtered ty) filterSigNames p (ClassOpSig _ is_default ns ty) =   case filter (p . unLoc) ns of     []       -> Nothing-    filtered -> Just (ClassOpSig noExt is_default filtered ty)+    filtered -> Just (ClassOpSig noExtField is_default filtered ty) filterSigNames p (PatSynSig _ ns ty) =   case filter (p . unLoc) ns of     []       -> Nothing-    filtered -> Just (PatSynSig noExt filtered ty)+    filtered -> Just (PatSynSig noExtField filtered ty) filterSigNames _ _                             = Nothing  ifTrueJust :: Bool -> name -> Maybe name@@ -135,10 +135,10 @@  -- | Was this signature given by the user? isUserLSig :: LSig name -> Bool-isUserLSig (L _(TypeSig {}))    = True-isUserLSig (L _(ClassOpSig {})) = True-isUserLSig (L _(PatSynSig {}))  = True-isUserLSig _                    = False+isUserLSig (L _ (TypeSig {}))    = True+isUserLSig (L _ (ClassOpSig {})) = True+isUserLSig (L _ (PatSynSig {}))  = True+isUserLSig _                     = False   isClassD :: HsDecl a -> Bool@@ -165,9 +165,29 @@  -- --------------------------------------------------------------------- --- This function is duplicated as getGADTConType and getGADTConTypeG,--- as I can't get the types to line up otherwise. AZ.+-- These functions are duplicated from the GHC API, as they must be+-- instantiated at DocNameI instead of (GhcPass _). +hsTyVarNameI :: HsTyVarBndr DocNameI -> DocName+hsTyVarNameI (UserTyVar _ (L _ n))     = n+hsTyVarNameI (KindedTyVar _ (L _ n) _) = n+hsTyVarNameI (XTyVarBndr nec) = noExtCon nec++hsLTyVarNameI :: LHsTyVarBndr DocNameI -> DocName+hsLTyVarNameI = hsTyVarNameI . unLoc++getConNamesI :: ConDecl DocNameI -> [Located DocName]+getConNamesI ConDeclH98  {con_name  = name}  = [name]+getConNamesI ConDeclGADT {con_names = names} = names+getConNamesI (XConDecl nec) = noExtCon nec++hsImplicitBodyI :: HsImplicitBndrs DocNameI thing -> thing+hsImplicitBodyI (HsIB { hsib_body = body }) = body+hsImplicitBodyI (XHsImplicitBndrs nec) = noExtCon nec++hsSigTypeI :: LHsSigType DocNameI -> LHsType DocNameI+hsSigTypeI = hsImplicitBodyI+ getGADTConType :: ConDecl DocNameI -> LHsType DocNameI -- The full type of a GADT data constructor We really only get this in -- order to pretty-print it, and currently only in Haddock's code.  So@@ -177,26 +197,27 @@                             , con_qvars = qtvs                             , con_mb_cxt = mcxt, con_args = args                             , con_res_ty = res_ty })- | has_forall = noLoc (HsForAllTy { hst_xforall = NoExt+ | has_forall = noLoc (HsForAllTy { hst_fvf = ForallInvis+                                  , hst_xforall = noExtField                                   , hst_bndrs = hsQTvExplicit qtvs                                   , hst_body  = theta_ty })  | otherwise  = theta_ty  where    theta_ty | Just theta <- mcxt-            = noLoc (HsQualTy { hst_xqual = NoExt, hst_ctxt = theta, hst_body = tau_ty })+            = noLoc (HsQualTy { hst_xqual = noExtField, hst_ctxt = theta, hst_body = tau_ty })             | otherwise             = tau_ty     tau_ty = case args of-              RecCon flds -> noLoc (HsFunTy noExt (noLoc (HsRecTy noExt (unLoc flds))) res_ty)+              RecCon flds -> noLoc (HsFunTy noExtField (noLoc (HsRecTy noExtField (unLoc flds))) res_ty)               PrefixCon pos_args -> foldr mkFunTy res_ty pos_args               InfixCon arg1 arg2 -> arg1 `mkFunTy` (arg2 `mkFunTy` res_ty) -   mkFunTy a b = noLoc (HsFunTy noExt a b)+   mkFunTy a b = noLoc (HsFunTy noExtField a b)  getGADTConType (ConDeclH98 {}) = panic "getGADTConType"   -- Should only be called on ConDeclGADT-getGADTConType (XConDecl {}) = panic "getGADTConType"+getGADTConType (XConDecl nec) = noExtCon nec  -- ------------------------------------- @@ -209,26 +230,27 @@                             , con_qvars = qtvs                             , con_mb_cxt = mcxt, con_args = args                             , con_res_ty = res_ty })- | has_forall = noLoc (HsForAllTy { hst_xforall = NoExt+ | has_forall = noLoc (HsForAllTy { hst_fvf = ForallInvis+                                  , hst_xforall = noExtField                                   , hst_bndrs = hsQTvExplicit qtvs                                   , hst_body  = theta_ty })  | otherwise  = theta_ty  where    theta_ty | Just theta <- mcxt-            = noLoc (HsQualTy { hst_xqual = NoExt, hst_ctxt = theta, hst_body = tau_ty })+            = noLoc (HsQualTy { hst_xqual = noExtField, hst_ctxt = theta, hst_body = tau_ty })             | otherwise             = tau_ty     tau_ty = case args of-              RecCon flds -> noLoc (HsFunTy noExt (noLoc (HsRecTy noExt (unLoc flds))) res_ty)+              RecCon flds -> noLoc (HsFunTy noExtField (noLoc (HsRecTy noExtField (unLoc flds))) res_ty)               PrefixCon pos_args -> foldr mkFunTy res_ty pos_args               InfixCon arg1 arg2 -> arg1 `mkFunTy` (arg2 `mkFunTy` res_ty) -   mkFunTy a b = noLoc (HsFunTy noExt a b)+   mkFunTy a b = noLoc (HsFunTy noExtField a b)  getGADTConTypeG (ConDeclH98 {}) = panic "getGADTConTypeG"   -- Should only be called on ConDeclGADT-getGADTConTypeG (XConDecl {}) = panic "getGADTConTypeG"+getGADTConTypeG (XConDecl nec) = noExtCon nec   -------------------------------------------------------------------------------@@ -258,12 +280,12 @@ -- -- We cannot add parens that may be required by fixities because we do not have -- any fixity information to work with in the first place :(.-reparenTypePrec :: (XParTy a ~ NoExt) => Precedence -> HsType a -> HsType a+reparenTypePrec :: (XParTy a ~ NoExtField) => Precedence -> HsType a -> HsType a reparenTypePrec = go   where    -- Shorter name for 'reparenType'-  go :: (XParTy a ~ NoExt) => Precedence -> HsType a -> HsType a+  go :: (XParTy a ~ NoExtField) => Precedence -> HsType a -> HsType a   go _ (HsBangTy x b ty)     = HsBangTy x b (reparenLType ty)   go _ (HsTupleTy x con tys) = HsTupleTy x con (map reparenLType tys)   go _ (HsSumTy x tys)       = HsSumTy x (map reparenLType tys)@@ -276,8 +298,8 @@     = paren p PREC_SIG $ HsKindSig x (goL PREC_SIG ty) (goL PREC_SIG kind)   go p (HsIParamTy x n ty)     = paren p PREC_SIG $ HsIParamTy x n (reparenLType ty)-  go p (HsForAllTy x tvs ty)-    = paren p PREC_CTX $ HsForAllTy x (map (fmap reparenTyVar) tvs) (reparenLType ty)+  go p (HsForAllTy x fvf tvs ty)+    = paren p PREC_CTX $ HsForAllTy x fvf (map (fmap reparenTyVar) tvs) (reparenLType ty)   go p (HsQualTy x ctxt ty)     = let p' [_] = PREC_CTX           p' _   = PREC_TOP -- parens will get added anyways later...@@ -299,34 +321,34 @@   go _ t@XHsType{} = t    -- Located variant of 'go'-  goL :: (XParTy a ~ NoExt) => Precedence -> LHsType a -> LHsType a+  goL :: (XParTy a ~ NoExtField) => Precedence -> LHsType a -> LHsType a   goL ctxt_prec = fmap (go ctxt_prec)    -- Optionally wrap a type in parens-  paren :: (XParTy a ~ NoExt)+  paren :: (XParTy a ~ NoExtField)         => Precedence            -- Precedence of context         -> Precedence            -- Precedence of top-level operator         -> HsType a -> HsType a  -- Wrap in parens if (ctxt >= op)-  paren ctxt_prec op_prec | ctxt_prec >= op_prec = HsParTy NoExt . noLoc+  paren ctxt_prec op_prec | ctxt_prec >= op_prec = HsParTy noExtField . noLoc                           | otherwise            = id   -- | Add parenthesis around the types in a 'HsType' (see 'reparenTypePrec')-reparenType :: (XParTy a ~ NoExt) => HsType a -> HsType a+reparenType :: (XParTy a ~ NoExtField) => HsType a -> HsType a reparenType = reparenTypePrec PREC_TOP  -- | Add parenthesis around the types in a 'LHsType' (see 'reparenTypePrec')-reparenLType :: (XParTy a ~ NoExt) => LHsType a -> LHsType a+reparenLType :: (XParTy a ~ NoExtField) => LHsType a -> LHsType a reparenLType = fmap reparenType  -- | Add parenthesis around the types in a 'HsTyVarBndr' (see 'reparenTypePrec')-reparenTyVar :: (XParTy a ~ NoExt) => HsTyVarBndr a -> HsTyVarBndr a+reparenTyVar :: (XParTy a ~ NoExtField) => HsTyVarBndr a -> HsTyVarBndr a reparenTyVar (UserTyVar x n) = UserTyVar x n reparenTyVar (KindedTyVar x n kind) = KindedTyVar x n (reparenLType kind) reparenTyVar v@XTyVarBndr{} = v  -- | Add parenthesis around the types in a 'ConDeclField' (see 'reparenTypePrec')-reparenConDeclField :: (XParTy a ~ NoExt) => ConDeclField a -> ConDeclField a+reparenConDeclField :: (XParTy a ~ NoExtField) => ConDeclField a -> ConDeclField a reparenConDeclField (ConDeclField x n t d) = ConDeclField x n (reparenLType t) d reparenConDeclField c@XConDeclField{} = c @@ -568,7 +590,7 @@ -- | Get free type variables in a 'Type' in their order of appearance. -- See [Ordering of implicit variables]. orderedFVs-  :: VarSet  -- ^ free variables to ignore +  :: VarSet  -- ^ free variables to ignore   -> [Type]  -- ^ types to traverse (in order) looking for free variables   -> [TyVar] -- ^ free type variables, in the order they appear in orderedFVs vs tys =@@ -582,7 +604,7 @@ -- For example, 'tyCoVarsOfTypeList' reports an incorrect order for the type -- of 'const :: a -> b -> a': ----- >>> import Name +-- >>> import Name -- >>> import TyCoRep -- >>> import TysPrim -- >>> import Var@@ -604,7 +626,7 @@ tyCoFVsOfType' (TyConApp _ tys)   a b c = tyCoFVsOfTypes' tys a b c tyCoFVsOfType' (LitTy {})         a b c = emptyFV a b c tyCoFVsOfType' (AppTy fun arg)    a b c = (tyCoFVsOfType' arg `unionFV` tyCoFVsOfType' fun) a b c-tyCoFVsOfType' (FunTy arg res)    a b c = (tyCoFVsOfType' res `unionFV` tyCoFVsOfType' arg) a b c+tyCoFVsOfType' (FunTy _ arg res)  a b c = (tyCoFVsOfType' res `unionFV` tyCoFVsOfType' arg) a b c tyCoFVsOfType' (ForAllTy bndr ty) a b c = tyCoFVsBndr' bndr (tyCoFVsOfType' ty)  a b c tyCoFVsOfType' (CastTy ty _)      a b c = (tyCoFVsOfType' ty) a b c tyCoFVsOfType' (CoercionTy _ )    a b c = emptyFV a b c@@ -650,8 +672,8 @@     go subs (TyConApp tc tc_args)       = TyConApp tc (map (go subs) tc_args) -    go subs (FunTy arg res)-      = FunTy (go subs arg) (go subs res)+    go subs (FunTy af arg res)+      = FunTy af (go subs arg) (go subs res)      go subs (AppTy t u)       = AppTy (go subs t) (go subs u)
haddock-api/src/Haddock/Interface.hs view
@@ -44,7 +44,7 @@  import Control.Monad import Control.Exception (evaluate)-import Data.List+import Data.List (foldl', isPrefixOf, nub) import qualified Data.Map as Map import qualified Data.Set as Set import Text.Printf@@ -59,7 +59,7 @@ import Name (nameIsFromExternalPackage, nameOccName) import OccName (isTcOcc) import RdrName (unQualOK, gre_name, globalRdrEnvElts)-import ErrUtils (withTiming)+import ErrUtils (withTimingD) import DynamicLoading (initializePlugins)  #if defined(mingw32_HOST_OS)@@ -96,7 +96,7 @@       mods = Set.fromList $ map ifaceMod interfaces   out verbosity verbose "Attaching instances..."   interfaces' <- {-# SCC attachInstances #-}-                 withTiming getDynFlags "attachInstances" (const ()) $ do+                 withTimingD "attachInstances" (const ()) $ do                    attachInstances (exportedNames, mods) interfaces instIfaceMap ms    out verbosity verbose "Building cross-linking environment..."@@ -136,7 +136,7 @@   where     f (ifaces, ifaceMap, !ms) modSummary = do       x <- {-# SCC processModule #-}-           withTiming getDynFlags "processModule" (const ()) $ do+           withTimingD "processModule" (const ()) $ do              processModule verbosity modSummary flags ifaceMap instIfaceMap       return $ case x of         Just (iface, ms') -> ( iface:ifaces@@ -161,7 +161,7 @@   if not $ isBootSummary modsum then do     out verbosity verbose "Creating interface..."     (interface, msgs) <- {-# SCC createIterface #-}-                        withTiming getDynFlags "createInterface" (const ()) $ do+                        withTimingD "createInterface" (const ()) $ do                           runWriterGhc $ createInterface tm flags modMap instIfaceMap      -- We need to keep track of which modules were somehow in scope so that when
haddock-api/src/Haddock/Interface/AttachInstances.hs view
@@ -21,7 +21,7 @@  import Control.Applicative ((<|>)) import Control.Arrow hiding ((<+>))-import Data.List+import Data.List (sortBy) import Data.Ord (comparing) import Data.Maybe ( maybeToList, mapMaybe, fromMaybe ) import qualified Data.Map as Map@@ -194,13 +194,13 @@ argCount :: Type -> Int argCount (AppTy t _)     = argCount t + 1 argCount (TyConApp _ ts) = length ts-argCount (FunTy _ _ )    = 2+argCount (FunTy _ _ _)   = 2 argCount (ForAllTy _ t)  = argCount t argCount (CastTy t _)    = argCount t argCount _ = 0  simplify :: Type -> SimpleType-simplify (FunTy t1 t2)  = SimpleType funTyConName [simplify t1, simplify t2]+simplify (FunTy _ t1 t2) = SimpleType funTyConName [simplify t1, simplify t2] simplify (ForAllTy _ t) = simplify t simplify (AppTy t1 t2) = SimpleType s (ts ++ maybeToList (simplify_maybe t2))   where (SimpleType s ts) = simplify t1@@ -255,7 +255,7 @@       case t of         TyVarTy {} -> False         AppTy t1 t2 -> typeHidden t1 || typeHidden t2-        FunTy t1 t2 -> typeHidden t1 || typeHidden t2+        FunTy _ t1 t2 -> typeHidden t1 || typeHidden t2         TyConApp tcon args -> nameHidden (getName tcon) || any typeHidden args         ForAllTy bndr ty -> typeHidden (tyVarKind (binderVar bndr)) || typeHidden ty         LitTy _ -> False
haddock-api/src/Haddock/Interface/Create.hs view
@@ -1,5 +1,6 @@ {-# LANGUAGE CPP, TupleSections, BangPatterns, LambdaCase #-} {-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE ViewPatterns #-} {-# OPTIONS_GHC -Wwarn #-} ----------------------------------------------------------------------------- -- |@@ -31,7 +32,7 @@ import Data.Bitraversable import qualified Data.Map as M import Data.Map (Map)-import Data.List+import Data.List (find, foldl', sortBy) import Data.Maybe import Data.Ord import Control.Applicative@@ -52,7 +53,7 @@ import Bag import RdrName import TcRnTypes-import FastString ( unpackFS, fastStringToByteString)+import FastString ( unpackFS, bytesFS ) import BasicTypes ( StringLiteral(..), SourceText(..), PromotionFlag(..) ) import qualified Outputable as O @@ -297,8 +298,8 @@  parseWarning :: DynFlags -> GlobalRdrEnv -> WarningTxt -> ErrMsgM (Doc Name) parseWarning dflags gre w = case w of-  DeprecatedTxt _ msg -> format "Deprecated: " (foldMap (fastStringToByteString . sl_fs . unLoc) msg)-  WarningTxt    _ msg -> format "Warning: "    (foldMap (fastStringToByteString . sl_fs . unLoc) msg)+  DeprecatedTxt _ msg -> format "Deprecated: " (foldMap (bytesFS . sl_fs . unLoc) msg)+  WarningTxt    _ msg -> format "Warning: "    (foldMap (bytesFS . sl_fs . unLoc) msg)   where     format x bs = DocWarning . DocParagraph . DocAppend (DocString x)                   <$> processDocString dflags gre (mkHsDocStringUtf8ByteString bs)@@ -468,11 +469,22 @@                   , L _ (ConDeclField _ ns _ doc) <- (unLoc flds)                   , L _ n <- ns ]         derivs  = [ (instName, [unL doc], M.empty)-                  | HsIB { hsib_body = L l (HsDocTy _ _ doc) }-                      <- concatMap (unLoc . deriv_clause_tys . unLoc) $-                           unLoc $ dd_derivs dd+                  | (l, doc) <- mapMaybe (extract_deriv_ty . hsib_body) $+                                concatMap (unLoc . deriv_clause_tys . unLoc) $+                                unLoc $ dd_derivs dd                   , Just instName <- [M.lookup l instMap] ] +        extract_deriv_ty :: LHsType GhcRn -> Maybe (SrcSpan, LHsDocString)+        extract_deriv_ty ty =+          case dL ty of+            -- deriving (forall a. C a {- ^ Doc comment -})+            L l (HsForAllTy{ hst_fvf = ForallInvis+                           , hst_body = dL->L _ (HsDocTy _ _ doc) })+                                  -> Just (l, doc)+            -- deriving (C a {- ^ Doc comment -})+            L l (HsDocTy _ _ doc) -> Just (l, doc)+            _                     -> Nothing+ -- | Extract constructor argument docs from inside constructor decls. conArgDocs :: ConDecl GhcRn -> Map Int HsDocString conArgDocs con = case getConArgs con of@@ -515,10 +527,10 @@ classDecls class_ = filterDecls . collectDocs . sortByLoc $ decls   where     decls = docs ++ defs ++ sigs ++ ats-    docs  = mkDecls tcdDocs (DocD noExt) class_-    defs  = mkDecls (bagToList . tcdMeths) (ValD noExt) class_-    sigs  = mkDecls tcdSigs (SigD noExt) class_-    ats   = mkDecls tcdATs (TyClD noExt . FamDecl noExt) class_+    docs  = mkDecls tcdDocs (DocD noExtField) class_+    defs  = mkDecls (bagToList . tcdMeths) (ValD noExtField) class_+    sigs  = mkDecls tcdSigs (SigD noExtField) class_+    ats   = mkDecls tcdATs (TyClD noExtField . FamDecl noExtField) class_   -- | The top-level declarations of a module that we care about,@@ -537,14 +549,14 @@ -- | Take all declarations except pragmas, infix decls, rules from an 'HsGroup'. ungroup :: HsGroup GhcRn -> [LHsDecl GhcRn] ungroup group_ =-  mkDecls (tyClGroupTyClDecls . hs_tyclds) (TyClD noExt)  group_ ++-  mkDecls hs_derivds             (DerivD noExt) group_ ++-  mkDecls hs_defds               (DefD noExt)   group_ ++-  mkDecls hs_fords               (ForD noExt)   group_ ++-  mkDecls hs_docs                (DocD noExt)   group_ ++-  mkDecls (tyClGroupInstDecls . hs_tyclds) (InstD noExt)  group_ ++-  mkDecls (typesigs . hs_valds)  (SigD noExt)   group_ ++-  mkDecls (valbinds . hs_valds)  (ValD noExt)   group_+  mkDecls (tyClGroupTyClDecls . hs_tyclds) (TyClD noExtField)  group_ +++  mkDecls hs_derivds             (DerivD noExtField) group_ +++  mkDecls hs_defds               (DefD noExtField)   group_ +++  mkDecls hs_fords               (ForD noExtField)   group_ +++  mkDecls hs_docs                (DocD noExtField)   group_ +++  mkDecls (tyClGroupInstDecls . hs_tyclds) (InstD noExtField)  group_ +++  mkDecls (typesigs . hs_valds)  (SigD noExtField)   group_ +++  mkDecls (valbinds . hs_valds)  (ValD noExtField)   group_   where     typesigs (XValBindsLR (NValBinds _ sigs)) = filter isUserLSig sigs     typesigs _ = error "expected ValBindsOut"@@ -736,14 +748,14 @@                   L loc (SigD _ sig) ->                     -- fromJust is safe since we already checked in guards                     -- that 't' is a name declared in this declaration.-                    let newDecl = L loc . SigD noExt . fromJust $ filterSigNames (== t) sig+                    let newDecl = L loc . SigD noExtField . fromJust $ filterSigNames (== t) sig                     in availExportDecl avail newDecl docs_                    L loc (TyClD _ cl@ClassDecl{}) -> do                     mdef <- liftGhcToErrMsgGhc $ minimalDef t-                    let sig = maybeToList $ fmap (noLoc . MinimalSig noExt NoSourceText . noLoc . fmap noLoc) mdef+                    let sig = maybeToList $ fmap (noLoc . MinimalSig noExtField NoSourceText . noLoc . fmap noLoc) mdef                     availExportDecl avail-                      (L loc $ TyClD noExt cl { tcdSigs = sig ++ tcdSigs cl }) docs_+                      (L loc $ TyClD noExtField cl { tcdSigs = sig ++ tcdSigs cl }) docs_                    _ -> availExportDecl avail decl docs_ @@ -1057,8 +1069,8 @@         in case (matchesMethod, matchesAssociatedType)  of           ([s0], _) -> let (n, tyvar_names) = (tcdName d, tyClDeclTyVars d)                            L pos sig = addClassContext n tyvar_names s0-                       in L pos (SigD noExt sig)-          (_, [L pos fam_decl]) -> L pos (TyClD noExt (FamDecl noExt fam_decl))+                       in L pos (SigD noExtField sig)+          (_, [L pos fam_decl]) -> L pos (TyClD noExtField (FamDecl noExtField fam_decl))            ([], [])             | Just (famInstDecl:_) <- M.lookup name declMap@@ -1070,8 +1082,8 @@       TyClD _ d@DataDecl {} ->         let (n, tyvar_tys) = (tcdName d, lHsQTyVarsToTypes (tyClDeclTyVars d))         in if isDataConName name-           then SigD noExt <$> extractPatternSyn name n (map HsValArg tyvar_tys) (dd_cons (tcdDataDefn d))-           else SigD noExt <$> extractRecSel name n (map HsValArg tyvar_tys) (dd_cons (tcdDataDefn d))+           then SigD noExtField <$> extractPatternSyn name n (map HsValArg tyvar_tys) (dd_cons (tcdDataDefn d))+           else SigD noExtField <$> extractRecSel name n (map HsValArg tyvar_tys) (dd_cons (tcdDataDefn d))       TyClD _ FamDecl {}         | isValName name         , Just (famInst:_) <- M.lookup name declMap@@ -1081,8 +1093,8 @@                                     , feqn_pats  = tys                                     , feqn_rhs   = defn }}))) ->         if isDataConName name-        then SigD noExt <$> extractPatternSyn name n tys (dd_cons defn)-        else SigD noExt <$> extractRecSel name n tys (dd_cons defn)+        then SigD noExtField <$> extractPatternSyn name n tys (dd_cons defn)+        else SigD noExtField <$> extractRecSel name n tys (dd_cons defn)       InstD _ (ClsInstD _ ClsInstDecl { cid_datafam_insts = insts })         | isDataConName name ->             let matches = [ d' | L _ d'@(DataFamInstDecl (HsIB { hsib_body =@@ -1092,7 +1104,7 @@                                , name `elem` map unLoc (concatMap (getConNames . unLoc) (dd_cons dd))                                ]             in case matches of-                [d0] -> extractDecl declMap name (noLoc (InstD noExt (DataFamInstD noExt d0)))+                [d0] -> extractDecl declMap name (noLoc (InstD noExtField (DataFamInstD noExtField d0)))                 _    -> error "internal: extractDecl (ClsInstD)"         | otherwise ->             let matches = [ d' | L _ d'@(DataFamInstDecl (HsIB { hsib_body = d }))@@ -1104,7 +1116,7 @@                                , extFieldOcc n == name                           ]             in case matches of-              [d0] -> extractDecl declMap name (noLoc . InstD noExt $ DataFamInstD noExt d0)+              [d0] -> extractDecl declMap name (noLoc . InstD noExtField $ DataFamInstD noExtField d0)               _ -> error "internal: extractDecl (ClsInstD)"       _ -> O.pprPanic "extractDecl" $         O.text "Unhandled decl for" O.<+> O.ppr name O.<> O.text ":"@@ -1128,21 +1140,21 @@         typ = longArrow args (data_ty con)         typ' =           case con of-            ConDeclH98 { con_mb_cxt = Just cxt } -> noLoc (HsQualTy noExt cxt typ)+            ConDeclH98 { con_mb_cxt = Just cxt } -> noLoc (HsQualTy noExtField cxt typ)             _ -> typ-        typ'' = noLoc (HsQualTy noExt (noLoc []) typ')-    in PatSynSig noExt [noLoc nm] (mkEmptyImplicitBndrs typ'')+        typ'' = noLoc (HsQualTy noExtField (noLoc []) typ')+    in PatSynSig noExtField [noLoc nm] (mkEmptyImplicitBndrs typ'')    longArrow :: [LHsType GhcRn] -> LHsType GhcRn -> LHsType GhcRn-  longArrow inputs output = foldr (\x y -> noLoc (HsFunTy noExt x y)) output inputs+  longArrow inputs output = foldr (\x y -> noLoc (HsFunTy noExtField x y)) output inputs    data_ty con     | ConDeclGADT{} <- con = con_res_ty con-    | otherwise = foldl' (\x y -> noLoc (mkAppTyArg x y)) (noLoc (HsTyVar noExt NotPromoted (noLoc t))) tvs+    | otherwise = foldl' (\x y -> noLoc (mkAppTyArg x y)) (noLoc (HsTyVar noExtField NotPromoted (noLoc t))) tvs                     where mkAppTyArg :: LHsType GhcRn -> LHsTypeArg GhcRn -> HsType GhcRn-                          mkAppTyArg f (HsValArg ty) = HsAppTy noExt f ty+                          mkAppTyArg f (HsValArg ty) = HsAppTy noExtField f ty                           mkAppTyArg f (HsTypeArg l ki) = HsAppKindTy l f ki-                          mkAppTyArg f (HsArgPar _) = HsParTy noExt f+                          mkAppTyArg f (HsArgPar _) = HsParTy noExtField f  extractRecSel :: Name -> Name -> [LHsTypeArg GhcRn] -> [LConDecl GhcRn]               -> LSig GhcRn@@ -1151,7 +1163,7 @@ extractRecSel nm t tvs (L _ con : rest) =   case getConArgs con of     RecCon (L _ fields) | ((l,L _ (ConDeclField _ _nn ty _)) : _) <- matching_fields fields ->-      L l (TypeSig noExt [noLoc nm] (mkEmptySigWcType (noLoc (HsFunTy noExt data_ty (getBangType ty)))))+      L l (TypeSig noExtField [noLoc nm] (mkEmptySigWcType (noLoc (HsFunTy noExtField data_ty (getBangType ty)))))     _ -> extractRecSel nm t tvs rest  where   matching_fields :: [LConDeclField GhcRn] -> [(SrcSpan, LConDeclField GhcRn)]@@ -1160,11 +1172,11 @@   data_ty     -- ResTyGADT _ ty <- con_res con = ty     | ConDeclGADT{} <- con = con_res_ty con-    | otherwise = foldl' (\x y -> noLoc (mkAppTyArg x y)) (noLoc (HsTyVar noExt NotPromoted (noLoc t))) tvs+    | otherwise = foldl' (\x y -> noLoc (mkAppTyArg x y)) (noLoc (HsTyVar noExtField NotPromoted (noLoc t))) tvs                    where mkAppTyArg :: LHsType GhcRn -> LHsTypeArg GhcRn -> HsType GhcRn-                         mkAppTyArg f (HsValArg ty) = HsAppTy noExt f ty+                         mkAppTyArg f (HsValArg ty) = HsAppTy noExtField f ty                          mkAppTyArg f (HsTypeArg l ki) = HsAppKindTy l f ki-                         mkAppTyArg f (HsArgPar _) = HsParTy noExt f+                         mkAppTyArg f (HsArgPar _) = HsParTy noExtField f  -- | Keep export items with docs. pruneExportItems :: [ExportItem GhcRn] -> [ExportItem GhcRn]
haddock-api/src/Haddock/Interface/LexParseRn.hs view
@@ -22,7 +22,7 @@ import Control.Arrow import Control.Monad import Data.Functor (($>))-import Data.List+import Data.List (maximumBy, (\\)) import Data.Ord import Documentation.Haddock.Doc (metaDocConcat) import DynFlags (languageExtensions)
haddock-api/src/Haddock/Interface/Rename.hs view
@@ -22,14 +22,12 @@ import Bag (emptyBag) import GHC hiding (NoLink) import Name-import Outputable ( panic ) import RdrName (RdrName(Exact)) import TysWiredIn (eqTyCon_RDR)  import Control.Applicative import Control.Arrow ( first ) import Control.Monad hiding (mapM)-import Data.List import qualified Data.Map as Map hiding ( Map ) import Prelude hiding (mapM) @@ -204,14 +202,14 @@  renameFamilyResultSig :: LFamilyResultSig GhcRn -> RnM (LFamilyResultSig DocNameI) renameFamilyResultSig (L loc (NoSig _))-    = return (L loc (NoSig noExt))+    = return (L loc (NoSig noExtField)) renameFamilyResultSig (L loc (KindSig _ ki))     = do { ki' <- renameLKind ki-         ; return (L loc (KindSig noExt ki')) }+         ; return (L loc (KindSig noExtField ki')) } renameFamilyResultSig (L loc (TyVarSig _ bndr))     = do { bndr' <- renameLTyVarBndr bndr-         ; return (L loc (TyVarSig noExt bndr')) }-renameFamilyResultSig (L _ (XFamilyResultSig _)) = panic "haddock:renameFamilyResultSig"+         ; return (L loc (TyVarSig noExtField bndr')) }+renameFamilyResultSig (L _ (XFamilyResultSig nec)) = noExtCon nec  renameInjectivityAnn :: LInjectivityAnn GhcRn -> RnM (LInjectivityAnn DocNameI) renameInjectivityAnn (L loc (InjectivityAnn lhs rhs))@@ -225,63 +223,64 @@  renameType :: HsType GhcRn -> RnM (HsType DocNameI) renameType t = case t of-  HsForAllTy { hst_bndrs = tyvars, hst_body = ltype } -> do+  HsForAllTy { hst_fvf = fvf, hst_bndrs = tyvars, hst_body = ltype } -> do     tyvars'   <- mapM renameLTyVarBndr tyvars     ltype'    <- renameLType ltype-    return (HsForAllTy { hst_xforall = NoExt, hst_bndrs = tyvars', hst_body = ltype' })+    return (HsForAllTy { hst_fvf = fvf, hst_xforall = noExtField+                       , hst_bndrs = tyvars', hst_body = ltype' })    HsQualTy { hst_ctxt = lcontext , hst_body = ltype } -> do     lcontext' <- renameLContext lcontext     ltype'    <- renameLType ltype-    return (HsQualTy { hst_xqual = NoExt, hst_ctxt = lcontext', hst_body = ltype' })+    return (HsQualTy { hst_xqual = noExtField, hst_ctxt = lcontext', hst_body = ltype' }) -  HsTyVar _ ip (L l n) -> return . HsTyVar NoExt ip . L l =<< rename n-  HsBangTy _ b ltype -> return . HsBangTy NoExt b =<< renameLType ltype+  HsTyVar _ ip (L l n) -> return . HsTyVar noExtField ip . L l =<< rename n+  HsBangTy _ b ltype -> return . HsBangTy noExtField b =<< renameLType ltype -  HsStarTy _ isUni -> return (HsStarTy NoExt isUni)+  HsStarTy _ isUni -> return (HsStarTy noExtField isUni)    HsAppTy _ a b -> do     a' <- renameLType a     b' <- renameLType b-    return (HsAppTy NoExt a' b')+    return (HsAppTy noExtField a' b')    HsAppKindTy _ a b -> do     a' <- renameLType a     b' <- renameLKind b-    return (HsAppKindTy NoExt a' b')+    return (HsAppKindTy noExtField a' b')    HsFunTy _ a b -> do     a' <- renameLType a     b' <- renameLType b-    return (HsFunTy NoExt a' b')+    return (HsFunTy noExtField a' b') -  HsListTy _ ty -> return . (HsListTy NoExt) =<< renameLType ty-  HsIParamTy _ n ty -> liftM (HsIParamTy NoExt n) (renameLType ty)+  HsListTy _ ty -> return . (HsListTy noExtField) =<< renameLType ty+  HsIParamTy _ n ty -> liftM (HsIParamTy noExtField n) (renameLType ty) -  HsTupleTy _ b ts -> return . HsTupleTy NoExt b =<< mapM renameLType ts-  HsSumTy _ ts -> HsSumTy NoExt <$> mapM renameLType ts+  HsTupleTy _ b ts -> return . HsTupleTy noExtField b =<< mapM renameLType ts+  HsSumTy _ ts -> HsSumTy noExtField <$> mapM renameLType ts    HsOpTy _ a (L loc op) b -> do     op' <- rename op     a'  <- renameLType a     b'  <- renameLType b-    return (HsOpTy NoExt a' (L loc op') b')+    return (HsOpTy noExtField a' (L loc op') b') -  HsParTy _ ty -> return . (HsParTy NoExt) =<< renameLType ty+  HsParTy _ ty -> return . (HsParTy noExtField) =<< renameLType ty    HsKindSig _ ty k -> do     ty' <- renameLType ty     k' <- renameLKind k-    return (HsKindSig NoExt ty' k')+    return (HsKindSig noExtField ty' k')    HsDocTy _ ty doc -> do     ty' <- renameLType ty     doc' <- renameLDocHsSyn doc-    return (HsDocTy NoExt ty' doc')+    return (HsDocTy noExtField ty' doc') -  HsTyLit _ x -> return (HsTyLit NoExt x)+  HsTyLit _ x -> return (HsTyLit noExtField x) -  HsRecTy _ a               -> HsRecTy NoExt <$> mapM renameConDeclFieldField a+  HsRecTy _ a               -> HsRecTy noExtField <$> mapM renameConDeclFieldField a   (XHsType (NHsCoreTy a))   -> pure (XHsType (NHsCoreTy a))   HsExplicitListTy i a b  -> HsExplicitListTy i a <$> mapM renameLType b   HsExplicitTupleTy a b   -> HsExplicitTupleTy a <$> mapM renameLType b@@ -302,9 +301,9 @@ renameLHsQTyVars :: LHsQTyVars GhcRn -> RnM (LHsQTyVars DocNameI) renameLHsQTyVars (HsQTvs { hsq_explicit = tvs })   = do { tvs' <- mapM renameLTyVarBndr tvs-       ; return (HsQTvs { hsq_ext = noExt+       ; return (HsQTvs { hsq_ext = noExtField                         , hsq_explicit = tvs' }) }-renameLHsQTyVars (XLHsQTyVars _) = panic "haddock:renameLHsQTyVars"+renameLHsQTyVars (XLHsQTyVars nec) = noExtCon nec  renameLTyVarBndr :: LHsTyVarBndr GhcRn -> RnM (LHsTyVarBndr DocNameI) renameLTyVarBndr (L loc (UserTyVar x (L l n)))@@ -352,19 +351,19 @@ renameDecl decl = case decl of   TyClD _ d -> do     d' <- renameTyClD d-    return (TyClD noExt d')+    return (TyClD noExtField d')   SigD _ s -> do     s' <- renameSig s-    return (SigD noExt s')+    return (SigD noExtField s')   ForD _ d -> do     d' <- renameForD d-    return (ForD noExt d')+    return (ForD noExtField d')   InstD _ d -> do     d' <- renameInstD d-    return (InstD noExt d')+    return (InstD noExtField d')   DerivD _ d -> do     d' <- renameDerivD d-    return (DerivD noExt d')+    return (DerivD noExtField d')   _ -> error "renameDecl"  renameLThing :: (a GhcRn -> RnM (a DocNameI)) -> Located (a GhcRn) -> RnM (Located (a DocNameI))@@ -375,20 +374,20 @@ --  TyFamily flav lname ltyvars kind tckind -> do   FamDecl { tcdFam = decl } -> do     decl' <- renameFamilyDecl decl-    return (FamDecl { tcdFExt = noExt, tcdFam = decl' })+    return (FamDecl { tcdFExt = noExtField, tcdFam = decl' })    SynDecl { tcdLName = lname, tcdTyVars = tyvars, tcdFixity = fixity, tcdRhs = rhs } -> do     lname'    <- renameL lname     tyvars'   <- renameLHsQTyVars tyvars     rhs'     <- renameLType rhs-    return (SynDecl { tcdSExt = noExt, tcdLName = lname', tcdTyVars = tyvars'+    return (SynDecl { tcdSExt = noExtField, tcdLName = lname', tcdTyVars = tyvars'                     , tcdFixity = fixity, tcdRhs = rhs' })    DataDecl { tcdLName = lname, tcdTyVars = tyvars, tcdFixity = fixity, tcdDataDefn = defn } -> do     lname'    <- renameL lname     tyvars'   <- renameLHsQTyVars tyvars     defn'     <- renameDataDefn defn-    return (DataDecl { tcdDExt = noExt, tcdLName = lname', tcdTyVars = tyvars'+    return (DataDecl { tcdDExt = noExtField, tcdLName = lname', tcdTyVars = tyvars'                      , tcdFixity = fixity, tcdDataDefn = defn' })    ClassDecl { tcdCtxt = lcontext, tcdLName = lname, tcdTyVars = ltyvars, tcdFixity = fixity@@ -399,13 +398,13 @@     lfundeps' <- mapM renameLFunDep lfundeps     lsigs'    <- mapM renameLSig lsigs     ats'      <- mapM (renameLThing renameFamilyDecl) ats-    at_defs'  <- mapM renameLTyFamDefltEqn at_defs+    at_defs'  <- mapM (mapM renameTyFamDefltD) at_defs     -- we don't need the default methods or the already collected doc entities     return (ClassDecl { tcdCtxt = lcontext', tcdLName = lname', tcdTyVars = ltyvars'                       , tcdFixity = fixity                       , tcdFDs = lfundeps', tcdSigs = lsigs', tcdMeths= emptyBag-                      , tcdATs = ats', tcdATDefs = at_defs', tcdDocs = [], tcdCExt = NoExt })-  XTyClDecl _ -> panic "haddock:renameTyClD"+                      , tcdATs = ats', tcdATDefs = at_defs', tcdDocs = [], tcdCExt = noExtField })+  XTyClDecl nec -> noExtCon nec    where     renameLFunDep (L loc (xs, ys)) = do@@ -426,12 +425,12 @@     ltyvars'     <- renameLHsQTyVars ltyvars     result'      <- renameFamilyResultSig result     injectivity' <- renameMaybeInjectivityAnn injectivity-    return (FamilyDecl { fdExt = noExt, fdInfo = info', fdLName = lname'+    return (FamilyDecl { fdExt = noExtField, fdInfo = info', fdLName = lname'                        , fdTyVars = ltyvars'                        , fdFixity = fixity                        , fdResultSig = result'                        , fdInjectivityAnn = injectivity' })-renameFamilyDecl (XFamilyDecl _) = panic "renameFamilyDecl"+renameFamilyDecl (XFamilyDecl nec) = noExtCon nec   renamePseudoFamilyDecl :: PseudoFamilyDecl GhcRn@@ -457,11 +456,11 @@     k'        <- renameMaybeLKind k     cons'     <- mapM (mapM renameCon) cons     -- I don't think we need the derivings, so we return Nothing-    return (HsDataDefn { dd_ext = noExt+    return (HsDataDefn { dd_ext = noExtField                        , dd_ND = nd, dd_ctxt = lcontext', dd_cType = cType                        , dd_kindSig = k', dd_cons = cons'                        , dd_derivs = noLoc [] })-renameDataDefn (XHsDataDefn _) = panic "haddock:renameDataDefn"+renameDataDefn (XHsDataDefn nec) = noExtCon nec  renameCon :: ConDecl GhcRn -> RnM (ConDecl DocNameI) renameCon decl@(ConDeclH98 { con_name = lname, con_ex_tvs = ltyvars@@ -472,7 +471,7 @@       lcontext' <- traverse renameLContext lcontext       details'  <- renameDetails details       mbldoc'   <- mapM renameLDocHsSyn mbldoc-      return (decl { con_ext = noExt, con_name = lname', con_ex_tvs = ltyvars'+      return (decl { con_ext = noExtField, con_name = lname', con_ex_tvs = ltyvars'                    , con_mb_cxt = lcontext'                    , con_args = details', con_doc = mbldoc' }) @@ -486,10 +485,10 @@       details'  <- renameDetails details       res_ty'   <- renameLType res_ty       mbldoc'   <- mapM renameLDocHsSyn mbldoc-      return (decl { con_g_ext = noExt, con_names = lnames', con_qvars = ltyvars'+      return (decl { con_g_ext = noExtField, con_names = lnames', con_qvars = ltyvars'                    , con_mb_cxt = lcontext', con_args = details'                    , con_res_ty = res_ty', con_doc = mbldoc' })-renameCon (XConDecl _) = panic "haddock:renameCon"+renameCon (XConDecl nec) = noExtCon nec  renameDetails :: HsConDeclDetails GhcRn -> RnM (HsConDeclDetails DocNameI) renameDetails (RecCon (L l fields)) = do@@ -506,8 +505,8 @@   names' <- mapM renameLFieldOcc names   t'   <- renameLType t   doc' <- mapM renameLDocHsSyn doc-  return $ L l (ConDeclField noExt names' t' doc')-renameConDeclFieldField (L _ (XConDeclField _)) = panic "haddock:renameConDeclFieldField"+  return $ L l (ConDeclField noExtField names' t' doc')+renameConDeclFieldField (L _ (XConDeclField nec)) = noExtCon nec  renameLFieldOcc :: LFieldOcc GhcRn -> RnM (LFieldOcc DocNameI) renameLFieldOcc (L l (FieldOcc sel lbl)) = do@@ -520,21 +519,21 @@   TypeSig _ lnames ltype -> do     lnames' <- mapM renameL lnames     ltype' <- renameLSigWcType ltype-    return (TypeSig noExt lnames' ltype')+    return (TypeSig noExtField lnames' ltype')   ClassOpSig _ is_default lnames sig_ty -> do     lnames' <- mapM renameL lnames     ltype' <- renameLSigType sig_ty-    return (ClassOpSig noExt is_default lnames' ltype')+    return (ClassOpSig noExtField is_default lnames' ltype')   PatSynSig _ lnames sig_ty -> do     lnames' <- mapM renameL lnames     sig_ty' <- renameLSigType sig_ty-    return $ PatSynSig noExt lnames' sig_ty'+    return $ PatSynSig noExtField lnames' sig_ty'   FixSig _ (FixitySig _ lnames fixity) -> do     lnames' <- mapM renameL lnames-    return $ FixSig noExt (FixitySig noExt lnames' fixity)+    return $ FixSig noExtField (FixitySig noExtField lnames' fixity)   MinimalSig _ src (L l s) -> do     s' <- traverse renameL s-    return $ MinimalSig noExt src (L l s')+    return $ MinimalSig noExtField src (L l s')   -- we have filtered out all other kinds of signatures in Interface.Create   _ -> error "expected TypeSig" @@ -543,25 +542,25 @@ renameForD (ForeignImport _ lname ltype x) = do   lname' <- renameL lname   ltype' <- renameLSigType ltype-  return (ForeignImport noExt lname' ltype' x)+  return (ForeignImport noExtField lname' ltype' x) renameForD (ForeignExport _ lname ltype x) = do   lname' <- renameL lname   ltype' <- renameLSigType ltype-  return (ForeignExport noExt lname' ltype' x)-renameForD (XForeignDecl _) = panic "haddock:renameForD"+  return (ForeignExport noExtField lname' ltype' x)+renameForD (XForeignDecl nec) = noExtCon nec   renameInstD :: InstDecl GhcRn -> RnM (InstDecl DocNameI) renameInstD (ClsInstD { cid_inst = d }) = do   d' <- renameClsInstD d-  return (ClsInstD { cid_d_ext = noExt, cid_inst = d' })+  return (ClsInstD { cid_d_ext = noExtField, cid_inst = d' }) renameInstD (TyFamInstD { tfid_inst = d }) = do   d' <- renameTyFamInstD d-  return (TyFamInstD { tfid_ext = noExt, tfid_inst = d' })+  return (TyFamInstD { tfid_ext = noExtField, tfid_inst = d' }) renameInstD (DataFamInstD { dfid_inst = d }) = do   d' <- renameDataFamInstD d-  return (DataFamInstD { dfid_ext = noExt, dfid_inst = d' })-renameInstD (XInstDecl _) = panic "haddock:renameInstD"+  return (DataFamInstD { dfid_ext = noExtField, dfid_inst = d' })+renameInstD (XInstDecl nec) = noExtCon nec  renameDerivD :: DerivDecl GhcRn -> RnM (DerivDecl DocNameI) renameDerivD (DerivDecl { deriv_type = ty@@ -569,11 +568,11 @@                         , deriv_overlap_mode = omode }) = do   ty'    <- renameLSigWcType ty   strat' <- mapM (mapM renameDerivStrategy) strat-  return (DerivDecl { deriv_ext = noExt+  return (DerivDecl { deriv_ext = noExtField                     , deriv_type = ty'                     , deriv_strategy = strat'                     , deriv_overlap_mode = omode })-renameDerivD (XDerivDecl _) = panic "haddock:renameDerivD"+renameDerivD (XDerivDecl nec) = noExtCon nec  renameDerivStrategy :: DerivStrategy GhcRn -> RnM (DerivStrategy DocNameI) renameDerivStrategy StockStrategy    = pure StockStrategy@@ -588,11 +587,11 @@   ltype' <- renameLSigType ltype   lATs'  <- mapM (mapM renameTyFamInstD) lATs   lADTs' <- mapM (mapM renameDataFamInstD) lADTs-  return (ClsInstDecl { cid_ext = noExt, cid_overlap_mode = omode+  return (ClsInstDecl { cid_ext = noExtField, cid_overlap_mode = omode                       , cid_poly_ty = ltype', cid_binds = emptyBag                       , cid_sigs = []                       , cid_tyfam_insts = lATs', cid_datafam_insts = lADTs' })-renameClsInstD (XClsInstDecl _) = panic "haddock:renameClsInstD"+renameClsInstD (XClsInstDecl nec) = noExtCon nec   renameTyFamInstD :: TyFamInstDecl GhcRn -> RnM (TyFamInstDecl DocNameI)@@ -605,8 +604,8 @@   = renameImplicit rename_ty_fam_eqn eqn   where     rename_ty_fam_eqn-      :: FamEqn GhcRn (HsTyPats GhcRn) (LHsType GhcRn)-      -> RnM (FamEqn DocNameI (HsTyPats DocNameI) (LHsType DocNameI))+      :: FamEqn GhcRn (LHsType GhcRn)+      -> RnM (FamEqn DocNameI (LHsType DocNameI))     rename_ty_fam_eqn (FamEqn { feqn_tycon = tc, feqn_bndrs = bndrs                               , feqn_pats = pats, feqn_fixity = fixity                               , feqn_rhs = rhs })@@ -614,27 +613,16 @@            ; bndrs' <- traverse (mapM renameLTyVarBndr) bndrs            ; pats' <- mapM renameLTypeArg pats            ; rhs' <- renameLType rhs-           ; return (FamEqn { feqn_ext    = noExt+           ; return (FamEqn { feqn_ext    = noExtField                             , feqn_tycon  = tc'                             , feqn_bndrs  = bndrs'                             , feqn_pats   = pats'                             , feqn_fixity = fixity                             , feqn_rhs    = rhs' }) }-    rename_ty_fam_eqn (XFamEqn _) = panic "haddock:renameTyFamInstEqn"+    rename_ty_fam_eqn (XFamEqn nec) = noExtCon nec -renameLTyFamDefltEqn :: LTyFamDefltEqn GhcRn -> RnM (LTyFamDefltEqn DocNameI)-renameLTyFamDefltEqn (L loc (FamEqn { feqn_tycon = tc, feqn_pats = tvs-                                    , feqn_fixity = fixity, feqn_rhs = rhs }))-  = do { tc'  <- renameL tc-       ; tvs' <- renameLHsQTyVars tvs-       ; rhs' <- renameLType rhs-       ; return (L loc (FamEqn { feqn_ext    = noExt-                               , feqn_tycon  = tc'-                               , feqn_bndrs  = Nothing  -- this is always Nothing-                               , feqn_pats   = tvs'-                               , feqn_fixity = fixity-                               , feqn_rhs    = rhs' })) }-renameLTyFamDefltEqn (L _ (XFamEqn _)) = panic "haddock:renameLTyFamDefltEqn"+renameTyFamDefltD :: TyFamDefltDecl GhcRn -> RnM (TyFamDefltDecl DocNameI)+renameTyFamDefltD = renameTyFamInstD  renameDataFamInstD :: DataFamInstDecl GhcRn -> RnM (DataFamInstDecl DocNameI) renameDataFamInstD (DataFamInstDecl { dfid_eqn = eqn })@@ -642,8 +630,8 @@        ; return (DataFamInstDecl { dfid_eqn = eqn' }) }   where     rename_data_fam_eqn-      :: FamEqn GhcRn (HsTyPats GhcRn) (HsDataDefn GhcRn)-      -> RnM (FamEqn DocNameI (HsTyPats DocNameI) (HsDataDefn DocNameI))+      :: FamEqn GhcRn (HsDataDefn GhcRn)+      -> RnM (FamEqn DocNameI (HsDataDefn DocNameI))     rename_data_fam_eqn (FamEqn { feqn_tycon = tc, feqn_bndrs = bndrs                                 , feqn_pats = pats, feqn_fixity = fixity                                 , feqn_rhs = defn })@@ -651,13 +639,13 @@            ; bndrs' <- traverse (mapM renameLTyVarBndr) bndrs            ; pats' <- mapM renameLTypeArg pats            ; defn' <- renameDataDefn defn-           ; return (FamEqn { feqn_ext    = noExt+           ; return (FamEqn { feqn_ext    = noExtField                             , feqn_tycon  = tc'                             , feqn_bndrs  = bndrs'                             , feqn_pats   = pats'                             , feqn_fixity = fixity                             , feqn_rhs    = defn' }) }-    rename_data_fam_eqn (XFamEqn _) = panic "haddock:renameDataFamInstD"+    rename_data_fam_eqn (XFamEqn nec) = noExtCon nec  renameImplicit :: (in_thing -> RnM out_thing)                -> HsImplicitBndrs GhcRn in_thing@@ -665,8 +653,8 @@ renameImplicit rn_thing (HsIB { hsib_body = thing })   = do { thing' <- rn_thing thing        ; return (HsIB { hsib_body = thing'-                      , hsib_ext = noExt }) }-renameImplicit _ (XHsImplicitBndrs _) = panic "haddock:renameImplicit"+                      , hsib_ext = noExtField }) }+renameImplicit _ (XHsImplicitBndrs nec) = noExtCon nec  renameWc :: (in_thing -> RnM out_thing)          -> HsWildCardBndrs GhcRn in_thing@@ -674,8 +662,8 @@ renameWc rn_thing (HsWC { hswc_body = thing })   = do { thing' <- rn_thing thing        ; return (HsWC { hswc_body = thing'-                      , hswc_ext = noExt }) }-renameWc _ (XHsWildCardBndrs _) = panic "haddock:renameWc"+                      , hswc_ext = noExtField }) }+renameWc _ (XHsWildCardBndrs nec) = noExtCon nec  renameDocInstance :: DocInstance GhcRn -> RnM (DocInstance DocNameI) renameDocInstance (inst, idoc, L l n, m) = do
haddock-api/src/Haddock/Interface/Specialize.hs view
@@ -76,7 +76,7 @@               -> Sig GhcRn               -> Sig GhcRn specializeSig bndrs typs (TypeSig _ lnames typ) =-  TypeSig noExt lnames (typ {hswc_body = (hswc_body typ) {hsib_body = noLoc typ'}})+  TypeSig noExtField lnames (typ {hswc_body = (hswc_body typ) {hsib_body = noLoc typ'}})   where     true_type :: HsType GhcRn     true_type = unLoc (hsSigWcType typ)@@ -112,7 +112,7 @@  sugarLists :: NamedThing (IdP (GhcPass p)) => HsType (GhcPass p) -> HsType (GhcPass p) sugarLists (HsAppTy _ (L _ (HsTyVar _ _ (L _ name))) ltyp)-    | getName name == listTyConName = HsListTy NoExt ltyp+    | getName name == listTyConName = HsListTy noExtField ltyp sugarLists typ = typ  @@ -123,7 +123,7 @@     aux apps (HsAppTy _ (L _ ftyp) atyp) = aux (atyp:apps) ftyp     aux apps (HsParTy _ (L _ typ')) = aux apps typ'     aux apps (HsTyVar _ _ (L _ name))-        | isBuiltInSyntax name' && suitable = HsTupleTy NoExt HsBoxedTuple apps+        | isBuiltInSyntax name' && suitable = HsTupleTy noExtField HsBoxedTuple apps       where         name' = getName name         strName = getOccString name@@ -136,7 +136,7 @@ sugarOperators :: NamedThing (IdP (GhcPass p)) => HsType (GhcPass p) -> HsType (GhcPass p) sugarOperators (HsAppTy _ (L _ (HsAppTy _ (L _ (HsTyVar _ _ (L l name))) la)) lb)     | isSymOcc $ getOccName name' = mkHsOpTy la (L l name) lb-    | funTyConName == name' = HsFunTy NoExt la lb+    | funTyConName == name' = HsFunTy noExtField la lb   where     name' = getName name sugarOperators typ = typ@@ -206,7 +206,7 @@     everythingWithState Set.empty Set.union query   where     query term ctx = case cast term :: Maybe (HsType GhcRn) of-        Just (HsForAllTy _ bndrs _) ->+        Just (HsForAllTy _ _ bndrs _) ->             (Set.empty, Set.union ctx (bndrsNames bndrs))         Just (HsTyVar _ _ (L _ name))             | getName name `Set.member` ctx -> (Set.empty, ctx)@@ -244,8 +244,8 @@   renameType :: HsType GhcRn -> Rename (IdP GhcRn) (HsType GhcRn)-renameType (HsForAllTy x bndrs lt) =-    HsForAllTy x+renameType (HsForAllTy x fvf bndrs lt) =+    HsForAllTy x fvf         <$> mapM (located renameBinder) bndrs         <*> renameLType lt renameType (HsQualTy x lctxt lt) =
haddock-api/src/Haddock/InterfaceFile.hs view
@@ -26,7 +26,7 @@ import Control.Monad import Data.Array import Data.IORef-import Data.List+import Data.List (mapAccumR) import qualified Data.Map as Map import Data.Map (Map) import Data.Word@@ -82,8 +82,8 @@ -- (2) set `binaryInterfaceVersionCompatibility` to [binaryInterfaceVersion] -- binaryInterfaceVersion :: Word16-#if (__GLASGOW_HASKELL__ >= 807) && (__GLASGOW_HASKELL__ < 809)-binaryInterfaceVersion = 35+#if (__GLASGOW_HASKELL__ >= 809) && (__GLASGOW_HASKELL__ < 811)+binaryInterfaceVersion = 36  binaryInterfaceVersionCompatibility :: [Word16] binaryInterfaceVersionCompatibility = [binaryInterfaceVersion]
haddock-api/src/Haddock/Types.hs view
@@ -374,8 +374,8 @@   | TypeInst  (Maybe (HsType name)) -- ^ Body (right-hand side)   | DataInst (TyClDecl name)        -- ^ Data constructors -instance (a ~ GhcPass p,OutputableBndrId a)-         => Outputable (InstType a) where+instance (OutputableBndrId p)+         => Outputable (InstType (GhcPass p)) where   ppr (ClassInst { .. }) = text "ClassInst"       <+> ppr clsiCtx       <+> ppr clsiTyVars@@ -408,12 +408,12 @@     }   where     mkType (KindedTyVar _ (L loc name) lkind) =-        HsKindSig NoExt tvar lkind+        HsKindSig noExtField tvar lkind       where-        tvar = L loc (HsTyVar NoExt NotPromoted (L loc name))-    mkType (UserTyVar _ name) = HsTyVar NoExt NotPromoted name-    mkType (XTyVarBndr _ ) = panic "haddock:mkPseudoFamilyDecl"-mkPseudoFamilyDecl (XFamilyDecl {}) = panic "haddock:mkPseudoFamilyDecl"+        tvar = L loc (HsTyVar noExtField NotPromoted (L loc name))+    mkType (UserTyVar _ name) = HsTyVar noExtField NotPromoted name+    mkType (XTyVarBndr nec) = noExtCon nec+mkPseudoFamilyDecl (XFamilyDecl nec) = noExtCon nec   -- | An instance head that may have documentation and a source location.@@ -697,93 +697,86 @@ -- * Pass sensitive types ----------------------------------------------------------------------------- -type instance XForAllTy        DocNameI = NoExt-type instance XQualTy          DocNameI = NoExt-type instance XTyVar           DocNameI = NoExt-type instance XStarTy          DocNameI = NoExt-type instance XAppTy           DocNameI = NoExt-type instance XAppKindTy       DocNameI = NoExt-type instance XFunTy           DocNameI = NoExt-type instance XListTy          DocNameI = NoExt-type instance XTupleTy         DocNameI = NoExt-type instance XSumTy           DocNameI = NoExt-type instance XOpTy            DocNameI = NoExt-type instance XParTy           DocNameI = NoExt-type instance XIParamTy        DocNameI = NoExt-type instance XKindSig         DocNameI = NoExt-type instance XSpliceTy        DocNameI = NoExt-type instance XDocTy           DocNameI = NoExt-type instance XBangTy          DocNameI = NoExt-type instance XRecTy           DocNameI = NoExt-type instance XExplicitListTy  DocNameI = NoExt-type instance XExplicitTupleTy DocNameI = NoExt-type instance XTyLit           DocNameI = NoExt-type instance XWildCardTy      DocNameI = NoExt+type instance XRec DocNameI f = Located (f DocNameI)++type instance XForAllTy        DocNameI = NoExtField+type instance XQualTy          DocNameI = NoExtField+type instance XTyVar           DocNameI = NoExtField+type instance XStarTy          DocNameI = NoExtField+type instance XAppTy           DocNameI = NoExtField+type instance XAppKindTy       DocNameI = NoExtField+type instance XFunTy           DocNameI = NoExtField+type instance XListTy          DocNameI = NoExtField+type instance XTupleTy         DocNameI = NoExtField+type instance XSumTy           DocNameI = NoExtField+type instance XOpTy            DocNameI = NoExtField+type instance XParTy           DocNameI = NoExtField+type instance XIParamTy        DocNameI = NoExtField+type instance XKindSig         DocNameI = NoExtField+type instance XSpliceTy        DocNameI = NoExtField+type instance XDocTy           DocNameI = NoExtField+type instance XBangTy          DocNameI = NoExtField+type instance XRecTy           DocNameI = NoExtField+type instance XExplicitListTy  DocNameI = NoExtField+type instance XExplicitTupleTy DocNameI = NoExtField+type instance XTyLit           DocNameI = NoExtField+type instance XWildCardTy      DocNameI = NoExtField type instance XXType           DocNameI = NewHsTypeX -type instance XUserTyVar    DocNameI = NoExt-type instance XKindedTyVar  DocNameI = NoExt-type instance XXTyVarBndr   DocNameI = NoExt+type instance XUserTyVar    DocNameI = NoExtField+type instance XKindedTyVar  DocNameI = NoExtField+type instance XXTyVarBndr   DocNameI = NoExtCon  type instance XCFieldOcc   DocNameI = DocName-type instance XXFieldOcc   DocNameI = NoExt+type instance XXFieldOcc   DocNameI = NoExtField -type instance XFixitySig   DocNameI = NoExt-type instance XFixSig      DocNameI = NoExt-type instance XPatSynSig   DocNameI = NoExt-type instance XClassOpSig  DocNameI = NoExt-type instance XTypeSig     DocNameI = NoExt-type instance XMinimalSig  DocNameI = NoExt+type instance XFixitySig   DocNameI = NoExtField+type instance XFixSig      DocNameI = NoExtField+type instance XPatSynSig   DocNameI = NoExtField+type instance XClassOpSig  DocNameI = NoExtField+type instance XTypeSig     DocNameI = NoExtField+type instance XMinimalSig  DocNameI = NoExtField -type instance XForeignExport  DocNameI = NoExt-type instance XForeignImport  DocNameI = NoExt-type instance XConDeclGADT    DocNameI = NoExt-type instance XConDeclH98     DocNameI = NoExt+type instance XForeignExport  DocNameI = NoExtField+type instance XForeignImport  DocNameI = NoExtField+type instance XConDeclGADT    DocNameI = NoExtField+type instance XConDeclH98     DocNameI = NoExtField+type instance XXConDecl       DocNameI = NoExtCon -type instance XDerivD     DocNameI = NoExt-type instance XInstD      DocNameI = NoExt-type instance XForD       DocNameI = NoExt-type instance XSigD       DocNameI = NoExt-type instance XTyClD      DocNameI = NoExt+type instance XDerivD     DocNameI = NoExtField+type instance XInstD      DocNameI = NoExtField+type instance XForD       DocNameI = NoExtField+type instance XSigD       DocNameI = NoExtField+type instance XTyClD      DocNameI = NoExtField -type instance XNoSig      DocNameI = NoExt-type instance XCKindSig   DocNameI = NoExt-type instance XTyVarSig   DocNameI = NoExt+type instance XNoSig            DocNameI = NoExtField+type instance XCKindSig         DocNameI = NoExtField+type instance XTyVarSig         DocNameI = NoExtField+type instance XXFamilyResultSig DocNameI = NoExtCon -type instance XCFamEqn       DocNameI _ _ = NoExt+type instance XCFamEqn       DocNameI _ = NoExtField+type instance XXFamEqn       DocNameI _ = NoExtCon -type instance XCClsInstDecl DocNameI = NoExt-type instance XCDerivDecl   DocNameI = NoExt+type instance XCClsInstDecl DocNameI = NoExtField+type instance XCDerivDecl   DocNameI = NoExtField type instance XViaStrategy  DocNameI = LHsSigType DocNameI-type instance XDataFamInstD DocNameI = NoExt-type instance XTyFamInstD   DocNameI = NoExt-type instance XClsInstD     DocNameI = NoExt-type instance XCHsDataDefn  DocNameI = NoExt-type instance XCFamilyDecl  DocNameI = NoExt-type instance XClassDecl    DocNameI = NoExt-type instance XDataDecl     DocNameI = NoExt-type instance XSynDecl      DocNameI = NoExt-type instance XFamDecl      DocNameI = NoExt--type instance XHsIB      DocNameI _ = NoExt-type instance XHsWC      DocNameI _ = NoExt--type instance XHsQTvs        DocNameI = NoExt-type instance XConDeclField  DocNameI = NoExt+type instance XDataFamInstD DocNameI = NoExtField+type instance XTyFamInstD   DocNameI = NoExtField+type instance XClsInstD     DocNameI = NoExtField+type instance XCHsDataDefn  DocNameI = NoExtField+type instance XCFamilyDecl  DocNameI = NoExtField+type instance XClassDecl    DocNameI = NoExtField+type instance XDataDecl     DocNameI = NoExtField+type instance XSynDecl      DocNameI = NoExtField+type instance XFamDecl      DocNameI = NoExtField+type instance XXFamilyDecl  DocNameI = NoExtCon -type instance XXPat DocNameI = Located (Pat DocNameI)+type instance XHsIB             DocNameI _ = NoExtField+type instance XHsWC             DocNameI _ = NoExtField+type instance XXHsImplicitBndrs DocNameI _ = NoExtCon -type instance SrcSpanLess (LPat DocNameI) = Pat DocNameI-instance HasSrcSpan (LPat DocNameI) where-  -- NB: The following chooses the behaviour of the outer location-  --     wrapper replacing the inner ones.-  composeSrcSpan (L sp p) =  if sp == noSrcSpan-                             then p-                             else XPat (L sp (stripSrcSpanPat p))-   -- NB: The following only returns the top-level location, if any.-  decomposeSrcSpan (XPat (L sp p)) = L sp (stripSrcSpanPat p)-  decomposeSrcSpan p               = L noSrcSpan  p+type instance XHsQTvs        DocNameI = NoExtField+type instance XConDeclField  DocNameI = NoExtField+type instance XXConDeclField DocNameI = NoExtCon -stripSrcSpanPat :: LPat DocNameI -> Pat DocNameI-stripSrcSpanPat (XPat (L _ p)) = stripSrcSpanPat p-stripSrcSpanPat p              = p+type instance XXPat DocNameI = NoExtCon
haddock-api/src/Haddock/Utils.hs view
@@ -65,7 +65,6 @@ import Exception (ExceptionMonad) import GHC import Name-import Outputable ( panic )  import Control.Monad ( liftM ) import Data.Char ( isAlpha, isAlphaNum, isAscii, ord, chr )@@ -150,17 +149,17 @@ addClassContext :: Name -> LHsQTyVars GhcRn -> LSig GhcRn -> LSig GhcRn -- Add the class context to a class-op signature addClassContext cls tvs0 (L pos (ClassOpSig _ _ lname ltype))-  = L pos (TypeSig noExt lname (mkEmptySigWcType (go (hsSigType ltype))))+  = L pos (TypeSig noExtField lname (mkEmptySigWcType (go (hsSigType ltype))))           -- The mkEmptySigWcType is suspicious   where-    go (L loc (HsForAllTy { hst_bndrs = tvs, hst_body = ty }))-       = L loc (HsForAllTy { hst_xforall = noExt+    go (L loc (HsForAllTy { hst_fvf = fvf, hst_bndrs = tvs, hst_body = ty }))+       = L loc (HsForAllTy { hst_fvf = fvf, hst_xforall = noExtField                            , hst_bndrs = tvs, hst_body = go ty })     go (L loc (HsQualTy { hst_ctxt = ctxt, hst_body = ty }))-       = L loc (HsQualTy { hst_xqual = noExt+       = L loc (HsQualTy { hst_xqual = noExtField                          , hst_ctxt = add_ctxt ctxt, hst_body = ty })     go (L loc ty)-       = L loc (HsQualTy { hst_xqual = noExt+       = L loc (HsQualTy { hst_xqual = noExtField                          , hst_ctxt = add_ctxt (L loc []), hst_body = L loc ty })      extra_pred = nlHsTyConApp cls (lHsQTyVarsToTypes tvs0)@@ -170,7 +169,7 @@  lHsQTyVarsToTypes :: LHsQTyVars GhcRn -> [LHsType GhcRn] lHsQTyVarsToTypes tvs-  = [ noLoc (HsTyVar NoExt NotPromoted (noLoc (hsLTyVarName tv)))+  = [ noLoc (HsTyVar noExtField NotPromoted (noLoc (hsLTyVarName tv)))     | tv <- hsQTvExplicit tvs ]  --------------------------------------------------------------------------------@@ -216,7 +215,7 @@         field_avail :: LConDeclField GhcRn -> Bool         field_avail (L _ (ConDeclField _ fs _ _))             = all (\f -> extFieldOcc (unLoc f) `elem` names) fs-        field_avail (L _ (XConDeclField _)) = panic "haddock:field_avail"+        field_avail (L _ (XConDeclField nec)) = noExtCon nec         field_types flds = [ t | ConDeclField _ _ t _ <- flds ]      keep _ = Nothing@@ -232,9 +231,7 @@ -- This function is here, rather than in HsTypes, because it *renamed*, but -- does not necessarily have all the rigt kind variables.  It is used -- in Haddock just for printing, so it doesn't matter-emptyHsQTvs = HsQTvs { hsq_ext = HsQTvsRn-                       { hsq_implicit = error "haddock:emptyHsQTvs"-                       , hsq_dependent = error "haddock:emptyHsQTvs" }+emptyHsQTvs = HsQTvs { hsq_ext = error "haddock:emptyHsQTvs"                      , hsq_explicit = [] }  
haddock-api/src/Haddock/Utils/Json.hs view
@@ -19,7 +19,7 @@ import Data.Int import Data.String import Data.Word-import Data.List+import Data.List (intersperse) import Data.Monoid  import Data.ByteString.Builder (Builder)
+ haddock-library/src/CompatPrelude.hs view
@@ -0,0 +1,52 @@+{-# LANGUAGE CPP #-}++#if !MIN_VERSION_base(4,5,0)+# error This module doesn't provide compat-shims for versions prior to base-4.5+#endif++-- | Bridge impedance mismatch of different @base@ versions back till @base-4.5@ (GHC 7.4.2)+module CompatPrelude+    ( ($>)+    , isSymbolChar+    ) where++#if MIN_VERSION_base(4,7,0)+import           Data.Functor                ( ($>) )+#else+import           Data.Functor                ( (<$) )+#endif++#if MIN_VERSION_base(4,9,0)+import           Text.Read.Lex                      (isSymbolChar)+#else+import           Data.Char (GeneralCategory(..), generalCategory)+#endif+++#if !MIN_VERSION_base(4,7,0)+infixl 4 $>++-- | Flipped version of '<$'.+--+-- @since 4.7.0.0+($>) :: Functor f => f a -> b -> f b+($>) = flip (<$)+#endif++#if !MIN_VERSION_base(4,9,0)+-- inlined from base-4.10.0.0+isSymbolChar :: Char -> Bool+isSymbolChar c = not (isPuncChar c) && case generalCategory c of+    MathSymbol           -> True+    CurrencySymbol       -> True+    ModifierSymbol       -> True+    OtherSymbol          -> True+    DashPunctuation      -> True+    OtherPunctuation     -> c `notElem` "'\""+    ConnectorPunctuation -> c /= '_'+    _                    -> False+  where+    -- | The @special@ character class as defined in the Haskell Report.+    isPuncChar :: Char -> Bool+    isPuncChar = (`elem` (",;()[]{}`" :: String))+#endif
haddock-library/src/Documentation/Haddock/Parser.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE CPP               #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE ViewPatterns      #-} -- |@@ -268,7 +267,7 @@ -- >>> parseString "\\(\\int_{-\\infty}^{\\infty} e^{-x^2/2} = \\sqrt{2\\pi}\\)" -- DocMathInline "\\int_{-\\infty}^{\\infty} e^{-x^2/2} = \\sqrt{2\\pi}" mathInline :: Parser (DocH mod a)-mathInline = DocMathInline . T.unpack +mathInline = DocMathInline . T.unpack              <$> disallowNewline  ("\\(" *> takeUntil "\\)")  -- | Display math parser, surrounded by \\[ and \\].@@ -493,7 +492,7 @@     -- extract cell contents given boundaries     extract :: Int -> Int -> Int -> Int -> Text     extract x y x2 y2 = T.intercalate "\n"-        [ T.take (x2 - x + 1) $ T.drop x $ rs !! y'+        [ T.stripEnd $ T.stripStart $ T.take (x2 - x + 1) $ T.drop x $ rs !! y'         | y' <- [y .. y2]         ] @@ -580,7 +579,7 @@         Right i -> (label, contents) : i  -- | Drops all trailing newlines.-dropNLs :: Text -> Text +dropNLs :: Text -> Text dropNLs = T.dropWhileEnd (== '\n')  -- | Main worker for 'innerList' and 'definitionList'.@@ -654,7 +653,7 @@ -- -- More precisely: skips all whitespace-only lines and returns indentation -- (horizontal space, might be empty) of that non-empty line.-takeIndent :: Parser Text +takeIndent :: Parser Text takeIndent = do   indent <- takeHorizontalSpace   choice' [ "\n" *> takeIndent@@ -712,14 +711,14 @@         substituteBlankLine "<BLANKLINE>" = ""         substituteBlankLine xs = xs -nonEmptyLine :: Parser Text +nonEmptyLine :: Parser Text nonEmptyLine = try (mfilter (T.any (not . isSpace)) takeLine)  takeLine :: Parser Text takeLine = try (takeWhile (/= '\n') <* endOfLine)  endOfLine :: Parser ()-endOfLine = void "\n" <|> Parsec.eof +endOfLine = void "\n" <|> Parsec.eof  -- | Property parser. --@@ -801,7 +800,7 @@ autoUrl = mkLink <$> url   where     url = mappend <$> choice' [ "http://", "https://", "ftp://"] <*> takeWhile1 (not . isSpace)-    +     mkLink :: Text -> DocH mod a     mkLink s = case T.unsnoc s of       Just (xs,x) | x `elem` (",.!?" :: String) -> DocHyperlink (mkHyperlink xs) `docAppend` DocString [x]
haddock-library/src/Documentation/Haddock/Parser/Identifier.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE CPP          #-} {-# LANGUAGE BangPatterns #-} {-# LANGUAGE ViewPatterns #-} -- |@@ -29,15 +28,8 @@  import           Data.Char (isAlpha, isAlphaNum) import Control.Monad (guard)-import Data.Functor (($>))-#if MIN_VERSION_base(4,9,0)-import           Text.Read.Lex                      (isSymbolChar)-#else-import           Data.Char                          (GeneralCategory (..),-                                                     generalCategory)-#endif- import Data.Maybe+import CompatPrelude  -- | Identifier string surrounded with namespace, opening, and closing quotes/backticks. data Identifier = Identifier !Namespace !Char String !Char@@ -56,24 +48,6 @@           s' = s{ stateInput = inp', statePos = posCl }       in setParserState s' $> Identifier ns op (T.unpack ident) cl --#if !MIN_VERSION_base(4,9,0)--- inlined from base-4.10.0.0-isSymbolChar :: Char -> Bool-isSymbolChar c = not (isPuncChar c) && case generalCategory c of-    MathSymbol           -> True-    CurrencySymbol       -> True-    ModifierSymbol       -> True-    OtherSymbol          -> True-    DashPunctuation      -> True-    OtherPunctuation     -> c `notElem` "'\""-    ConnectorPunctuation -> c /= '_'-    _                    -> False-  where-    -- | The @special@ character class as defined in the Haskell Report.-    isPuncChar :: Char -> Bool-    isPuncChar = (`elem` (",;()[]{}`" :: String))-#endif  -- | Try to parse a delimited identifier off the front of the given input. --
haddock-library/src/Documentation/Haddock/Parser/Monad.hs view
@@ -29,7 +29,6 @@ import           Data.Text                   ( Text )  import           Control.Monad               ( mfilter )-import           Data.Functor                ( ($>) ) import           Data.String                 ( IsString(..) ) import           Data.Bits                   ( Bits(..) ) import           Data.Char                   ( ord )@@ -37,7 +36,9 @@ import           Control.Applicative as App  import           Documentation.Haddock.Types ( Version )+ import           Prelude hiding (takeWhile)+import           CompatPrelude  -- | The only bit of information we really care about truding along with us -- through parsing is the version attached to a @\@since@ annotation - if
haddock-library/src/Documentation/Haddock/Types.hs view
@@ -44,14 +44,17 @@           } deriving (Eq, Show, Functor, Foldable, Traversable)  #if MIN_VERSION_base(4,8,0)+-- | __NOTE__: Only defined for @base >= 4.8.0@ instance Bifunctor MetaDoc where   bimap f g (MetaDoc m d) = MetaDoc m (bimap f g d) #endif  #if MIN_VERSION_base(4,10,0)+-- | __NOTE__: Only defined for @base >= 4.10.0@ instance Bifoldable MetaDoc where   bifoldr f g z d = bifoldr f g z (_doc d) +-- | __NOTE__: Only defined for @base >= 4.10.0@ instance Bitraversable MetaDoc where   bitraverse f g (MetaDoc m d) = MetaDoc m <$> bitraverse f g d #endif@@ -131,6 +134,7 @@   deriving (Eq, Show, Functor, Foldable, Traversable)  #if MIN_VERSION_base(4,8,0)+-- | __NOTE__: Only defined for @base >= 4.8.0@ instance Bifunctor DocH where   bimap _ _ DocEmpty = DocEmpty   bimap f g (DocAppend docA docB) = DocAppend (bimap f g docA) (bimap f g docB)@@ -159,6 +163,7 @@ #endif  #if MIN_VERSION_base(4,10,0)+-- | __NOTE__: Only defined for @base >= 4.10.0@ instance Bifoldable DocH where   bifoldr f g z (DocAppend docA docB) = bifoldr f g (bifoldr f g z docA) docB   bifoldr f g z (DocParagraph doc) = bifoldr f g z doc@@ -176,6 +181,7 @@   bifoldr f g z (DocTable (Table header body)) = foldr (\r acc -> foldr (flip (bifoldr f g)) acc r) (foldr (\r acc -> foldr (flip (bifoldr f g)) acc r) z body) header   bifoldr _ _ z _ = z +-- | __NOTE__: Only defined for @base >= 4.10.0@ instance Bitraversable DocH where   bitraverse _ _ DocEmpty = pure DocEmpty   bitraverse f g (DocAppend docA docB) = DocAppend <$> bitraverse f g docA <*> bitraverse f g docB
haddock.cabal view
@@ -1,6 +1,6 @@ cabal-version:        2.4 name:                 haddock-version:              2.23.1+version:              2.24.0 synopsis:             A documentation-generation tool for Haskell libraries description:   This is Haddock, a tool for automatically generating documentation@@ -23,7 +23,7 @@   without any documentation annotations, Haddock can generate useful documentation   from your source code.   .-  <<https://cdn.rawgit.com/haskell/haddock/ghc-8.8/doc/cheatsheet/haddocks.svg>>+  <<https://cdn.rawgit.com/haskell/haddock/ghc-8.10/doc/cheatsheet/haddocks.svg>> license:              BSD-3-Clause license-file:         LICENSE author:               Simon Marlow, David Waern@@ -33,7 +33,7 @@ copyright:            (c) Simon Marlow, David Waern category:             Documentation build-type:           Simple-tested-with:          GHC==8.8.2+tested-with:          GHC==8.10.*  extra-source-files:   CHANGES.md@@ -66,7 +66,7 @@    -- haddock typically only supports a single GHC major version   build-depends:-    base ^>= 4.13.0.0+    base ^>= 4.14.0.0    if flag(in-ghc-tree)     hs-source-dirs: haddock-api/src,  haddock-library/src@@ -79,13 +79,15 @@       array,       xhtml >= 3000.2 && < 3000.3,       ghc-boot,-      ghc == 8.8.*,+      ghc-boot-th,+      ghc == 8.10.*,       bytestring,       parsec,       text,       transformers      other-modules:+      CompatPrelude       Documentation.Haddock.Parser       Documentation.Haddock.Parser.Monad       Documentation.Haddock.Parser.Identifier@@ -142,7 +144,7 @@   else     -- in order for haddock's advertised version number to have proper meaning,     -- we pin down to a single haddock-api version.-    build-depends:  haddock-api == 2.23.1+    build-depends:  haddock-api == 2.24.0  test-suite html-test   type:             exitcode-stdio-1.0
html-test/ref/A.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -106,7 +106,7 @@ 		  >A</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -181,8 +181,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bold.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -93,8 +93,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bug1.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -89,15 +89,13 @@ 		  >T</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bug1004.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -92,7 +92,7 @@ 		  >Pair</a 		  > (f a) (g a)</td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -1901,7 +1901,7 @@ 		      >)</span 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -1991,7 +1991,7 @@ 		      > f g a)</span 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -2071,8 +2071,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bug1033.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -64,7 +64,7 @@ 		  >Foo</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -167,7 +167,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -215,8 +215,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bug1035.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -92,7 +92,7 @@ 		  >Bar</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -116,7 +116,7 @@ 		  >Foo</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -139,8 +139,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bug1063.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -73,7 +73,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -93,8 +93,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bug1103.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -81,7 +81,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -121,7 +121,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -181,7 +181,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -219,7 +219,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -261,7 +261,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -303,7 +303,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -361,7 +361,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -397,7 +397,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -437,7 +437,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -477,7 +477,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -519,7 +519,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -549,8 +549,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bug195.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -64,7 +64,7 @@ 		  >A</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td colspan="2"@@ -102,7 +102,7 @@ 		  >B</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td colspan="2"@@ -140,7 +140,7 @@ 		  >C</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td colspan="2"@@ -177,8 +177,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bug2.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -57,8 +57,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bug201.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -98,8 +98,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bug253.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="index.html"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -93,8 +93,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bug26.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -205,8 +205,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bug280.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -44,7 +44,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -73,8 +73,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bug294.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -77,7 +77,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -119,7 +119,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -217,7 +217,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -279,7 +279,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -339,7 +339,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -367,8 +367,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bug298.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -135,8 +135,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bug3.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -76,8 +76,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bug308.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -107,8 +107,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bug308CrossModule.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -85,8 +85,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bug310.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -99,8 +99,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bug313.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -128,8 +128,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bug335.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -69,7 +69,7 @@ 	    >#</a 	    ></p 	  ><div class="doc"-	  ><h3 class="caption details-toggle-control details-toggle" data-details-id="ch:f0"+	  ><h3 class="subheading details-toggle-control details-toggle" data-details-id="ch:f0" 	    >ExF:</h3 	    ><details id="ch:f0" 	    ><summary class="hide-when-js-enabled"@@ -87,7 +87,7 @@ 	    >#</a 	    ></p 	  ><div class="doc"-	  ><h3 class="caption details-toggle-control details-toggle" data-details-id="ch:g0"+	  ><h3 class="subheading details-toggle-control details-toggle" data-details-id="ch:g0" 	    >ExG:</h3 	    ><details id="ch:g0" 	    ><summary class="hide-when-js-enabled"@@ -125,8 +125,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bug387.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -113,8 +113,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bug4.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -75,8 +75,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bug458.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -77,8 +77,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bug466.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -87,7 +87,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -140,7 +140,7 @@ 		  >X</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -165,7 +165,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -211,7 +211,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -241,8 +241,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bug546.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -270,8 +270,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bug548.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -70,7 +70,7 @@ 		  >WrapArrow</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td colspan="2"@@ -84,7 +84,7 @@ 			  >unwrapArrow</a 			  > :: a b c</dfn 			><div class="doc empty"-			></div+			>&nbsp;</div 			></li 		      ></ul 		    ></div@@ -501,7 +501,7 @@ 		      >)</span 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -569,7 +569,7 @@ 		      > a b c)</span 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -625,8 +625,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bug574.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -83,8 +83,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bug6.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -158,7 +158,7 @@ 		  >Int</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -189,7 +189,7 @@ 		  >Int</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -229,7 +229,7 @@ 		  >C</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td colspan="2"@@ -245,7 +245,7 @@ 			  >Int</a 			  ></dfn 			><div class="doc empty"-			></div+			>&nbsp;</div 			></li 		      ><li 		      ><dfn class="src"@@ -255,7 +255,7 @@ 			  >Int</a 			  ></dfn 			><div class="doc empty"-			></div+			>&nbsp;</div 			></li 		      ></ul 		    ></div@@ -292,7 +292,7 @@ 		  >Int</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -322,15 +322,13 @@ 		  >Int</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bug613.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -117,7 +117,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -159,7 +159,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -214,7 +214,7 @@ 		  >ThreeVars</a 		  > a b</td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -239,7 +239,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -273,8 +273,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bug647.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -99,8 +99,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bug679.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -64,7 +64,7 @@ 		  >Bar</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -89,7 +89,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -163,7 +163,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -197,8 +197,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bug7.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -99,7 +99,7 @@ 		  >Foo</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -204,8 +204,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bug8.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -68,7 +68,7 @@ 		  >Typ</a 		  >])</td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td class="src"@@ -80,7 +80,7 @@ 		  >Typ</a 		  >])</td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -143,8 +143,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bug85.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -68,7 +68,7 @@ 		  >Foo</a 		  > f (f x)</td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -96,7 +96,7 @@ 		  >Baz</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -124,15 +124,13 @@ 		  >Qux</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bug865.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -81,8 +81,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bug923.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -100,7 +100,7 @@ 		  >(,)</a 		  > a)</td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -193,8 +193,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bug953.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -81,7 +81,7 @@ 	  ><div class="doc" 	  ><p 	    >A foo</p-	    ><h4 class="caption details-toggle-control details-toggle" data-details-id="ch:Foo0"+	    ><h4 class="subheading details-toggle-control details-toggle" data-details-id="ch:Foo0" 	    >Examples</h4 	    ><details id="ch:Foo0" 	    ><summary class="hide-when-js-enabled"@@ -100,7 +100,7 @@ 		  >Foo'</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -117,7 +117,7 @@ 	  ><div class="doc" 	  ><p 	    >A bar</p-	    ><h4 class="caption details-toggle-control details-toggle" data-details-id="ch:Bar0"+	    ><h4 class="subheading details-toggle-control details-toggle" data-details-id="ch:Bar0" 	    >Examples</h4 	    ><details id="ch:Bar0" 	    ><summary class="hide-when-js-enabled"@@ -136,15 +136,13 @@ 		  >Bar'</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bug973.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -94,7 +94,7 @@ 		  >Read</a 		  > b)</td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td class="src"@@ -136,7 +136,7 @@ 		  >Read</a 		  > b)</td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td class="src"@@ -167,8 +167,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/BugDeprecated.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -189,8 +189,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/BugExportHeadings.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -223,8 +223,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Bugs.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -66,15 +66,13 @@ 		  >Int</a 		  >)</td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/BundledPatterns.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -165,7 +165,7 @@ 		  >Vec</a 		  > 0 a</td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -453,8 +453,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/BundledPatterns2.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -272,7 +272,7 @@ 		  >Vec</a 		  > 0 a</td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -451,8 +451,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/ConstructorArgs.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -717,8 +717,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/ConstructorPatternExport.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -113,8 +113,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/DefaultAssociatedTypes.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -113,11 +113,9 @@ 	      ><p class="src" 	      ><span class="keyword" 		>type</span-		> <a id="t:Qux" class="def"+		> <a href="#" title="DefaultAssociatedTypes" 		>Qux</a-		> a = [a] <a href="#" class="selflink"-		>#</a-		></p+		> a = [a]</p 	      ></div 	    ></div 	  ><div class="subs methods"@@ -151,8 +149,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/DefaultSignatures.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -175,8 +175,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/DeprecatedClass.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -155,8 +155,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/DeprecatedData.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -185,8 +185,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/DeprecatedFunction.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -103,8 +103,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/DeprecatedFunction2.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -77,8 +77,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/DeprecatedFunction3.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -77,8 +77,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/DeprecatedModule.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -73,8 +73,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/DeprecatedModule2.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -67,8 +67,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/DeprecatedNewtype.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -151,8 +151,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/DeprecatedReExport.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -124,8 +124,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/DeprecatedRecord.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -98,7 +98,7 @@ 		  >Foo</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td colspan="2"@@ -143,8 +143,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/DeprecatedTypeFamily.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -101,8 +101,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/DeprecatedTypeSynonym.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -109,8 +109,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/DuplicateRecordFields.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -64,7 +64,7 @@ 		  >RawReplay</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td colspan="2"@@ -153,8 +153,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Examples.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -168,8 +168,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Extensions.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ><tr 	  ><th@@ -83,8 +83,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/FunArgs.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -64,7 +64,7 @@ 		  >Ord</a 		  > a</td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td class="src"@@ -228,7 +228,7 @@ 		  >()</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td class="src"@@ -285,8 +285,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/GADTRecords.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -122,7 +122,7 @@ 		  >H1</a 		  > a b</td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td class="src"@@ -134,7 +134,7 @@ 		  >H1</a 		  > a a</td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td class="src"@@ -142,7 +142,7 @@ 		  >C3</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td colspan="2"@@ -164,7 +164,7 @@ 			></li 		      ><li 		      ><dfn class="src"-			>} -&gt; <a href="#" title="GADTRecords"+			>&nbsp;&nbsp;&nbsp;} -&gt; <a href="#" title="GADTRecords" 			  >H1</a 			  > <a href="#" title="Data.Int" 			  >Int</a@@ -172,7 +172,7 @@ 			  >Int</a 			  ></dfn 			><div class="doc empty"-			></div+			>&nbsp;</div 			></li 		      ></ul 		    ></div@@ -184,7 +184,7 @@ 		  >C4</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td colspan="2"@@ -204,13 +204,13 @@ 			></li 		      ><li 		      ><dfn class="src"-			>} -&gt; <a href="#" title="GADTRecords"+			>&nbsp;&nbsp;&nbsp;} -&gt; <a href="#" title="GADTRecords" 			  >H1</a 			  > <a href="#" title="Data.Int" 			  >Int</a 			  > a</dfn 			><div class="doc empty"-			></div+			>&nbsp;</div 			></li 		      ></ul 		    ></div@@ -221,8 +221,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/GadtConstructorArgs.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -66,7 +66,7 @@ 		  >Fot</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td colspan="2"@@ -92,7 +92,7 @@ 			></li 		      ><li 		      ><dfn class="src"-			>, <a id="v:y" class="def"+			>&nbsp;&nbsp;&nbsp;, <a id="v:y" class="def" 			  >y</a 			  > :: <a href="#" title="Data.Int" 			  >Int</a@@ -108,11 +108,11 @@ 			></li 		      ><li 		      ><dfn class="src"-			>} -&gt; <a href="#" title="GadtConstructorArgs"+			>&nbsp;&nbsp;&nbsp;} -&gt; <a href="#" title="GadtConstructorArgs" 			  >Boo</a 			  ></dfn 			><div class="doc empty"-			></div+			>&nbsp;</div 			></li 		      ></ul 		    ></div@@ -152,7 +152,7 @@ 			></li 		      ><li 		      ><dfn class="src"-			>, <a id="v:z" class="def"+			>&nbsp;&nbsp;&nbsp;, <a id="v:z" class="def" 			  >z</a 			  > :: <a href="#" title="Data.Int" 			  >Int</a@@ -168,7 +168,7 @@ 			></li 		      ><li 		      ><dfn class="src"-			>} -&gt; <a href="#" title="GadtConstructorArgs"+			>&nbsp;&nbsp;&nbsp;} -&gt; <a href="#" title="GadtConstructorArgs" 			  >Boo</a 			  ></dfn 			><div class="doc"@@ -189,8 +189,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Hash.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -314,7 +314,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -356,7 +356,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -400,7 +400,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -432,8 +432,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/HiddenInstances.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -315,8 +315,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/HiddenInstancesB.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -175,8 +175,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Hyperlinks.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -81,8 +81,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Identifiers.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -92,7 +92,7 @@ 		  >Id</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -116,7 +116,7 @@ 		  >:*</a 		  > b</td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -279,8 +279,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/IgnoreExports.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -133,8 +133,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/ImplicitParams.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -64,7 +64,7 @@ 		  >X</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -109,8 +109,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Instances.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -64,7 +64,7 @@ 		  >Xyzzy</a 		  > (b -&gt; (a, a))</td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -89,7 +89,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -199,7 +199,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -249,7 +249,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -311,7 +311,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -377,7 +377,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -427,7 +427,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -489,7 +489,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -539,7 +539,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -603,7 +603,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -715,7 +715,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -817,7 +817,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -903,7 +903,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -963,7 +963,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -1055,7 +1055,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -1115,7 +1115,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -1279,7 +1279,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -1341,7 +1341,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -1403,7 +1403,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -1467,7 +1467,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -1541,7 +1541,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -1614,7 +1614,7 @@ 		  >Qx</a 		  > a</td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td class="src"@@ -1622,7 +1622,7 @@ 		  >Qux</a 		  > a b</td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td class="src"@@ -1630,7 +1630,7 @@ 		  >Quux</a 		  > a b c</td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -1655,7 +1655,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -1719,7 +1719,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -1821,7 +1821,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -1901,7 +1901,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -2015,7 +2015,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -2089,7 +2089,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -2141,8 +2141,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Math.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -103,8 +103,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Minimal.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -337,8 +337,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/ModuleWithWarning.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -73,8 +73,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/NamedDoc.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -59,8 +59,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/NamespacedIdentifiers.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="index.html"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -116,7 +116,7 @@ 		  >Bar</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -139,8 +139,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Nesting.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -353,8 +353,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/NoLayout.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -79,8 +79,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/NonGreedy.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -75,8 +75,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Operators.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -330,7 +330,7 @@ 		  ></span 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -521,8 +521,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/OrphanInstances.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -105,8 +105,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/OrphanInstancesClass.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -125,8 +125,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/OrphanInstancesType.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -66,7 +66,7 @@ 		  >Int</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -127,8 +127,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/PR643.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -75,8 +75,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/PR643_1.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -75,8 +75,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/PatternSyns.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -86,13 +86,13 @@ 	      >pattern</span 	      > <a href="#" 	      >(:&lt;-&gt;)</a-	      > :: x -&gt; x1 -&gt; (<a href="#" title="PatternSyns"+	      > :: x1 -&gt; x2 -&gt; (<a href="#" title="PatternSyns" 	      >FooType</a-	      > x, <a href="#" title="PatternSyns"+	      > x1, <a href="#" title="PatternSyns" 	      >FooType</a 	      > (<a href="#" title="PatternSyns" 	      >FooType</a-	      > x1))</li+	      > x2))</li 	    ><li class="src short" 	    ><span class="keyword" 	      >data</span@@ -170,7 +170,7 @@ 		  >FooCtor</a 		  > x</td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -223,13 +223,13 @@ 	    >pattern</span 	    > <a id="v::-60--45--62-" class="def" 	    >(:&lt;-&gt;)</a-	    > :: x -&gt; x1 -&gt; (<a href="#" title="PatternSyns"+	    > :: x1 -&gt; x2 -&gt; (<a href="#" title="PatternSyns" 	    >FooType</a-	    > x, <a href="#" title="PatternSyns"+	    > x1, <a href="#" title="PatternSyns" 	    >FooType</a 	    > (<a href="#" title="PatternSyns" 	    >FooType</a-	    > x1)) <a href="#" class="selflink"+	    > x2)) <a href="#" class="selflink" 	    >#</a 	    ></p 	  ><div class="doc"@@ -268,7 +268,7 @@ 		  >BlubCtor</a 		  > x</td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -322,7 +322,7 @@ 		  >Empty</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -368,8 +368,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/PromotedTypes.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -64,7 +64,7 @@ 		  >RNil</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td class="src"@@ -74,7 +74,7 @@ 		  >:&gt;</a 		  > a</td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -102,7 +102,7 @@ 		  >Pattern</a 		  > '[]</td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td class="src"@@ -116,7 +116,7 @@ 		  >Pattern</a 		  > (h ': t)</td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -148,7 +148,7 @@ 		  >RNil</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td class="src"@@ -164,7 +164,7 @@ 		  >:&gt;</a 		  > h)</td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -192,15 +192,13 @@ 		  >Tuple</a 		  > '(a, b)</td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Properties.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -85,8 +85,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/PruneWithWarning.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -60,8 +60,6 @@       ><div id="interface"       ></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/QuantifiedConstraints.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -97,8 +97,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/QuasiExpr.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -66,7 +66,7 @@ 		  >Integer</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td class="src"@@ -76,7 +76,7 @@ 		  >String</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td class="src"@@ -90,7 +90,7 @@ 		  >Expr</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td class="src"@@ -100,7 +100,7 @@ 		  >String</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -125,7 +125,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -198,7 +198,7 @@ 		  >AddOp</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td class="src"@@ -206,7 +206,7 @@ 		  >SubOp</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td class="src"@@ -214,7 +214,7 @@ 		  >MulOp</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td class="src"@@ -222,7 +222,7 @@ 		  >DivOp</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -247,7 +247,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -339,8 +339,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/QuasiQuote.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -57,8 +57,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/SpuriousSuperclassConstraints.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -101,7 +101,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -155,7 +155,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -235,8 +235,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/TH.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -59,8 +59,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/TH2.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -55,8 +55,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Table.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -87,33 +87,33 @@ 	    ><thead 	      ><tr 		><th-		  > code </th+		  >code</th 		  ><th-		  > message      </th+		  >message</th 		  ><th-		  > description                              </th+		  >description</th 		  ></tr 		></thead 	      ><tbody 	      ><tr 		><td-		  > 200  </td+		  >200</td 		  ><td-		  >   <code+		  ><code 		    >OK</code-		    >       </td+		    ></td 		  ><td-		  > operation successful                     </td+		  >operation successful</td 		  ></tr 		><tr 		><td-		  > 204  </td+		  >204</td 		  ><td-		  > <code+		  ><code 		    >No Content</code-		    > </td+		    ></td 		  ><td-		  > operation successful, no body returned   </td+		  >operation successful, no body returned</td 		  ></tr 		></tbody 	      ></table@@ -133,33 +133,33 @@ 	    ><tbody 	      ><tr 		><td-		  > 200  </td+		  >200</td 		  ><td-		  >   <code+		  ><code 		    >OK</code-		    >       </td+		    ></td 		  ><td-		  > operation successful                     </td+		  >operation successful</td 		  ></tr 		><tr 		><td-		  > 204  </td+		  >204</td 		  ><td-		  > <code+		  ><code 		    >No Content</code-		    > </td+		    ></td 		  ><td-		  > operation successful, no body returned   </td+		  >operation successful, no body returned</td 		  ></tr 		><tr 		><td-		  > 404  </td+		  >404</td 		  ><td-		  > <code+		  ><code 		    >Not Found</code-		    >  </td+		    ></td 		  ><td-		  > resource not found                       </td+		  >resource not found</td 		  ></tr 		></tbody 	      ></table@@ -179,57 +179,57 @@ 	    ><thead 	      ><tr 		><th-		  > Header row, column 1   - (header rows optional) </th+		  >Header row, column 1+(header rows optional)</th 		  ><th-		  > Header 2   -            </th+		  >Header 2+</th 		  ><th-		  > Header 3 -          </th+		  >Header 3+</th 		  ><th-		  > Header 4 -          </th+		  >Header 4+</th 		  ></tr 		></thead 	      ><tbody 	      ><tr 		><td-		  > body row 1, column 1   </td+		  >body row 1, column 1</td 		  ><td-		  > column 2   </td+		  >column 2</td 		  ><td-		  > column 3 </td+		  >column 3</td 		  ><td-		  > column 4 </td+		  >column 4</td 		  ></tr 		><tr 		><td-		  > <code+		  ><code 		    ><a href="#" title="Table" 		      >tableWithHeader</a 		      ></code-		    >      </td+		    ></td 		  ><td colspan="3"-		  > Cells may span columns.          </td+		  >Cells may span columns.</td 		  ></tr 		><tr 		><td-		  > body row 3             </td+		  >body row 3</td 		  ><td rowspan="2"-		  > Cells may  - span rows. -            </td+		  >Cells may+span rows.+</td 		  ><td colspan="2" rowspan="2"-		  > <span class="mathjax"-		    >\[                  - f(n) = \sum_{i=1}   - \]</span-		    >                  </td+		  ><span class="mathjax"+		    >\[+f(n) = \sum_{i=1}+\]</span+		    ></td 		  ></tr 		><tr 		><td-		  > body row 4             </td+		  >body row 4</td 		  ></tr 		></tbody 	      ></table@@ -237,8 +237,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Test.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -66,7 +66,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -800,7 +800,7 @@ 		  >A1</a 		  > a</td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td class="src"@@ -808,7 +808,7 @@ 		  >B1</a 		  > b</td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -832,7 +832,7 @@ 		  >A2</a 		  > a</td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td class="src"@@ -840,7 +840,7 @@ 		  >B2</a 		  > b</td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -974,7 +974,7 @@ 		  >N1</a 		  > a</td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -1002,7 +1002,7 @@ 		  >N2</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td colspan="2"@@ -1016,7 +1016,7 @@ 			  >n</a 			  > :: a b</dfn 			><div class="doc empty"-			></div+			>&nbsp;</div 			></li 		      ></ul 		    ></div@@ -1048,7 +1048,7 @@ 		  >N3</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td colspan="2"@@ -1111,7 +1111,7 @@ 		  >N5</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td colspan="2"@@ -1171,7 +1171,7 @@ 			  >n6</a 			  > :: a b</dfn 			><div class="doc empty"-			></div+			>&nbsp;</div 			></li 		      ></ul 		    ></div@@ -1223,7 +1223,7 @@ 			  >n7</a 			  > :: a b</dfn 			><div class="doc empty"-			></div+			>&nbsp;</div 			></li 		      ></ul 		    ></div@@ -1398,7 +1398,7 @@ 			  >T5</a 			  > () ()</dfn 			><div class="doc empty"-			></div+			>&nbsp;</div 			></li 		      ><li 		      ><dfn class="src"@@ -1410,7 +1410,7 @@ 			  >Int</a 			  ></dfn 			><div class="doc empty"-			></div+			>&nbsp;</div 			></li 		      ></ul 		    ></div@@ -1683,7 +1683,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -1735,7 +1735,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -2083,7 +2083,7 @@ 		  >Ex1</a 		  > b</td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td class="src"@@ -2093,7 +2093,7 @@ 		  >Ex2</a 		  > b</td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td class="src"@@ -2105,7 +2105,7 @@ 		  >Ex3</a 		  > b</td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td class="src"@@ -2115,7 +2115,7 @@ 		  >forall</span 		  > a. a -&gt; a)</td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -2273,7 +2273,7 @@ 		  >R</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td class="src"@@ -2407,8 +2407,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Threaded.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -88,8 +88,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Threaded_TH.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -93,8 +93,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Ticket112.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -75,8 +75,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Ticket61.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -73,8 +73,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Ticket75.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -86,7 +86,7 @@ 		  >Q</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -111,8 +111,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/TitledPicture.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -105,8 +105,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/TypeFamilies.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -235,7 +235,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -393,7 +393,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -435,7 +435,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -475,7 +475,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -629,7 +629,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -779,7 +779,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -817,7 +817,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -857,7 +857,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -987,7 +987,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -1038,7 +1038,7 @@ 		  >ZA</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td class="src"@@ -1046,7 +1046,7 @@ 		  >ZB</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -1700,7 +1700,7 @@ 		  >X</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td class="src"@@ -1710,7 +1710,7 @@ 		  >Y</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -1749,7 +1749,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -1793,7 +1793,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -1835,7 +1835,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -1897,7 +1897,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -1917,8 +1917,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/TypeFamilies2.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -361,7 +361,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -389,8 +389,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/TypeFamilies3.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -100,7 +100,7 @@ 		  >Int</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td class="src"@@ -108,7 +108,7 @@ 		  >Foo</a 		  > _ = ()</td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ></table 	    ></div@@ -149,7 +149,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -185,7 +185,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -247,7 +247,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -289,7 +289,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -329,7 +329,7 @@ 		    >#</a 		    ></td 		  ><td class="doc empty"-		  ></td+		  >&nbsp;</td 		  ></tr 		><tr 		><td colspan="2"@@ -357,8 +357,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/TypeOperators.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -94,7 +94,7 @@ 		  >O</a 		  ></td 		><td class="doc empty"-		></td+		>&nbsp;</td 		></tr 	      ><tr 	      ><td colspan="2"@@ -108,7 +108,7 @@ 			  >unO</a 			  > :: g (f a)</dfn 			><div class="doc empty"-			></div+			>&nbsp;</div 			></li 		      ></ul 		    ></div@@ -183,8 +183,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/UnboxedStuff.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -195,8 +195,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Unicode.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -75,8 +75,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Unicode2.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -97,8 +97,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
html-test/ref/Visible.html view
@@ -10,14 +10,14 @@      /><script src="haddock-bundle.min.js" async="async" type="text/javascript"     ></script     ><script type="text/x-mathjax-config"-    >MathJax.Hub.Config({ tex2jax: { processClass: &quot;mathjax&quot;, ignoreClass: &quot;.*&quot; } });</script+    >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script     ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"     ></script     ></head   ><body   ><div id="package-header"     ><span class="caption empty"-      ></span+      >&nbsp;</span       ><ul class="links" id="page-menu"       ><li 	><a href="#"@@ -36,7 +36,7 @@ 	  ><th 	    >Safe Haskell</th 	    ><td-	    >Safe</td+	    >Safe-Inferred</td 	    ></tr 	  ></table 	><p class="caption"@@ -59,8 +59,6 @@ 	  ></div 	></div       ></div-    ><div id="footer"-    ></div     ></body   ></html >
hypsrc-test/ref/src/Bug1091.html view
hypsrc-test/ref/src/CPP.html view
@@ -78,7 +78,10 @@       ><span       > </span       ><span class="annot"-      ><span class="hs-string"+      ><span class="annottext"+	>String+</span+	><span class="hs-string" 	>&quot;foo&quot;</span 	></span       ><span class="hs-cpp"@@ -130,7 +133,10 @@       ><span       > </span       ><span class="annot"-      ><span class="hs-string"+      ><span class="annottext"+	>String+</span+	><span class="hs-string" 	>&quot;block comment in a string is not a comment {- &quot;</span 	></span       ><span class="hs-cpp"@@ -213,7 +219,10 @@       ><span       > </span       ><span class="annot"-      ><span class="hs-string"+      ><span class="annottext"+	>String+</span+	><span class="hs-string" 	>&quot;line comment in a string is not a comment --&quot;</span 	></span       ><span
− hypsrc-test/ref/src/ClangCppBug.html
@@ -1,306 +0,0 @@-<html xmlns="http://www.w3.org/1999/xhtml"-><head-  ><link rel="stylesheet" type="text/css" href="style.css"-     /><script type="text/javascript" src="highlight.js"-    ></script-    ></head-  ><body-  ><pre-    ><span class="hs-pragma"-      >{-# LANGUAGE CPP #-}</span-      ><span-      >-</span-      ><span id=""-      ></span-      ><span class="hs-keyword"-      >module</span-      ><span-      > </span-      ><span class="hs-identifier"-      >ClangCppBug</span-      ><span-      > </span-      ><span class="hs-keyword"-      >where</span-      ><span-      >-</span-      ><span id=""-      ></span-      ><span-      >-</span-      ><span id=""-      ></span-      ><span class="annot"-      ><a href="ClangCppBug.html#foo"-	><span class="hs-identifier hs-type"-	  >foo</span-	  ></a-	></span-      ><span-      > </span-      ><span class="hs-glyph"-      >::</span-      ><span-      > </span-      ><span class="annot"-      ><span class="hs-identifier hs-type"-	>Int</span-	></span-      ><span-      >-</span-      ><span id=""-      ></span-      ><span id="foo"-      ><span class="annot"-	><span class="annottext"-	  >foo :: Int-</span-	  ><a href="ClangCppBug.html#foo"-	  ><span class="hs-identifier hs-var hs-var"-	    >foo</span-	    ></a-	  ></span-	></span-      ><span-      > </span-      ><span class="hs-glyph"-      >=</span-      ><span-      > </span-      ><span class="annot"-      ><span class="hs-number"-	>1</span-	></span-      ><span-      >-</span-      ><span id=""-      ></span-      ><span-      >-</span-      ><span id=""-      ></span-      ><span class="hs-comment"-      >-- Clang doesn't mind these:</span-      ><span class="hs-cpp"-      >-#define BAX 2-</span-      ><span class="hs-pragma"-      >{-# INLINE</span-      ><span-      > </span-      ><span class="annot"-      ><a href="ClangCppBug.html#bar"-	><span class="hs-pragma hs-type"-	  >bar</span-	  ></a-	></span-      ><span-      > </span-      ><span class="hs-pragma"-      >#-}</span-      ><span-      >-</span-      ><span id=""-      ></span-      ><span-      >-</span-      ><span id=""-      ></span-      ><span class="annot"-      ><a href="ClangCppBug.html#bar"-	><span class="hs-identifier hs-type"-	  >bar</span-	  ></a-	></span-      ><span-      > </span-      ><span class="hs-glyph"-      >::</span-      ><span-      > </span-      ><span class="annot"-      ><span class="hs-identifier hs-type"-	>Int</span-	></span-      ><span-      >-</span-      ><span id=""-      ></span-      ><span id="bar"-      ><span class="annot"-	><span class="annottext"-	  >bar :: Int-</span-	  ><a href="ClangCppBug.html#bar"-	  ><span class="hs-identifier hs-var hs-var"-	    >bar</span-	    ></a-	  ></span-	></span-      ><span-      > </span-      ><span class="hs-glyph"-      >=</span-      ><span-      > </span-      ><span class="annot"-      ><span class="hs-number"-	>3</span-	></span-      ><span-      >-</span-      ><span id=""-      ></span-      ><span-      >-</span-      ><span id=""-      ></span-      ><span class="hs-comment"-      >-- But it doesn't like this:</span-      ><span-      >-</span-      ><span id=""-      ></span-      ><span class="hs-pragma"-      >{-# RULES</span-      ><span-      >-</span-      ><span id=""-      ></span-      ><span class="annot"-      ><span class="hs-pragma"-	>&quot;bar/qux&quot;</span-	></span-      ><span-      > </span-      ><span class="annot"-      ><a href="ClangCppBug.html#bar"-	><span class="hs-pragma hs-type"-	  >bar</span-	  ></a-	></span-      ><span-      > </span-      ><span class="hs-pragma"-      >=</span-      ><span-      > </span-      ><span class="annot"-      ><a href="ClangCppBug.html#qux"-	><span class="hs-pragma hs-type"-	  >qux</span-	  ></a-	></span-      ><span-      >-</span-      ><span id=""-      ></span-      ><span class="annot"-      ><span class="hs-pragma"-	>&quot;qux/foo&quot;</span-	></span-      ><span-      > </span-      ><span class="annot"-      ><a href="ClangCppBug.html#qux"-	><span class="hs-pragma hs-type"-	  >qux</span-	  ></a-	></span-      ><span-      > </span-      ><span class="hs-pragma"-      >=</span-      ><span-      > </span-      ><span class="annot"-      ><a href="ClangCppBug.html#foo"-	><span class="hs-pragma hs-type"-	  >foo</span-	  ></a-	></span-      ><span-      >-</span-      ><span id=""-      ></span-      ><span-      >  </span-      ><span class="hs-pragma"-      >#-}</span-      ><span-      >-</span-      ><span id=""-      ></span-      ><span-      >-</span-      ><span id=""-      ></span-      ><span class="annot"-      ><a href="ClangCppBug.html#qux"-	><span class="hs-identifier hs-type"-	  >qux</span-	  ></a-	></span-      ><span-      > </span-      ><span class="hs-glyph"-      >::</span-      ><span-      > </span-      ><span class="annot"-      ><span class="hs-identifier hs-type"-	>Int</span-	></span-      ><span-      >-</span-      ><span id=""-      ></span-      ><span id="qux"-      ><span class="annot"-	><span class="annottext"-	  >qux :: Int-</span-	  ><a href="ClangCppBug.html#qux"-	  ><span class="hs-identifier hs-var hs-var"-	    >qux</span-	    ></a-	  ></span-	></span-      ><span-      > </span-      ><span class="hs-glyph"-      >=</span-      ><span-      > </span-      ><span class="annot"-      ><span class="hs-number"-	>88</span-	></span-      ><span-      >-</span-      ><span id=""-      ></span-      ></pre-    ></body-  ></html->
hypsrc-test/ref/src/Classes.html view
@@ -230,7 +230,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >x :: Int+	  >Int </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -359,8 +359,13 @@ 	  ></span 	><span 	> </span-	><span class="hs-identifier"-	>_</span+	><span class="annot"+	><span class="annottext"+	  >Int+</span+	  ><span class="hs-identifier"+	  >_</span+	  ></span 	><span 	> </span 	><span class="hs-glyph"@@ -519,7 +524,7 @@ 	><span id="" 	><span class="annot" 	  ><span class="annottext"-	    >x :: a+	    >a </span 	    ><a href="#" 	    ><span class="hs-identifier hs-var"@@ -534,7 +539,7 @@ 	><span id="" 	><span class="annot" 	  ><span class="annottext"-	    >y :: a+	    >a </span 	    ><a href="#" 	    ><span class="hs-identifier hs-var"@@ -1125,7 +1130,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >a :: a+	  >a </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -1137,8 +1142,13 @@       >)</span       ><span       > </span-      ><span class="hs-identifier"-      >_</span+      ><span class="annot"+      ><span class="annottext"+	>Either b b+</span+	><span class="hs-identifier"+	>_</span+	></span       ><span       > </span       ><span class="hs-glyph"@@ -1211,7 +1221,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >a :: a+	  >a </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -1223,8 +1233,13 @@       >)</span       ><span       > </span-      ><span class="hs-identifier"-      >_</span+      ><span class="annot"+      ><span class="annottext"+	>Either b b+</span+	><span class="hs-identifier"+	>_</span+	></span       ><span       > </span       ><span class="hs-glyph"@@ -1286,8 +1301,13 @@ 	></span       ><span       > </span-      ><span class="hs-identifier"-      >_</span+      ><span class="annot"+      ><span class="annottext"+	>Either a a+</span+	><span class="hs-identifier"+	>_</span+	></span       ><span       > </span       ><span class="hs-special"@@ -1301,7 +1321,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >b :: b+	  >b </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -1372,8 +1392,13 @@ 	></span       ><span       > </span-      ><span class="hs-identifier"-      >_</span+      ><span class="annot"+      ><span class="annottext"+	>Either a a+</span+	><span class="hs-identifier"+	>_</span+	></span       ><span       > </span       ><span class="hs-special"@@ -1387,7 +1412,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >b :: b+	  >b </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"
hypsrc-test/ref/src/Constructors.html view
@@ -346,7 +346,10 @@       ><span       > </span       ><span class="annot"-      ><span class="hs-number"+      ><span class="annottext"+	>Int+</span+	><span class="hs-number" 	>0</span 	></span       ><span@@ -411,8 +414,11 @@       ><span       > </span       ><span class="annot"-      ><a href="Constructors.html#Bar"-	><span class="hs-identifier hs-type"+      ><span class="annottext"+	>Foo+</span+	><a href="Constructors.html#Bar"+	><span class="hs-identifier hs-var" 	  >Bar</span 	  ></a 	></span@@ -423,7 +429,10 @@       ><span       > </span       ><span class="annot"-      ><span class="hs-number"+      ><span class="annottext"+	>Int+</span+	><span class="hs-number" 	>0</span 	></span       ><span@@ -440,8 +449,11 @@       ><span       > </span       ><span class="annot"-      ><a href="Constructors.html#Baz"-	><span class="hs-identifier hs-type"+      ><span class="annottext"+	>Foo+</span+	><a href="Constructors.html#Baz"+	><span class="hs-identifier hs-var" 	  >Baz</span 	  ></a 	></span@@ -452,7 +464,10 @@       ><span       > </span       ><span class="annot"-      ><span class="hs-number"+      ><span class="annottext"+	>Int+</span+	><span class="hs-number" 	>0</span 	></span       ><span@@ -481,7 +496,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >foo :: Foo+	  >Foo </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -494,7 +509,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >n :: Int+	  >Int </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -511,7 +526,10 @@       ><span       > </span       ><span class="annot"-      ><span class="hs-number"+      ><span class="annottext"+	>Int+</span+	><span class="hs-number" 	>42</span 	></span       ><span@@ -647,8 +665,11 @@       ><span class="hs-special"       >(</span       ><span class="annot"-      ><a href="Constructors.html#Bar"-	><span class="hs-identifier hs-type"+      ><span class="annottext"+	>Foo+</span+	><a href="Constructors.html#Bar"+	><span class="hs-identifier hs-var" 	  >Bar</span 	  ></a 	></span@@ -659,7 +680,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >xs :: [Foo]+	  >[Foo] </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -672,8 +693,11 @@       ><span       > </span       ><span class="annot"-      ><a href="Constructors.html#Bar"-	><span class="hs-identifier hs-type"+      ><span class="annottext"+	>Foo+</span+	><a href="Constructors.html#Bar"+	><span class="hs-identifier hs-var" 	  >Bar</span 	  ></a 	></span@@ -722,8 +746,11 @@       ><span class="hs-special"       >(</span       ><span class="annot"-      ><a href="Constructors.html#Baz"-	><span class="hs-identifier hs-type"+      ><span class="annottext"+	>Foo+</span+	><a href="Constructors.html#Baz"+	><span class="hs-identifier hs-var" 	  >Baz</span 	  ></a 	></span@@ -734,7 +761,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >xs :: [Foo]+	  >[Foo] </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -747,8 +774,11 @@       ><span       > </span       ><span class="annot"-      ><a href="Constructors.html#Baz"-	><span class="hs-identifier hs-type"+      ><span class="annottext"+	>Foo+</span+	><a href="Constructors.html#Baz"+	><span class="hs-identifier hs-var" 	  >Baz</span 	  ></a 	></span@@ -794,8 +824,13 @@ 	></span       ><span       > </span-      ><span class="hs-identifier"-      >_</span+      ><span class="annot"+      ><span class="annottext"+	>Norf+</span+	><span class="hs-identifier"+	>_</span+	></span       ><span       > </span       ><span class="hs-glyph"@@ -919,14 +954,19 @@ 	></span       ><span       > </span-      ><span class="hs-identifier"-      >_</span+      ><span class="annot"+      ><span class="annottext"+	>Foo+</span+	><span class="hs-identifier"+	>_</span+	></span       ><span       > </span       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >n :: Int+	  >Int </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -940,8 +980,13 @@       >,</span       ><span       > </span-      ><span class="hs-identifier"-      >_</span+      ><span class="annot"+      ><span class="annottext"+	>[Foo]+</span+	><span class="hs-identifier"+	>_</span+	></span       ><span class="hs-special"       >,</span       ><span@@ -972,7 +1017,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >f3 :: Foo+	  >Foo </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -982,8 +1027,13 @@ 	></span       ><span       > </span-      ><span class="hs-identifier"-      >_</span+      ><span class="annot"+      ><span class="annottext"+	>Int+</span+	><span class="hs-identifier"+	>_</span+	></span       ><span class="hs-special"       >)</span       ><span class="hs-special"@@ -1127,7 +1177,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >fx :: Foo+	  >Foo </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"
hypsrc-test/ref/src/Identifiers.html view
@@ -108,7 +108,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >x :: Int+	  >Int </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -121,7 +121,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >y :: Int+	  >Int </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -271,7 +271,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >x :: Int+	  >Int </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -284,7 +284,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >y :: Int+	  >Int </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -434,7 +434,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >x :: Int+	  >Int </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -447,7 +447,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >y :: Int+	  >Int </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -611,7 +611,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >x :: Int+	  >Int </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -785,7 +785,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >x :: Int+	  >Int </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -798,7 +798,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >y :: Int+	  >Int </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -811,7 +811,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >z :: Int+	  >Int </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -852,7 +852,10 @@       ><span       > </span       ><span class="annot"-      ><span class="hs-number"+      ><span class="annottext"+	>Int+</span+	><span class="hs-number" 	>0</span 	></span       ><span@@ -914,7 +917,10 @@       ><span       > </span       ><span class="annot"-      ><span class="hs-number"+      ><span class="annottext"+	>Int+</span+	><span class="hs-number" 	>0</span 	></span       ><span@@ -976,7 +982,10 @@       ><span       > </span       ><span class="annot"-      ><span class="hs-number"+      ><span class="annottext"+	>Int+</span+	><span class="hs-number" 	>0</span 	></span       ><span@@ -1415,7 +1424,10 @@       ><span       > </span       ><span class="annot"-      ><span class="hs-number"+      ><span class="annottext"+	>Int+</span+	><span class="hs-number" 	>10</span 	></span       ><span@@ -1443,7 +1455,10 @@       ><span       > </span       ><span class="annot"-      ><span class="hs-number"+      ><span class="annottext"+	>Int+</span+	><span class="hs-number" 	>20</span 	></span       ><span@@ -1471,7 +1486,10 @@       ><span       > </span       ><span class="annot"-      ><span class="hs-number"+      ><span class="annottext"+	>Int+</span+	><span class="hs-number" 	>30</span 	></span       ><span
hypsrc-test/ref/src/LinkingIdentifiers.html view
@@ -105,7 +105,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >x :: Int+	  >Int </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -128,8 +128,13 @@ 	></span       ><span       > </span-      ><span class="hs-number"-      >2</span+      ><span class="annot"+      ><span class="annottext"+	>Int+</span+	><span class="hs-number"+	>2</span+	></span       ><span       > </span       ><span class="hs-glyph"@@ -161,7 +166,10 @@       ><span       > </span       ><span class="annot"-      ><span class="hs-number"+      ><span class="annottext"+	>Int+</span+	><span class="hs-number" 	>2</span 	></span       ><span class="hs-special"@@ -203,7 +211,10 @@       ><span       > </span       ><span class="annot"-      ><span class="hs-number"+      ><span class="annottext"+	>Int+</span+	><span class="hs-number" 	>2</span 	></span       ><span class="hs-special"@@ -224,7 +235,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >x :: Int+	  >Int </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -234,8 +245,13 @@ 	></span       ><span       > </span-      ><span class="hs-number"-      >2</span+      ><span class="annot"+      ><span class="annottext"+	>Int+</span+	><span class="hs-number"+	>2</span+	></span       ><span       > </span       ><span class="hs-glyph"@@ -265,7 +281,10 @@       ><span       > </span       ><span class="annot"-      ><span class="hs-number"+      ><span class="annottext"+	>Int+</span+	><span class="hs-number" 	>2</span 	></span       ><span@@ -303,7 +322,10 @@       ><span       > </span       ><span class="annot"-      ><span class="hs-number"+      ><span class="annottext"+	>Int+</span+	><span class="hs-number" 	>2</span 	></span       ><span@@ -360,7 +382,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >x :: Int+	  >Int </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -383,8 +405,13 @@ 	></span       ><span       > </span-      ><span class="hs-number"-      >2</span+      ><span class="annot"+      ><span class="annottext"+	>Int+</span+	><span class="hs-number"+	>2</span+	></span       ><span       > </span       ><span class="hs-glyph"@@ -416,7 +443,10 @@       ><span       > </span       ><span class="annot"-      ><span class="hs-number"+      ><span class="annottext"+	>Int+</span+	><span class="hs-number" 	>2</span 	></span       ><span class="hs-special"@@ -458,7 +488,10 @@       ><span       > </span       ><span class="annot"-      ><span class="hs-number"+      ><span class="annottext"+	>Int+</span+	><span class="hs-number" 	>2</span 	></span       ><span class="hs-special"@@ -479,7 +512,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >x :: Int+	  >Int </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -489,8 +522,13 @@ 	></span       ><span       > </span-      ><span class="hs-number"-      >2</span+      ><span class="annot"+      ><span class="annottext"+	>Int+</span+	><span class="hs-number"+	>2</span+	></span       ><span       > </span       ><span class="hs-glyph"@@ -520,7 +558,10 @@       ><span       > </span       ><span class="annot"-      ><span class="hs-number"+      ><span class="annottext"+	>Int+</span+	><span class="hs-number" 	>2</span 	></span       ><span@@ -558,7 +599,10 @@       ><span       > </span       ><span class="annot"-      ><span class="hs-number"+      ><span class="annottext"+	>Int+</span+	><span class="hs-number" 	>2</span 	></span       ><span
hypsrc-test/ref/src/Literals.html view
@@ -70,7 +70,10 @@       ><span       > </span       ><span class="annot"-      ><span class="hs-string"+      ><span class="annottext"+	>String+</span+	><span class="hs-string" 	>&quot;str literal&quot;</span 	></span       ><span@@ -144,7 +147,10 @@       ><span       > </span       ><span class="annot"-      ><span class="hs-number"+      ><span class="annottext"+	>a+</span+	><span class="hs-number" 	>0</span 	></span       ><span@@ -160,7 +166,10 @@       ><span       > </span       ><span class="annot"-      ><span class="hs-number"+      ><span class="annottext"+	>a+</span+	><span class="hs-number" 	>1</span 	></span       ><span@@ -176,7 +185,10 @@       ><span       > </span       ><span class="annot"-      ><span class="hs-number"+      ><span class="annottext"+	>a+</span+	><span class="hs-number" 	>1010011</span 	></span       ><span@@ -192,7 +204,10 @@       ><span       > </span       ><span class="annot"-      ><span class="hs-number"+      ><span class="annottext"+	>a+</span+	><span class="hs-number" 	>41231</span 	></span       ><span@@ -208,7 +223,10 @@       ><span       > </span       ><span class="annot"-      ><span class="hs-number"+      ><span class="annottext"+	>a+</span+	><span class="hs-number" 	>12131</span 	></span       ><span@@ -282,7 +300,10 @@       ><span       > </span       ><span class="annot"-      ><span class="hs-number"+      ><span class="annottext"+	>a+</span+	><span class="hs-number" 	>42.0000001</span 	></span       ><span
hypsrc-test/ref/src/Operators.html view
@@ -95,7 +95,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >a :: [a]+	  >[a] </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -121,7 +121,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >b :: [a]+	  >[a] </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -260,7 +260,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >a :: [a]+	  >[a] </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -286,7 +286,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >b :: [a]+	  >[a] </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -419,7 +419,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >a :: [a]+	  >[a] </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -464,7 +464,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >a :: [a]+	  >[a] </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -476,16 +476,21 @@       > </span       ><span class="hs-special"       >(</span-      ><span class="hs-identifier"-      >_</span       ><span class="annot"+      ><span class="annottext"+	>a+</span+	><span class="hs-identifier"+	>_</span+	></span+      ><span class="annot"       ><span class="hs-glyph hs-type" 	>:</span 	></span       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >b :: [a]+	  >[a] </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -638,7 +643,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >a :: [[a]]+	  >[[a]] </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -664,7 +669,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >b :: [a]+	  >[a] </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -810,7 +815,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >a :: [[a]]+	  >[[a]] </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -836,7 +841,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >b :: [[a]]+	  >[[a]] </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -1047,7 +1052,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >a :: a+	  >a </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -1073,7 +1078,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >b :: b+	  >b </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"
hypsrc-test/ref/src/Polymorphism.html view
@@ -838,7 +838,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >x :: a+	  >a </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -851,7 +851,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >f :: forall a. a -&gt; a+	  >forall a. a -&gt; a </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -1007,7 +1007,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >x :: a+	  >a </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -1020,7 +1020,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >f :: forall a. a -&gt; a+	  >forall a. a -&gt; a </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -1992,7 +1992,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >x :: a+	  >a </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -2005,7 +2005,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >f :: forall a. Ord a =&gt; a -&gt; a+	  >forall a. Ord a =&gt; a -&gt; a </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -2167,7 +2167,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >x :: a+	  >a </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -2180,7 +2180,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >f :: forall a. Ord a =&gt; a -&gt; a+	  >forall a. Ord a =&gt; a -&gt; a </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -2285,7 +2285,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >x :: a+	  >a </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -2449,7 +2449,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >f :: a -&gt; b+	  >a -&gt; b </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -2462,7 +2462,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >x :: a+	  >a </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"
hypsrc-test/ref/src/PositionPragmas.html view
hypsrc-test/ref/src/Quasiquoter.html view
@@ -126,7 +126,7 @@ -&gt; (String -&gt; Q [Dec]) -&gt; QuasiQuoter </span-	><span class="hs-identifier hs-type hs-type"+	><span class="hs-identifier hs-type" 	>QuasiQuoter</span 	></span       ><span@@ -382,8 +382,13 @@ 	></span       ><span       > </span-      ><span class="hs-identifier"-      >_</span+      ><span class="annot"+      ><span class="annottext"+	>String+</span+	><span class="hs-identifier"+	>_</span+	></span       ><span       > </span       ><span class="hs-glyph"@@ -401,7 +406,10 @@       ><span       > </span       ><span class="annot"-      ><span class="hs-string"+      ><span class="annottext"+	>String+</span+	><span class="hs-string" 	>&quot;stringQuoter: only valid in expression context&quot;</span 	></span       ><span
hypsrc-test/ref/src/Records.html view
@@ -232,7 +232,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >x :: Int+	  >Int </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -245,7 +245,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >y :: Int+	  >Int </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -261,10 +261,10 @@       > </span       ><span class="annot"       ><span class="annottext"-	>$WPoint :: Int -&gt; Int -&gt; Point+	>Point :: Int -&gt; Int -&gt; Point </span-	><a href="Records.html#%24WPoint"-	><span class="hs-identifier hs-type hs-type"+	><a href="Records.html#Point"+	><span class="hs-identifier hs-type" 	  >Point</span 	  ></a 	></span@@ -815,7 +815,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >p :: Point+	  >Point </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -828,7 +828,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >d :: Int+	  >Int </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -938,7 +938,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >p :: Point+	  >Point </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -951,7 +951,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >d :: Int+	  >Int </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -1121,7 +1121,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >x :: Int+	  >Int </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -1134,7 +1134,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >y :: Int+	  >Int </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -1147,7 +1147,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >p :: Point+	  >Point </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -1207,7 +1207,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >dx :: Int+	  >Int </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -1222,7 +1222,7 @@       ><span id=""       ><span class="annot" 	><span class="annottext"-	  >dy :: Int+	  >Int </span 	  ><a href="#" 	  ><span class="hs-identifier hs-var"@@ -1284,22 +1284,33 @@ 	></span       ><span       > </span+      ><span class="annot"+      ><a href="Records.html#Point"+	><span class="hs-identifier hs-type"+	  >Point</span+	  ></a+	></span+      ><span class="hs-special"+      >{</span       ><span id=""       ><span id="" 	><span class="annot"-	  ><a href="Records.html#Point"-	    ><span class="hs-identifier hs-type"-	      >Point</span+	  ><span class="annottext"+	    >Int+y :: Int+x :: Int+y :: Point -&gt; Int+x :: Point -&gt; Int+</span+	    ><a href="#"+	    ><span class="hs-glyph hs-var hs-var hs-var hs-var"+	      >..</span 	      ></a 	    ></span-	  ><span class="hs-special"-	  >{</span-	  ><span class="hs-glyph"-	  >..</span-	  ><span class="hs-special"-	  >}</span 	  ></span 	></span+      ><span class="hs-special"+      >}</span       ><span       > </span       ><span class="hs-glyph"
hypsrc-test/ref/src/TemplateHaskellQuasiquotes.html view
hypsrc-test/ref/src/TemplateHaskellSplices.html view
@@ -110,6 +110,7 @@       ><span class="annot"       ><span class="annottext" 	>Double+Integer Double -&gt; Integer Integer -&gt; Integer -&gt; Integer forall a. Floating a =&gt; a
hypsrc-test/ref/src/Types.html view
@@ -713,7 +713,10 @@       ><span       > </span       ><span class="annot"-      ><span class="hs-number"+      ><span class="annottext"+	>Int+</span+	><span class="hs-number" 	>0</span 	></span       ><span@@ -772,7 +775,10 @@       ><span       > </span       ><span class="annot"-      ><span class="hs-number"+      ><span class="annottext"+	>Int+</span+	><span class="hs-number" 	>1</span 	></span       ><span@@ -890,7 +896,10 @@       ><span       > </span       ><span class="annot"-      ><span class="hs-number"+      ><span class="annottext"+	>Int+</span+	><span class="hs-number" 	>0</span 	></span       ><span@@ -949,7 +958,10 @@       ><span       > </span       ><span class="annot"-      ><span class="hs-number"+      ><span class="annottext"+	>Int+</span+	><span class="hs-number" 	>1</span 	></span       ><span@@ -1062,7 +1074,10 @@       ><span       > </span       ><span class="annot"-      ><span class="hs-number"+      ><span class="annottext"+	>Int+</span+	><span class="hs-number" 	>0</span 	></span       ><span@@ -1111,7 +1126,10 @@       ><span       > </span       ><span class="annot"-      ><span class="hs-number"+      ><span class="annottext"+	>Int+</span+	><span class="hs-number" 	>1</span 	></span       ><span@@ -1219,7 +1237,10 @@       ><span       > </span       ><span class="annot"-      ><span class="hs-number"+      ><span class="annottext"+	>Int+</span+	><span class="hs-number" 	>0</span 	></span       ><span@@ -1268,7 +1289,10 @@       ><span       > </span       ><span class="annot"-      ><span class="hs-number"+      ><span class="annottext"+	>Int+</span+	><span class="hs-number" 	>1</span 	></span       ><span
hypsrc-test/ref/src/UsingQuasiquotes.html view