diff options
-rw-r--r-- | haddock-api/haddock-api.cabal | 1 | ||||
-rw-r--r-- | haddock-api/src/Haddock/Interface.hs | 2 | ||||
-rw-r--r-- | haddock-api/src/Haddock/Interface/AttachInstances.hs | 34 | ||||
-rw-r--r-- | haddock-api/src/Haddock/Interface/Create.hs | 2 | ||||
-rw-r--r-- | html-test/ref/Bug1004.html | 1012 | ||||
-rw-r--r-- | html-test/ref/Bug1103.html | 8 | ||||
-rw-r--r-- | html-test/ref/Bug548.html | 96 | ||||
-rw-r--r-- | html-test/ref/HiddenInstances.html | 8 | ||||
-rw-r--r-- | html-test/ref/Instances.html | 354 | ||||
-rw-r--r-- | html-test/ref/SpuriousSuperclassConstraints.html | 108 | ||||
-rw-r--r-- | html-test/ref/TypeFamilies.html | 196 | ||||
-rw-r--r-- | html-test/ref/TypeFamilies2.html | 68 | ||||
-rw-r--r-- | html-test/ref/TypeFamilies3.html | 64 | ||||
-rw-r--r-- | hypsrc-test/ref/src/Classes.html | 14 | ||||
-rw-r--r-- | hypsrc-test/ref/src/Records.html | 16 | ||||
-rw-r--r-- | latex-test/ref/TypeFamilies3/TypeFamilies3.tex | 4 |
16 files changed, 1001 insertions, 986 deletions
diff --git a/haddock-api/haddock-api.cabal b/haddock-api/haddock-api.cabal index e6de8b81..e9433d73 100644 --- a/haddock-api/haddock-api.cabal +++ b/haddock-api/haddock-api.cabal @@ -68,6 +68,7 @@ library ghc-options: -funbox-strict-fields -O2 -Wall -Wcompat + -Wcompat-unqualified-imports -Widentities -Wredundant-constraints -Wnoncanonical-monad-instances diff --git a/haddock-api/src/Haddock/Interface.hs b/haddock-api/src/Haddock/Interface.hs index 16643d0e..7cc76953 100644 --- a/haddock-api/src/Haddock/Interface.hs +++ b/haddock-api/src/Haddock/Interface.hs @@ -157,7 +157,7 @@ createIfaces verbosity modules flags instIfaceMap = do -- alive to be able to find all the instances. modifySession installHaddockPlugin - targets <- mapM (\filePath -> guessTarget filePath Nothing) modules + targets <- mapM (\filePath -> guessTarget filePath Nothing Nothing) modules setTargets targets loadOk <- withTimingM "load" (const ()) $ diff --git a/haddock-api/src/Haddock/Interface/AttachInstances.hs b/haddock-api/src/Haddock/Interface/AttachInstances.hs index 317258eb..6bc8b8c8 100644 --- a/haddock-api/src/Haddock/Interface/AttachInstances.hs +++ b/haddock-api/src/Haddock/Interface/AttachInstances.hs @@ -28,6 +28,7 @@ import Data.Maybe ( maybeToList, mapMaybe, fromMaybe ) import qualified Data.Map as Map import qualified Data.Set as Set +import GHC.Data.FastString (unpackFS) import GHC.Core.Class import GHC.Driver.Session import GHC.Core (isOrphan) @@ -178,19 +179,30 @@ findFixity iface ifaceMap instIfaceMap = \name -> -- Collecting and sorting instances -------------------------------------------------------------------------------- +-- | Stable name for stable comparisons. GHC's `Name` uses unstable +-- ordering based on their `Unique`'s. +newtype SName = SName Name + +instance Eq SName where + SName n1 == SName n2 = n1 `stableNameCmp` n2 == EQ + +instance Ord SName where + SName n1 `compare` SName n2 = n1 `stableNameCmp` n2 -- | Simplified type for sorting types, ignoring qualification (not visible -- in Haddock output) and unifying special tycons with normal ones. -- For the benefit of the user (looks nice and predictable) and the -- tests (which prefer output to be deterministic). -data SimpleType = SimpleType Name [SimpleType] - | SimpleTyLit TyLit +data SimpleType = SimpleType SName [SimpleType] + | SimpleIntTyLit Integer + | SimpleStringTyLit String + | SimpleCharTyLit Char deriving (Eq,Ord) -instHead :: ([TyVar], [PredType], Class, [Type]) -> ([Int], Name, [SimpleType]) +instHead :: ([TyVar], [PredType], Class, [Type]) -> ([Int], SName, [SimpleType]) instHead (_, _, cls, args) - = (map argCount args, className cls, map simplify args) + = (map argCount args, SName (className cls), map simplify args) argCount :: Type -> Int argCount (AppTy t _) = argCount t + 1 @@ -201,14 +213,16 @@ 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 (SName 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 -simplify (TyVarTy v) = SimpleType (tyVarName v) [] -simplify (TyConApp tc ts) = SimpleType (tyConName tc) +simplify (TyVarTy v) = SimpleType (SName (tyVarName v)) [] +simplify (TyConApp tc ts) = SimpleType (SName (tyConName tc)) (mapMaybe simplify_maybe ts) -simplify (LitTy l) = SimpleTyLit l +simplify (LitTy (NumTyLit n)) = SimpleIntTyLit n +simplify (LitTy (StrTyLit s)) = SimpleStringTyLit (unpackFS s) +simplify (LitTy (CharTyLit c)) = SimpleCharTyLit c simplify (CastTy ty _) = simplify ty simplify (CoercionTy _) = error "simplify:Coercion" @@ -217,9 +231,9 @@ simplify_maybe (CoercionTy {}) = Nothing simplify_maybe ty = Just (simplify ty) -- Used for sorting -instFam :: FamInst -> ([Int], Name, [SimpleType], Int, SimpleType) +instFam :: FamInst -> ([Int], SName, [SimpleType], Int, SimpleType) instFam FamInst { fi_fam = n, fi_tys = ts, fi_rhs = t } - = (map argCount ts, n, map simplify ts, argCount t, simplify t) + = (map argCount ts, SName n, map simplify ts, argCount t, simplify t) -------------------------------------------------------------------------------- diff --git a/haddock-api/src/Haddock/Interface/Create.hs b/haddock-api/src/Haddock/Interface/Create.hs index 9a773b6c..c0b9fd46 100644 --- a/haddock-api/src/Haddock/Interface/Create.hs +++ b/haddock-api/src/Haddock/Interface/Create.hs @@ -35,7 +35,7 @@ import Control.Monad.Writer.Strict hiding (tell) import Data.Bitraversable import qualified Data.Map as M import Data.Map (Map) -import Data.List +import Data.List (foldl', find) import Data.Maybe import Data.Traversable import GHC.Stack diff --git a/html-test/ref/Bug1004.html b/html-test/ref/Bug1004.html index 4137771b..3324fae1 100644 --- a/html-test/ref/Bug1004.html +++ b/html-test/ref/Bug1004.html @@ -188,135 +188,7 @@ ><tr ><td class="src clearfix" ><span class="inst-left" - ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Monad:2" - ></span - > (<a href="#" title="Control.Monad" - >Monad</a - > f, <a href="#" title="Control.Monad" - >Monad</a - > g) => <a href="#" title="Control.Monad" - >Monad</a - > (<a href="#" title="Bug1004" - >Product</a - > f g)</span - ></td - ><td class="doc" - ><p - ><em - >Since: base-4.9.0.0</em - ></p - ></td - ></tr - ><tr - ><td colspan="2" - ><details id="i:id:Product:Monad:2" - ><summary class="hide-when-js-enabled" - >Instance details</summary - ><p - >Defined in <a href="#" - >Data.Functor.Product</a - ></p - > <div class="subs methods" - ><p class="caption" - >Methods</p - ><p class="src" - ><a href="#" - >(>>=)</a - > :: <a href="#" title="Bug1004" - >Product</a - > f g a -> (a -> <a href="#" title="Bug1004" - >Product</a - > f g b) -> <a href="#" title="Bug1004" - >Product</a - > f g b <a href="#" class="selflink" - >#</a - ></p - ><p class="src" - ><a href="#" - >(>>)</a - > :: <a href="#" title="Bug1004" - >Product</a - > f g a -> <a href="#" title="Bug1004" - >Product</a - > f g b -> <a href="#" title="Bug1004" - >Product</a - > f g b <a href="#" class="selflink" - >#</a - ></p - ><p class="src" - ><a href="#" - >return</a - > :: a -> <a href="#" title="Bug1004" - >Product</a - > f g a <a href="#" class="selflink" - >#</a - ></p - ></div - ></details - ></td - ></tr - ><tr - ><td class="src clearfix" - ><span class="inst-left" - ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Functor:3" - ></span - > (<a href="#" title="Data.Functor" - >Functor</a - > f, <a href="#" title="Data.Functor" - >Functor</a - > g) => <a href="#" title="Data.Functor" - >Functor</a - > (<a href="#" title="Bug1004" - >Product</a - > f g)</span - ></td - ><td class="doc" - ><p - ><em - >Since: base-4.9.0.0</em - ></p - ></td - ></tr - ><tr - ><td colspan="2" - ><details id="i:id:Product:Functor:3" - ><summary class="hide-when-js-enabled" - >Instance details</summary - ><p - >Defined in <a href="#" - >Data.Functor.Product</a - ></p - > <div class="subs methods" - ><p class="caption" - >Methods</p - ><p class="src" - ><a href="#" - >fmap</a - > :: (a -> b) -> <a href="#" title="Bug1004" - >Product</a - > f g a -> <a href="#" title="Bug1004" - >Product</a - > f g b <a href="#" class="selflink" - >#</a - ></p - ><p class="src" - ><a href="#" - >(<$)</a - > :: a -> <a href="#" title="Bug1004" - >Product</a - > f g b -> <a href="#" title="Bug1004" - >Product</a - > f g a <a href="#" class="selflink" - >#</a - ></p - ></div - ></details - ></td - ></tr - ><tr - ><td class="src clearfix" - ><span class="inst-left" - ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:MonadFix:4" + ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:MonadFix:2" ></span > (<a href="#" title="Control.Monad.Fix" >MonadFix</a @@ -337,7 +209,7 @@ ></tr ><tr ><td colspan="2" - ><details id="i:id:Product:MonadFix:4" + ><details id="i:id:Product:MonadFix:2" ><summary class="hide-when-js-enabled" >Instance details</summary ><p @@ -364,14 +236,14 @@ ><tr ><td class="src clearfix" ><span class="inst-left" - ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Applicative:5" + ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:MonadZip:3" ></span - > (<a href="#" title="Control.Applicative" - >Applicative</a - > f, <a href="#" title="Control.Applicative" - >Applicative</a - > g) => <a href="#" title="Control.Applicative" - >Applicative</a + > (<a href="#" title="Control.Monad.Zip" + >MonadZip</a + > f, <a href="#" title="Control.Monad.Zip" + >MonadZip</a + > g) => <a href="#" title="Control.Monad.Zip" + >MonadZip</a > (<a href="#" title="Bug1004" >Product</a > f g)</span @@ -385,7 +257,7 @@ ></tr ><tr ><td colspan="2" - ><details id="i:id:Product:Applicative:5" + ><details id="i:id:Product:MonadZip:3" ><summary class="hide-when-js-enabled" >Instance details</summary ><p @@ -397,58 +269,38 @@ >Methods</p ><p class="src" ><a href="#" - >pure</a - > :: a -> <a href="#" title="Bug1004" - >Product</a - > f g a <a href="#" class="selflink" - >#</a - ></p - ><p class="src" - ><a href="#" - >(<*>)</a + >mzip</a > :: <a href="#" title="Bug1004" >Product</a - > f g (a -> b) -> <a href="#" title="Bug1004" - >Product</a - > f g a -> <a href="#" title="Bug1004" - >Product</a - > f g b <a href="#" class="selflink" - >#</a - ></p - ><p class="src" - ><a href="#" - >liftA2</a - > :: (a -> b -> c) -> <a href="#" title="Bug1004" - >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a > f g b -> <a href="#" title="Bug1004" >Product</a - > f g c <a href="#" class="selflink" + > f g (a, b) <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" - >(*>)</a - > :: <a href="#" title="Bug1004" + >mzipWith</a + > :: (a -> b -> c) -> <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a > f g b -> <a href="#" title="Bug1004" >Product</a - > f g b <a href="#" class="selflink" + > f g c <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" - >(<*)</a + >munzip</a > :: <a href="#" title="Bug1004" >Product</a - > f g a -> <a href="#" title="Bug1004" + > f g (a, b) -> (<a href="#" title="Bug1004" >Product</a - > f g b -> <a href="#" title="Bug1004" + > f g a, <a href="#" title="Bug1004" >Product</a - > f g a <a href="#" class="selflink" + > f g b) <a href="#" class="selflink" >#</a ></p ></div @@ -458,7 +310,7 @@ ><tr ><td class="src clearfix" ><span class="inst-left" - ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Foldable:6" + ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Foldable:4" ></span > (<a href="#" title="Data.Foldable" >Foldable</a @@ -479,7 +331,7 @@ ></tr ><tr ><td colspan="2" - ><details id="i:id:Product:Foldable:6" + ><details id="i:id:Product:Foldable:4" ><summary class="hide-when-js-enabled" >Instance details</summary ><p @@ -654,14 +506,14 @@ ><tr ><td class="src clearfix" ><span class="inst-left" - ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Traversable:7" + ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Eq1:5" ></span - > (<a href="#" title="Data.Traversable" - >Traversable</a - > f, <a href="#" title="Data.Traversable" - >Traversable</a - > g) => <a href="#" title="Data.Traversable" - >Traversable</a + > (<a href="#" title="Data.Functor.Classes" + >Eq1</a + > f, <a href="#" title="Data.Functor.Classes" + >Eq1</a + > g) => <a href="#" title="Data.Functor.Classes" + >Eq1</a > (<a href="#" title="Bug1004" >Product</a > f g)</span @@ -675,7 +527,7 @@ ></tr ><tr ><td colspan="2" - ><details id="i:id:Product:Traversable:7" + ><details id="i:id:Product:Eq1:5" ><summary class="hide-when-js-enabled" >Instance details</summary ><p @@ -687,50 +539,16 @@ >Methods</p ><p class="src" ><a href="#" - >traverse</a - > :: <a href="#" title="Control.Applicative" - >Applicative</a - > f0 => (a -> f0 b) -> <a href="#" title="Bug1004" - >Product</a - > f g a -> f0 (<a href="#" title="Bug1004" - >Product</a - > f g b) <a href="#" class="selflink" - >#</a - ></p - ><p class="src" - ><a href="#" - >sequenceA</a - > :: <a href="#" title="Control.Applicative" - >Applicative</a - > f0 => <a href="#" title="Bug1004" - >Product</a - > f g (f0 a) -> f0 (<a href="#" title="Bug1004" - >Product</a - > f g a) <a href="#" class="selflink" - >#</a - ></p - ><p class="src" - ><a href="#" - >mapM</a - > :: <a href="#" title="Control.Monad" - >Monad</a - > m => (a -> m b) -> <a href="#" title="Bug1004" - >Product</a - > f g a -> m (<a href="#" title="Bug1004" - >Product</a - > f g b) <a href="#" class="selflink" - >#</a - ></p - ><p class="src" - ><a href="#" - >sequence</a - > :: <a href="#" title="Control.Monad" - >Monad</a - > m => <a href="#" title="Bug1004" + >liftEq</a + > :: (a -> b -> <a href="#" title="Data.Bool" + >Bool</a + >) -> <a href="#" title="Bug1004" >Product</a - > f g (m a) -> m (<a href="#" title="Bug1004" + > f g a -> <a href="#" title="Bug1004" >Product</a - > f g a) <a href="#" class="selflink" + > f g b -> <a href="#" title="Data.Bool" + >Bool</a + > <a href="#" class="selflink" >#</a ></p ></div @@ -740,14 +558,14 @@ ><tr ><td class="src clearfix" ><span class="inst-left" - ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Show1:8" + ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Ord1:6" ></span > (<a href="#" title="Data.Functor.Classes" - >Show1</a + >Ord1</a > f, <a href="#" title="Data.Functor.Classes" - >Show1</a + >Ord1</a > g) => <a href="#" title="Data.Functor.Classes" - >Show1</a + >Ord1</a > (<a href="#" title="Bug1004" >Product</a > f g)</span @@ -761,7 +579,7 @@ ></tr ><tr ><td colspan="2" - ><details id="i:id:Product:Show1:8" + ><details id="i:id:Product:Ord1:6" ><summary class="hide-when-js-enabled" >Instance details</summary ><p @@ -773,35 +591,15 @@ >Methods</p ><p class="src" ><a href="#" - >liftShowsPrec</a - > :: (<a href="#" title="Data.Int" - >Int</a - > -> a -> <a href="#" title="Text.Show" - >ShowS</a - >) -> ([a] -> <a href="#" title="Text.Show" - >ShowS</a - >) -> <a href="#" title="Data.Int" - >Int</a - > -> <a href="#" title="Bug1004" + >liftCompare</a + > :: (a -> b -> <a href="#" title="Data.Ord" + >Ordering</a + >) -> <a href="#" title="Bug1004" >Product</a - > f g a -> <a href="#" title="Text.Show" - >ShowS</a - > <a href="#" class="selflink" - >#</a - ></p - ><p class="src" - ><a href="#" - >liftShowList</a - > :: (<a href="#" title="Data.Int" - >Int</a - > -> a -> <a href="#" title="Text.Show" - >ShowS</a - >) -> ([a] -> <a href="#" title="Text.Show" - >ShowS</a - >) -> [<a href="#" title="Bug1004" + > f g a -> <a href="#" title="Bug1004" >Product</a - > f g a] -> <a href="#" title="Text.Show" - >ShowS</a + > f g b -> <a href="#" title="Data.Ord" + >Ordering</a > <a href="#" class="selflink" >#</a ></p @@ -812,7 +610,7 @@ ><tr ><td class="src clearfix" ><span class="inst-left" - ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Read1:9" + ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Read1:7" ></span > (<a href="#" title="Data.Functor.Classes" >Read1</a @@ -833,7 +631,7 @@ ></tr ><tr ><td colspan="2" - ><details id="i:id:Product:Read1:9" + ><details id="i:id:Product:Read1:7" ><summary class="hide-when-js-enabled" >Instance details</summary ><p @@ -912,14 +710,14 @@ ><tr ><td class="src clearfix" ><span class="inst-left" - ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Ord1:10" + ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Show1:8" ></span > (<a href="#" title="Data.Functor.Classes" - >Ord1</a + >Show1</a > f, <a href="#" title="Data.Functor.Classes" - >Ord1</a + >Show1</a > g) => <a href="#" title="Data.Functor.Classes" - >Ord1</a + >Show1</a > (<a href="#" title="Bug1004" >Product</a > f g)</span @@ -933,7 +731,7 @@ ></tr ><tr ><td colspan="2" - ><details id="i:id:Product:Ord1:10" + ><details id="i:id:Product:Show1:8" ><summary class="hide-when-js-enabled" >Instance details</summary ><p @@ -945,15 +743,35 @@ >Methods</p ><p class="src" ><a href="#" - >liftCompare</a - > :: (a -> b -> <a href="#" title="Data.Ord" - >Ordering</a - >) -> <a href="#" title="Bug1004" + >liftShowsPrec</a + > :: (<a href="#" title="Data.Int" + >Int</a + > -> a -> <a href="#" title="Text.Show" + >ShowS</a + >) -> ([a] -> <a href="#" title="Text.Show" + >ShowS</a + >) -> <a href="#" title="Data.Int" + >Int</a + > -> <a href="#" title="Bug1004" >Product</a - > f g a -> <a href="#" title="Bug1004" + > f g a -> <a href="#" title="Text.Show" + >ShowS</a + > <a href="#" class="selflink" + >#</a + ></p + ><p class="src" + ><a href="#" + >liftShowList</a + > :: (<a href="#" title="Data.Int" + >Int</a + > -> a -> <a href="#" title="Text.Show" + >ShowS</a + >) -> ([a] -> <a href="#" title="Text.Show" + >ShowS</a + >) -> [<a href="#" title="Bug1004" >Product</a - > f g b -> <a href="#" title="Data.Ord" - >Ordering</a + > f g a] -> <a href="#" title="Text.Show" + >ShowS</a > <a href="#" class="selflink" >#</a ></p @@ -964,14 +782,14 @@ ><tr ><td class="src clearfix" ><span class="inst-left" - ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Eq1:11" + ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Traversable:9" ></span - > (<a href="#" title="Data.Functor.Classes" - >Eq1</a - > f, <a href="#" title="Data.Functor.Classes" - >Eq1</a - > g) => <a href="#" title="Data.Functor.Classes" - >Eq1</a + > (<a href="#" title="Data.Traversable" + >Traversable</a + > f, <a href="#" title="Data.Traversable" + >Traversable</a + > g) => <a href="#" title="Data.Traversable" + >Traversable</a > (<a href="#" title="Bug1004" >Product</a > f g)</span @@ -985,7 +803,7 @@ ></tr ><tr ><td colspan="2" - ><details id="i:id:Product:Eq1:11" + ><details id="i:id:Product:Traversable:9" ><summary class="hide-when-js-enabled" >Instance details</summary ><p @@ -997,16 +815,50 @@ >Methods</p ><p class="src" ><a href="#" - >liftEq</a - > :: (a -> b -> <a href="#" title="Data.Bool" - >Bool</a - >) -> <a href="#" title="Bug1004" + >traverse</a + > :: <a href="#" title="Control.Applicative" + >Applicative</a + > f0 => (a -> f0 b) -> <a href="#" title="Bug1004" >Product</a - > f g a -> <a href="#" title="Bug1004" + > f g a -> f0 (<a href="#" title="Bug1004" >Product</a - > f g b -> <a href="#" title="Data.Bool" - >Bool</a - > <a href="#" class="selflink" + > f g b) <a href="#" class="selflink" + >#</a + ></p + ><p class="src" + ><a href="#" + >sequenceA</a + > :: <a href="#" title="Control.Applicative" + >Applicative</a + > f0 => <a href="#" title="Bug1004" + >Product</a + > f g (f0 a) -> f0 (<a href="#" title="Bug1004" + >Product</a + > f g a) <a href="#" class="selflink" + >#</a + ></p + ><p class="src" + ><a href="#" + >mapM</a + > :: <a href="#" title="Control.Monad" + >Monad</a + > m => (a -> m b) -> <a href="#" title="Bug1004" + >Product</a + > f g a -> m (<a href="#" title="Bug1004" + >Product</a + > f g b) <a href="#" class="selflink" + >#</a + ></p + ><p class="src" + ><a href="#" + >sequence</a + > :: <a href="#" title="Control.Monad" + >Monad</a + > m => <a href="#" title="Bug1004" + >Product</a + > f g (m a) -> m (<a href="#" title="Bug1004" + >Product</a + > f g a) <a href="#" class="selflink" >#</a ></p ></div @@ -1016,14 +868,14 @@ ><tr ><td class="src clearfix" ><span class="inst-left" - ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:MonadZip:12" + ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Alternative:10" ></span - > (<a href="#" title="Control.Monad.Zip" - >MonadZip</a - > f, <a href="#" title="Control.Monad.Zip" - >MonadZip</a - > g) => <a href="#" title="Control.Monad.Zip" - >MonadZip</a + > (<a href="#" title="Control.Applicative" + >Alternative</a + > f, <a href="#" title="Control.Applicative" + >Alternative</a + > g) => <a href="#" title="Control.Applicative" + >Alternative</a > (<a href="#" title="Bug1004" >Product</a > f g)</span @@ -1037,7 +889,7 @@ ></tr ><tr ><td colspan="2" - ><details id="i:id:Product:MonadZip:12" + ><details id="i:id:Product:Alternative:10" ><summary class="hide-when-js-enabled" >Instance details</summary ><p @@ -1049,38 +901,42 @@ >Methods</p ><p class="src" ><a href="#" - >mzip</a + >empty</a + > :: <a href="#" title="Bug1004" + >Product</a + > f g a <a href="#" class="selflink" + >#</a + ></p + ><p class="src" + ><a href="#" + >(<|>)</a > :: <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a - > f g b -> <a href="#" title="Bug1004" + > f g a -> <a href="#" title="Bug1004" >Product</a - > f g (a, b) <a href="#" class="selflink" + > f g a <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" - >mzipWith</a - > :: (a -> b -> c) -> <a href="#" title="Bug1004" + >some</a + > :: <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a - > f g b -> <a href="#" title="Bug1004" - >Product</a - > f g c <a href="#" class="selflink" + > f g [a] <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" - >munzip</a + >many</a > :: <a href="#" title="Bug1004" >Product</a - > f g (a, b) -> (<a href="#" title="Bug1004" - >Product</a - > f g a, <a href="#" title="Bug1004" + > f g a -> <a href="#" title="Bug1004" >Product</a - > f g b) <a href="#" class="selflink" + > f g [a] <a href="#" class="selflink" >#</a ></p ></div @@ -1090,14 +946,14 @@ ><tr ><td class="src clearfix" ><span class="inst-left" - ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:MonadPlus:13" + ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Applicative:11" ></span - > (<a href="#" title="Control.Monad" - >MonadPlus</a - > f, <a href="#" title="Control.Monad" - >MonadPlus</a - > g) => <a href="#" title="Control.Monad" - >MonadPlus</a + > (<a href="#" title="Control.Applicative" + >Applicative</a + > f, <a href="#" title="Control.Applicative" + >Applicative</a + > g) => <a href="#" title="Control.Applicative" + >Applicative</a > (<a href="#" title="Bug1004" >Product</a > f g)</span @@ -1111,7 +967,7 @@ ></tr ><tr ><td colspan="2" - ><details id="i:id:Product:MonadPlus:13" + ><details id="i:id:Product:Applicative:11" ><summary class="hide-when-js-enabled" >Instance details</summary ><p @@ -1123,21 +979,57 @@ >Methods</p ><p class="src" ><a href="#" - >mzero</a - > :: <a href="#" title="Bug1004" + >pure</a + > :: a -> <a href="#" title="Bug1004" >Product</a > f g a <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" - >mplus</a + >(<*>)</a + > :: <a href="#" title="Bug1004" + >Product</a + > f g (a -> b) -> <a href="#" title="Bug1004" + >Product</a + > f g a -> <a href="#" title="Bug1004" + >Product</a + > f g b <a href="#" class="selflink" + >#</a + ></p + ><p class="src" + ><a href="#" + >liftA2</a + > :: (a -> b -> c) -> <a href="#" title="Bug1004" + >Product</a + > f g a -> <a href="#" title="Bug1004" + >Product</a + > f g b -> <a href="#" title="Bug1004" + >Product</a + > f g c <a href="#" class="selflink" + >#</a + ></p + ><p class="src" + ><a href="#" + >(*>)</a > :: <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a + > f g b -> <a href="#" title="Bug1004" + >Product</a + > f g b <a href="#" class="selflink" + >#</a + ></p + ><p class="src" + ><a href="#" + >(<*)</a + > :: <a href="#" title="Bug1004" + >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a + > f g b -> <a href="#" title="Bug1004" + >Product</a > f g a <a href="#" class="selflink" >#</a ></p @@ -1148,14 +1040,14 @@ ><tr ><td class="src clearfix" ><span class="inst-left" - ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Alternative:14" + ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Functor:12" ></span - > (<a href="#" title="Control.Applicative" - >Alternative</a - > f, <a href="#" title="Control.Applicative" - >Alternative</a - > g) => <a href="#" title="Control.Applicative" - >Alternative</a + > (<a href="#" title="Data.Functor" + >Functor</a + > f, <a href="#" title="Data.Functor" + >Functor</a + > g) => <a href="#" title="Data.Functor" + >Functor</a > (<a href="#" title="Bug1004" >Product</a > f g)</span @@ -1169,7 +1061,7 @@ ></tr ><tr ><td colspan="2" - ><details id="i:id:Product:Alternative:14" + ><details id="i:id:Product:Functor:12" ><summary class="hide-when-js-enabled" >Instance details</summary ><p @@ -1181,42 +1073,92 @@ >Methods</p ><p class="src" ><a href="#" - >empty</a - > :: <a href="#" title="Bug1004" + >fmap</a + > :: (a -> b) -> <a href="#" title="Bug1004" >Product</a - > f g a <a href="#" class="selflink" + > f g a -> <a href="#" title="Bug1004" + >Product</a + > f g b <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" - >(<|>)</a - > :: <a href="#" title="Bug1004" - >Product</a - > f g a -> <a href="#" title="Bug1004" + >(<$)</a + > :: a -> <a href="#" title="Bug1004" >Product</a - > f g a -> <a href="#" title="Bug1004" + > f g b -> <a href="#" title="Bug1004" >Product</a > f g a <a href="#" class="selflink" >#</a ></p + ></div + ></details + ></td + ></tr + ><tr + ><td class="src clearfix" + ><span class="inst-left" + ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Monad:13" + ></span + > (<a href="#" title="Control.Monad" + >Monad</a + > f, <a href="#" title="Control.Monad" + >Monad</a + > g) => <a href="#" title="Control.Monad" + >Monad</a + > (<a href="#" title="Bug1004" + >Product</a + > f g)</span + ></td + ><td class="doc" + ><p + ><em + >Since: base-4.9.0.0</em + ></p + ></td + ></tr + ><tr + ><td colspan="2" + ><details id="i:id:Product:Monad:13" + ><summary class="hide-when-js-enabled" + >Instance details</summary + ><p + >Defined in <a href="#" + >Data.Functor.Product</a + ></p + > <div class="subs methods" + ><p class="caption" + >Methods</p ><p class="src" ><a href="#" - >some</a + >(>>=)</a > :: <a href="#" title="Bug1004" >Product</a - > f g a -> <a href="#" title="Bug1004" + > f g a -> (a -> <a href="#" title="Bug1004" >Product</a - > f g [a] <a href="#" class="selflink" + > f g b) -> <a href="#" title="Bug1004" + >Product</a + > f g b <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" - >many</a + >(>>)</a > :: <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a - > f g [a] <a href="#" class="selflink" + > f g b -> <a href="#" title="Bug1004" + >Product</a + > f g b <a href="#" class="selflink" + >#</a + ></p + ><p class="src" + ><a href="#" + >return</a + > :: a -> <a href="#" title="Bug1004" + >Product</a + > f g a <a href="#" class="selflink" >#</a ></p ></div @@ -1226,19 +1168,17 @@ ><tr ><td class="src clearfix" ><span class="inst-left" - ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Eq:15" + ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:MonadPlus:14" ></span - > (<a href="#" title="Data.Functor.Classes" - >Eq1</a - > f, <a href="#" title="Data.Functor.Classes" - >Eq1</a - > g, <a href="#" title="Data.Eq" - >Eq</a - > a) => <a href="#" title="Data.Eq" - >Eq</a + > (<a href="#" title="Control.Monad" + >MonadPlus</a + > f, <a href="#" title="Control.Monad" + >MonadPlus</a + > g) => <a href="#" title="Control.Monad" + >MonadPlus</a > (<a href="#" title="Bug1004" >Product</a - > f g a)</span + > f g)</span ></td ><td class="doc" ><p @@ -1249,7 +1189,7 @@ ></tr ><tr ><td colspan="2" - ><details id="i:id:Product:Eq:15" + ><details id="i:id:Product:MonadPlus:14" ><summary class="hide-when-js-enabled" >Instance details</summary ><p @@ -1261,26 +1201,22 @@ >Methods</p ><p class="src" ><a href="#" - >(==)</a + >mzero</a > :: <a href="#" title="Bug1004" >Product</a - > f g a -> <a href="#" title="Bug1004" - >Product</a - > f g a -> <a href="#" title="Data.Bool" - >Bool</a - > <a href="#" class="selflink" + > f g a <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" - >(/=)</a + >mplus</a > :: <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a - > f g a -> <a href="#" title="Data.Bool" - >Bool</a - > <a href="#" class="selflink" + > f g a -> <a href="#" title="Bug1004" + >Product</a + > f g a <a href="#" class="selflink" >#</a ></p ></div @@ -1290,7 +1226,7 @@ ><tr ><td class="src clearfix" ><span class="inst-left" - ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Data:16" + ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Data:15" ></span > (<a href="#" title="Data.Typeable" >Typeable</a @@ -1319,7 +1255,7 @@ ></tr ><tr ><td colspan="2" - ><details id="i:id:Product:Data:16" + ><details id="i:id:Product:Data:15" ><summary class="hide-when-js-enabled" >Instance details</summary ><p @@ -1536,16 +1472,14 @@ ><tr ><td class="src clearfix" ><span class="inst-left" - ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Ord:17" + ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Monoid:16" ></span - > (<a href="#" title="Data.Functor.Classes" - >Ord1</a - > f, <a href="#" title="Data.Functor.Classes" - >Ord1</a - > g, <a href="#" title="Data.Ord" - >Ord</a - > a) => <a href="#" title="Data.Ord" - >Ord</a + > (<a href="#" title="Data.Monoid" + >Monoid</a + > (f a), <a href="#" title="Data.Monoid" + >Monoid</a + > (g a)) => <a href="#" title="Data.Monoid" + >Monoid</a > (<a href="#" title="Bug1004" >Product</a > f g a)</span @@ -1553,13 +1487,13 @@ ><td class="doc" ><p ><em - >Since: base-4.9.0.0</em + >Since: base-4.16.0.0</em ></p ></td ></tr ><tr ><td colspan="2" - ><details id="i:id:Product:Ord:17" + ><details id="i:id:Product:Monoid:16" ><summary class="hide-when-js-enabled" >Instance details</summary ><p @@ -1571,84 +1505,176 @@ >Methods</p ><p class="src" ><a href="#" - >compare</a + >mempty</a > :: <a href="#" title="Bug1004" >Product</a - > f g a -> <a href="#" title="Bug1004" - >Product</a - > f g a -> <a href="#" title="Data.Ord" - >Ordering</a - > <a href="#" class="selflink" + > f g a <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" - >(<)</a + >mappend</a > :: <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a - > f g a -> <a href="#" title="Data.Bool" - >Bool</a - > <a href="#" class="selflink" + > f g a -> <a href="#" title="Bug1004" + >Product</a + > f g a <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" - >(<=)</a - > :: <a href="#" title="Bug1004" + >mconcat</a + > :: [<a href="#" title="Bug1004" >Product</a - > f g a -> <a href="#" title="Bug1004" + > f g a] -> <a href="#" title="Bug1004" >Product</a - > f g a -> <a href="#" title="Data.Bool" - >Bool</a - > <a href="#" class="selflink" + > f g a <a href="#" class="selflink" >#</a ></p + ></div + ></details + ></td + ></tr + ><tr + ><td class="src clearfix" + ><span class="inst-left" + ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Semigroup:17" + ></span + > (<a href="#" title="Prelude" + >Semigroup</a + > (f a), <a href="#" title="Prelude" + >Semigroup</a + > (g a)) => <a href="#" title="Prelude" + >Semigroup</a + > (<a href="#" title="Bug1004" + >Product</a + > f g a)</span + ></td + ><td class="doc" + ><p + ><em + >Since: base-4.16.0.0</em + ></p + ></td + ></tr + ><tr + ><td colspan="2" + ><details id="i:id:Product:Semigroup:17" + ><summary class="hide-when-js-enabled" + >Instance details</summary + ><p + >Defined in <a href="#" + >Data.Functor.Product</a + ></p + > <div class="subs methods" + ><p class="caption" + >Methods</p ><p class="src" ><a href="#" - >(>)</a + >(<>)</a > :: <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a - > f g a -> <a href="#" title="Data.Bool" - >Bool</a - > <a href="#" class="selflink" + > f g a -> <a href="#" title="Bug1004" + >Product</a + > f g a <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" - >(>=)</a - > :: <a href="#" title="Bug1004" + >sconcat</a + > :: <a href="#" title="Data.List.NonEmpty" + >NonEmpty</a + > (<a href="#" title="Bug1004" >Product</a - > f g a -> <a href="#" title="Bug1004" + > f g a) -> <a href="#" title="Bug1004" >Product</a - > f g a -> <a href="#" title="Data.Bool" - >Bool</a - > <a href="#" class="selflink" + > f g a <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" - >max</a - > :: <a href="#" title="Bug1004" - >Product</a - > f g a -> <a href="#" title="Bug1004" + >stimes</a + > :: <a href="#" title="Prelude" + >Integral</a + > b => b -> <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a > f g a <a href="#" class="selflink" >#</a ></p + ></div + ></details + ></td + ></tr + ><tr + ><td class="src clearfix" + ><span class="inst-left" + ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Generic:18" + ></span + > <a href="#" title="GHC.Generics" + >Generic</a + > (<a href="#" title="Bug1004" + >Product</a + > f g a)</span + ></td + ><td class="doc empty" + > </td + ></tr + ><tr + ><td colspan="2" + ><details id="i:id:Product:Generic:18" + ><summary class="hide-when-js-enabled" + >Instance details</summary + ><p + >Defined in <a href="#" + >Data.Functor.Product</a + ></p + > <div class="subs associated-types" + ><p class="caption" + >Associated Types</p + ><p class="src" + ><span class="keyword" + >type</span + > <a href="#" title="GHC.Generics" + >Rep</a + > (<a href="#" title="Bug1004" + >Product</a + > f g a) :: <a href="#" title="Data.Kind" + >Type</a + > -> <a href="#" title="Data.Kind" + >Type</a + > <a href="#" class="selflink" + >#</a + ></p + ></div + > <div class="subs methods" + ><p class="caption" + >Methods</p ><p class="src" ><a href="#" - >min</a + >from</a > :: <a href="#" title="Bug1004" >Product</a - > f g a -> <a href="#" title="Bug1004" + > f g a -> <a href="#" title="GHC.Generics" + >Rep</a + > (<a href="#" title="Bug1004" >Product</a - > f g a -> <a href="#" title="Bug1004" + > f g a) x <a href="#" class="selflink" + >#</a + ></p + ><p class="src" + ><a href="#" + >to</a + > :: <a href="#" title="GHC.Generics" + >Rep</a + > (<a href="#" title="Bug1004" + >Product</a + > f g a) x -> <a href="#" title="Bug1004" >Product</a > f g a <a href="#" class="selflink" >#</a @@ -1660,7 +1686,7 @@ ><tr ><td class="src clearfix" ><span class="inst-left" - ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Read:18" + ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Read:19" ></span > (<a href="#" title="Data.Functor.Classes" >Read1</a @@ -1683,7 +1709,7 @@ ></tr ><tr ><td colspan="2" - ><details id="i:id:Product:Read:18" + ><details id="i:id:Product:Read:19" ><summary class="hide-when-js-enabled" >Instance details</summary ><p @@ -1742,7 +1768,7 @@ ><tr ><td class="src clearfix" ><span class="inst-left" - ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Show:19" + ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Show:20" ></span > (<a href="#" title="Data.Functor.Classes" >Show1</a @@ -1765,7 +1791,7 @@ ></tr ><tr ><td colspan="2" - ><details id="i:id:Product:Show:19" + ><details id="i:id:Product:Show:20" ><summary class="hide-when-js-enabled" >Instance details</summary ><p @@ -1814,69 +1840,61 @@ ><tr ><td class="src clearfix" ><span class="inst-left" - ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Generic:20" + ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Eq:21" ></span - > <a href="#" title="GHC.Generics" - >Generic</a + > (<a href="#" title="Data.Functor.Classes" + >Eq1</a + > f, <a href="#" title="Data.Functor.Classes" + >Eq1</a + > g, <a href="#" title="Data.Eq" + >Eq</a + > a) => <a href="#" title="Data.Eq" + >Eq</a > (<a href="#" title="Bug1004" >Product</a > f g a)</span ></td - ><td class="doc empty" - > </td + ><td class="doc" + ><p + ><em + >Since: base-4.9.0.0</em + ></p + ></td ></tr ><tr ><td colspan="2" - ><details id="i:id:Product:Generic:20" + ><details id="i:id:Product:Eq:21" ><summary class="hide-when-js-enabled" >Instance details</summary ><p >Defined in <a href="#" >Data.Functor.Product</a ></p - > <div class="subs associated-types" - ><p class="caption" - >Associated Types</p - ><p class="src" - ><span class="keyword" - >type</span - > <a href="#" title="GHC.Generics" - >Rep</a - > (<a href="#" title="Bug1004" - >Product</a - > f g a) :: <a href="#" title="Data.Kind" - >Type</a - > -> <a href="#" title="Data.Kind" - >Type</a - > <a href="#" class="selflink" - >#</a - ></p - ></div > <div class="subs methods" ><p class="caption" >Methods</p ><p class="src" ><a href="#" - >from</a + >(==)</a > :: <a href="#" title="Bug1004" >Product</a - > f g a -> <a href="#" title="GHC.Generics" - >Rep</a - > (<a href="#" title="Bug1004" + > f g a -> <a href="#" title="Bug1004" >Product</a - > f g a) x <a href="#" class="selflink" + > f g a -> <a href="#" title="Data.Bool" + >Bool</a + > <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" - >to</a - > :: <a href="#" title="GHC.Generics" - >Rep</a - > (<a href="#" title="Bug1004" + >(/=)</a + > :: <a href="#" title="Bug1004" >Product</a - > f g a) x -> <a href="#" title="Bug1004" + > f g a -> <a href="#" title="Bug1004" >Product</a - > f g a <a href="#" class="selflink" + > f g a -> <a href="#" title="Data.Bool" + >Bool</a + > <a href="#" class="selflink" >#</a ></p ></div @@ -1886,14 +1904,16 @@ ><tr ><td class="src clearfix" ><span class="inst-left" - ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Semigroup:21" + ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Ord:22" ></span - > (<a href="#" title="Prelude" - >Semigroup</a - > (f a), <a href="#" title="Prelude" - >Semigroup</a - > (g a)) => <a href="#" title="Prelude" - >Semigroup</a + > (<a href="#" title="Data.Functor.Classes" + >Ord1</a + > f, <a href="#" title="Data.Functor.Classes" + >Ord1</a + > g, <a href="#" title="Data.Ord" + >Ord</a + > a) => <a href="#" title="Data.Ord" + >Ord</a > (<a href="#" title="Bug1004" >Product</a > f g a)</span @@ -1901,13 +1921,13 @@ ><td class="doc" ><p ><em - >Since: base-4.16.0.0</em + >Since: base-4.9.0.0</em ></p ></td ></tr ><tr ><td colspan="2" - ><details id="i:id:Product:Semigroup:21" + ><details id="i:id:Product:Ord:22" ><summary class="hide-when-js-enabled" >Instance details</summary ><p @@ -1919,89 +1939,67 @@ >Methods</p ><p class="src" ><a href="#" - >(<>)</a + >compare</a > :: <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a + > f g a -> <a href="#" title="Data.Ord" + >Ordering</a + > <a href="#" class="selflink" + >#</a + ></p + ><p class="src" + ><a href="#" + >(<)</a + > :: <a href="#" title="Bug1004" + >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a - > f g a <a href="#" class="selflink" + > f g a -> <a href="#" title="Data.Bool" + >Bool</a + > <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" - >sconcat</a - > :: <a href="#" title="Data.List.NonEmpty" - >NonEmpty</a - > (<a href="#" title="Bug1004" + >(<=)</a + > :: <a href="#" title="Bug1004" >Product</a - > f g a) -> <a href="#" title="Bug1004" + > f g a -> <a href="#" title="Bug1004" >Product</a - > f g a <a href="#" class="selflink" + > f g a -> <a href="#" title="Data.Bool" + >Bool</a + > <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" - >stimes</a - > :: <a href="#" title="Prelude" - >Integral</a - > b => b -> <a href="#" title="Bug1004" + >(>)</a + > :: <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a - > f g a <a href="#" class="selflink" + > f g a -> <a href="#" title="Data.Bool" + >Bool</a + > <a href="#" class="selflink" >#</a ></p - ></div - ></details - ></td - ></tr - ><tr - ><td class="src clearfix" - ><span class="inst-left" - ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Monoid:22" - ></span - > (<a href="#" title="Data.Monoid" - >Monoid</a - > (f a), <a href="#" title="Data.Monoid" - >Monoid</a - > (g a)) => <a href="#" title="Data.Monoid" - >Monoid</a - > (<a href="#" title="Bug1004" - >Product</a - > f g a)</span - ></td - ><td class="doc" - ><p - ><em - >Since: base-4.16.0.0</em - ></p - ></td - ></tr - ><tr - ><td colspan="2" - ><details id="i:id:Product:Monoid:22" - ><summary class="hide-when-js-enabled" - >Instance details</summary - ><p - >Defined in <a href="#" - >Data.Functor.Product</a - ></p - > <div class="subs methods" - ><p class="caption" - >Methods</p ><p class="src" ><a href="#" - >mempty</a + >(>=)</a > :: <a href="#" title="Bug1004" >Product</a - > f g a <a href="#" class="selflink" + > f g a -> <a href="#" title="Bug1004" + >Product</a + > f g a -> <a href="#" title="Data.Bool" + >Bool</a + > <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" - >mappend</a + >max</a > :: <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" @@ -2013,10 +2011,12 @@ ></p ><p class="src" ><a href="#" - >mconcat</a - > :: [<a href="#" title="Bug1004" + >min</a + > :: <a href="#" title="Bug1004" >Product</a - > f g a] -> <a href="#" title="Bug1004" + > f g a -> <a href="#" title="Bug1004" + >Product</a + > f g a -> <a href="#" title="Bug1004" >Product</a > f g a <a href="#" class="selflink" >#</a diff --git a/html-test/ref/Bug1103.html b/html-test/ref/Bug1103.html index 1cfbda81..60af9b86 100644 --- a/html-test/ref/Bug1103.html +++ b/html-test/ref/Bug1103.html @@ -398,6 +398,8 @@ >Foo3</a > (a :: <a href="#" title="Data.Char" >Char</a + > -> <a href="#" title="Data.Char" + >Char</a >)</span > <a href="#" class="selflink" >#</a @@ -421,6 +423,8 @@ >Foo3</a > (a :: <a href="#" title="Data.Char" >Char</a + > -> <a href="#" title="Data.Char" + >Char</a >)</div ></details ></td @@ -436,8 +440,6 @@ >Foo3</a > (a :: <a href="#" title="Data.Char" >Char</a - > -> <a href="#" title="Data.Char" - >Char</a >)</span > <a href="#" class="selflink" >#</a @@ -461,8 +463,6 @@ >Foo3</a > (a :: <a href="#" title="Data.Char" >Char</a - > -> <a href="#" title="Data.Char" - >Char</a >)</div ></details ></td diff --git a/html-test/ref/Bug548.html b/html-test/ref/Bug548.html index db325dac..594480c7 100644 --- a/html-test/ref/Bug548.html +++ b/html-test/ref/Bug548.html @@ -186,12 +186,14 @@ ><tr ><td class="src clearfix" ><span class="inst-left" - ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:WrappedArrow:Functor:2" + ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:WrappedArrow:Alternative:2" ></span - > <a href="#" title="Control.Arrow" - >Arrow</a - > a => <a href="#" title="Data.Functor" - >Functor</a + > (<a href="#" title="Control.Arrow" + >ArrowZero</a + > a, <a href="#" title="Control.Arrow" + >ArrowPlus</a + > a) => <a href="#" title="Control.Applicative" + >Alternative</a > (<a href="#" title="Bug548" >WrappedArrow</a > a b)</span @@ -205,7 +207,7 @@ ></tr ><tr ><td colspan="2" - ><details id="i:id:WrappedArrow:Functor:2" + ><details id="i:id:WrappedArrow:Alternative:2" ><summary class="hide-when-js-enabled" >Instance details</summary ><p @@ -217,22 +219,42 @@ >Methods</p ><p class="src" ><a href="#" - >fmap</a - > :: (a0 -> b0) -> <a href="#" title="Bug548" + >empty</a + > :: <a href="#" title="Bug548" + >WrappedArrow</a + > a b a0 <a href="#" class="selflink" + >#</a + ></p + ><p class="src" + ><a href="#" + >(<|>)</a + > :: <a href="#" title="Bug548" >WrappedArrow</a > a b a0 -> <a href="#" title="Bug548" >WrappedArrow</a - > a b b0 <a href="#" class="selflink" + > a b a0 -> <a href="#" title="Bug548" + >WrappedArrow</a + > a b a0 <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" - >(<$)</a - > :: a0 -> <a href="#" title="Bug548" + >some</a + > :: <a href="#" title="Bug548" >WrappedArrow</a - > a b b0 -> <a href="#" title="Bug548" + > a b a0 -> <a href="#" title="Bug548" >WrappedArrow</a - > a b a0 <a href="#" class="selflink" + > a b [a0] <a href="#" class="selflink" + >#</a + ></p + ><p class="src" + ><a href="#" + >many</a + > :: <a href="#" title="Bug548" + >WrappedArrow</a + > a b a0 -> <a href="#" title="Bug548" + >WrappedArrow</a + > a b [a0] <a href="#" class="selflink" >#</a ></p ></div @@ -334,14 +356,12 @@ ><tr ><td class="src clearfix" ><span class="inst-left" - ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:WrappedArrow:Alternative:4" + ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:WrappedArrow:Functor:4" ></span - > (<a href="#" title="Control.Arrow" - >ArrowZero</a - > a, <a href="#" title="Control.Arrow" - >ArrowPlus</a - > a) => <a href="#" title="Control.Applicative" - >Alternative</a + > <a href="#" title="Control.Arrow" + >Arrow</a + > a => <a href="#" title="Data.Functor" + >Functor</a > (<a href="#" title="Bug548" >WrappedArrow</a > a b)</span @@ -355,7 +375,7 @@ ></tr ><tr ><td colspan="2" - ><details id="i:id:WrappedArrow:Alternative:4" + ><details id="i:id:WrappedArrow:Functor:4" ><summary class="hide-when-js-enabled" >Instance details</summary ><p @@ -367,42 +387,22 @@ >Methods</p ><p class="src" ><a href="#" - >empty</a - > :: <a href="#" title="Bug548" - >WrappedArrow</a - > a b a0 <a href="#" class="selflink" - >#</a - ></p - ><p class="src" - ><a href="#" - >(<|>)</a - > :: <a href="#" title="Bug548" - >WrappedArrow</a - > a b a0 -> <a href="#" title="Bug548" - >WrappedArrow</a - > a b a0 -> <a href="#" title="Bug548" - >WrappedArrow</a - > a b a0 <a href="#" class="selflink" - >#</a - ></p - ><p class="src" - ><a href="#" - >some</a - > :: <a href="#" title="Bug548" + >fmap</a + > :: (a0 -> b0) -> <a href="#" title="Bug548" >WrappedArrow</a > a b a0 -> <a href="#" title="Bug548" >WrappedArrow</a - > a b [a0] <a href="#" class="selflink" + > a b b0 <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" - >many</a - > :: <a href="#" title="Bug548" + >(<$)</a + > :: a0 -> <a href="#" title="Bug548" >WrappedArrow</a - > a b a0 -> <a href="#" title="Bug548" + > a b b0 -> <a href="#" title="Bug548" >WrappedArrow</a - > a b [a0] <a href="#" class="selflink" + > a b a0 <a href="#" class="selflink" >#</a ></p ></div diff --git a/html-test/ref/HiddenInstances.html b/html-test/ref/HiddenInstances.html index 4098771e..71a80862 100644 --- a/html-test/ref/HiddenInstances.html +++ b/html-test/ref/HiddenInstances.html @@ -98,8 +98,8 @@ ></span > <a href="#" title="HiddenInstances" >VisibleClass</a - > <a href="#" title="Data.Int" - >Int</a + > <a href="#" title="HiddenInstances" + >VisibleData</a ></span > <a href="#" class="selflink" >#</a @@ -128,8 +128,8 @@ ></span > <a href="#" title="HiddenInstances" >VisibleClass</a - > <a href="#" title="HiddenInstances" - >VisibleData</a + > <a href="#" title="Data.Int" + >Int</a ></span > <a href="#" class="selflink" >#</a diff --git a/html-test/ref/Instances.html b/html-test/ref/Instances.html index e7eecb4d..9e9f2300 100644 --- a/html-test/ref/Instances.html +++ b/html-test/ref/Instances.html @@ -200,7 +200,9 @@ ></span > <a href="#" title="Instances" >Foo</a - > []</span + > <a href="#" title="Data.Maybe" + >Maybe</a + ></span > <a href="#" class="selflink" >#</a ></td @@ -222,19 +224,31 @@ ><p class="src" ><a href="#" >foo</a - > :: [<a href="#" title="Data.Int" + > :: <a href="#" title="Data.Maybe" + >Maybe</a + > <a href="#" title="Data.Int" >Int</a - >] -> a -> [a] <a href="#" class="selflink" + > -> a -> <a href="#" title="Data.Maybe" + >Maybe</a + > a <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >foo'</a - > :: [[a]] -> <a href="#" title="Data.Int" + > :: <a href="#" title="Data.Maybe" + >Maybe</a + > (<a href="#" title="Data.Maybe" + >Maybe</a + > a) -> <a href="#" title="Data.Int" >Int</a - > -> [[<a href="#" title="Data.Int" + > -> <a href="#" title="Data.Maybe" + >Maybe</a + > (<a href="#" title="Data.Maybe" + >Maybe</a + > <a href="#" title="Data.Int" >Int</a - >]] <a href="#" class="selflink" + >) <a href="#" class="selflink" >#</a ></p ></div @@ -248,9 +262,7 @@ ></span > <a href="#" title="Instances" >Foo</a - > <a href="#" title="Data.Maybe" - >Maybe</a - ></span + > []</span > <a href="#" class="selflink" >#</a ></td @@ -272,31 +284,19 @@ ><p class="src" ><a href="#" >foo</a - > :: <a href="#" title="Data.Maybe" - >Maybe</a - > <a href="#" title="Data.Int" + > :: [<a href="#" title="Data.Int" >Int</a - > -> a -> <a href="#" title="Data.Maybe" - >Maybe</a - > a <a href="#" class="selflink" + >] -> a -> [a] <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >foo'</a - > :: <a href="#" title="Data.Maybe" - >Maybe</a - > (<a href="#" title="Data.Maybe" - >Maybe</a - > a) -> <a href="#" title="Data.Int" + > :: [[a]] -> <a href="#" title="Data.Int" >Int</a - > -> <a href="#" title="Data.Maybe" - >Maybe</a - > (<a href="#" title="Data.Maybe" - >Maybe</a - > <a href="#" title="Data.Int" + > -> [[<a href="#" title="Data.Int" >Int</a - >) <a href="#" class="selflink" + >]] <a href="#" class="selflink" >#</a ></p ></div @@ -370,15 +370,11 @@ ><span class="inst-left" ><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:Foo:Foo:4" ></span - > (<a href="#" title="Data.Eq" - >Eq</a - > a, <a href="#" title="Instances" - >Foo</a - > f) => <a href="#" title="Instances" + > <a href="#" title="Instances" >Foo</a - > (<a href="#" title="GHC.Tuple" - >(,)</a - > (f a))</span + > (<a href="#" title="Instances" + >(<~~)</a + > a)</span > <a href="#" class="selflink" >#</a ></td @@ -400,19 +396,31 @@ ><p class="src" ><a href="#" >foo</a - > :: (f a, <a href="#" title="Data.Int" + > :: (a <a href="#" title="Instances" + ><~~</a + > <a href="#" title="Data.Int" >Int</a - >) -> a0 -> (f a, a0) <a href="#" class="selflink" + >) -> a0 -> a <a href="#" title="Instances" + ><~~</a + > a0 <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >foo'</a - > :: (f a, (f a, a0)) -> <a href="#" title="Data.Int" + > :: (a <a href="#" title="Instances" + ><~~</a + > (a <a href="#" title="Instances" + ><~~</a + > a0)) -> <a href="#" title="Data.Int" >Int</a - > -> (f a, (f a, <a href="#" title="Data.Int" + > -> a <a href="#" title="Instances" + ><~~</a + > (a <a href="#" title="Instances" + ><~~</a + > <a href="#" title="Data.Int" >Int</a - >)) <a href="#" class="selflink" + >) <a href="#" class="selflink" >#</a ></p ></div @@ -424,11 +432,15 @@ ><span class="inst-left" ><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:Foo:Foo:5" ></span - > <a href="#" title="Instances" + > (<a href="#" title="Data.Eq" + >Eq</a + > a, <a href="#" title="Instances" >Foo</a - > (<a href="#" title="Instances" - >(<~~)</a - > a)</span + > f) => <a href="#" title="Instances" + >Foo</a + > (<a href="#" title="GHC.Tuple" + >(,)</a + > (f a))</span > <a href="#" class="selflink" >#</a ></td @@ -450,31 +462,19 @@ ><p class="src" ><a href="#" >foo</a - > :: (a <a href="#" title="Instances" - ><~~</a - > <a href="#" title="Data.Int" + > :: (f a, <a href="#" title="Data.Int" >Int</a - >) -> a0 -> a <a href="#" title="Instances" - ><~~</a - > a0 <a href="#" class="selflink" + >) -> a0 -> (f a, a0) <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >foo'</a - > :: (a <a href="#" title="Instances" - ><~~</a - > (a <a href="#" title="Instances" - ><~~</a - > a0)) -> <a href="#" title="Data.Int" + > :: (f a, (f a, a0)) -> <a href="#" title="Data.Int" >Int</a - > -> a <a href="#" title="Instances" - ><~~</a - > (a <a href="#" title="Instances" - ><~~</a - > <a href="#" title="Data.Int" + > -> (f a, (f a, <a href="#" title="Data.Int" >Int</a - >) <a href="#" class="selflink" + >)) <a href="#" class="selflink" >#</a ></p ></div @@ -488,9 +488,9 @@ ></span > <a href="#" title="Instances" >Foo</a - > (<a href="#" title="GHC.Tuple" - >(,,)</a - > a a)</span + > (<a href="#" title="Instances" + >Quux</a + > a b)</span > <a href="#" class="selflink" >#</a ></td @@ -512,19 +512,31 @@ ><p class="src" ><a href="#" >foo</a - > :: (a, a, <a href="#" title="Data.Int" + > :: <a href="#" title="Instances" + >Quux</a + > a b <a href="#" title="Data.Int" >Int</a - >) -> a0 -> (a, a, a0) <a href="#" class="selflink" + > -> a0 -> <a href="#" title="Instances" + >Quux</a + > a b a0 <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >foo'</a - > :: (a, a, (a, a, a0)) -> <a href="#" title="Data.Int" + > :: <a href="#" title="Instances" + >Quux</a + > a b (<a href="#" title="Instances" + >Quux</a + > a b a0) -> <a href="#" title="Data.Int" >Int</a - > -> (a, a, (a, a, <a href="#" title="Data.Int" + > -> <a href="#" title="Instances" + >Quux</a + > a b (<a href="#" title="Instances" + >Quux</a + > a b <a href="#" title="Data.Int" >Int</a - >)) <a href="#" class="selflink" + >) <a href="#" class="selflink" >#</a ></p ></div @@ -538,9 +550,9 @@ ></span > <a href="#" title="Instances" >Foo</a - > (<a href="#" title="Instances" - >Quux</a - > a b)</span + > (<a href="#" title="GHC.Tuple" + >(,,)</a + > a a)</span > <a href="#" class="selflink" >#</a ></td @@ -562,31 +574,19 @@ ><p class="src" ><a href="#" >foo</a - > :: <a href="#" title="Instances" - >Quux</a - > a b <a href="#" title="Data.Int" + > :: (a, a, <a href="#" title="Data.Int" >Int</a - > -> a0 -> <a href="#" title="Instances" - >Quux</a - > a b a0 <a href="#" class="selflink" + >) -> a0 -> (a, a, a0) <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >foo'</a - > :: <a href="#" title="Instances" - >Quux</a - > a b (<a href="#" title="Instances" - >Quux</a - > a b a0) -> <a href="#" title="Data.Int" + > :: (a, a, (a, a, a0)) -> <a href="#" title="Data.Int" >Int</a - > -> <a href="#" title="Instances" - >Quux</a - > a b (<a href="#" title="Instances" - >Quux</a - > a b <a href="#" title="Data.Int" + > -> (a, a, (a, a, <a href="#" title="Data.Int" >Int</a - >) <a href="#" class="selflink" + >)) <a href="#" class="selflink" >#</a ></p ></div @@ -1045,68 +1045,6 @@ ><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:Bar:Bar:5" ></span > <a href="#" title="Instances" - >Foo</a - > (<a href="#" title="GHC.Tuple" - >(,,)</a - > a b) => <a href="#" title="Instances" - >Bar</a - > (<a href="#" title="GHC.Tuple" - >(,,)</a - > a b) (a, b, a)</span - > <a href="#" class="selflink" - >#</a - ></td - ><td class="doc empty" - > </td - ></tr - ><tr - ><td colspan="2" - ><details id="i:ic:Bar:Bar:5" - ><summary class="hide-when-js-enabled" - >Instance details</summary - ><p - >Defined in <a href="#" - >Instances</a - ></p - > <div class="subs methods" - ><p class="caption" - >Methods</p - ><p class="src" - ><a href="#" - >bar</a - > :: (a, b, (a, b, a)) -> (a, b, <a href="#" title="Data.Bool" - >Bool</a - >) -> (a, b, a) <a href="#" class="selflink" - >#</a - ></p - ><p class="src" - ><a href="#" - >bar'</a - > :: (a, b, (a, b, (a, b, a))) -> (a, b, (a, b, (a, b, b0))) <a href="#" class="selflink" - >#</a - ></p - ><p class="src" - ><a href="#" - >bar0</a - > :: ((a, b, (a, b, a)), (a, b, (a, b, a))) -> ((a, b, b0), (a, b, c)) <a href="#" class="selflink" - >#</a - ></p - ><p class="src" - ><a href="#" - >bar1</a - > :: ((a, b, (a, b, a)), (a, b, (a, b, a))) -> ((a, b, b0), (a, b, c)) <a href="#" class="selflink" - >#</a - ></p - ></div - ></details - ></td - ></tr - ><tr - ><td class="src clearfix" - ><span class="inst-left" - ><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:Bar:Bar:6" - ></span - > <a href="#" title="Instances" >Bar</a > (<a href="#" title="Instances" >Quux</a @@ -1121,7 +1059,7 @@ ></tr ><tr ><td colspan="2" - ><details id="i:ic:Bar:Bar:6" + ><details id="i:ic:Bar:Bar:5" ><summary class="hide-when-js-enabled" >Instance details</summary ><p @@ -1205,6 +1143,68 @@ ></details ></td ></tr + ><tr + ><td class="src clearfix" + ><span class="inst-left" + ><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:Bar:Bar:6" + ></span + > <a href="#" title="Instances" + >Foo</a + > (<a href="#" title="GHC.Tuple" + >(,,)</a + > a b) => <a href="#" title="Instances" + >Bar</a + > (<a href="#" title="GHC.Tuple" + >(,,)</a + > a b) (a, b, a)</span + > <a href="#" class="selflink" + >#</a + ></td + ><td class="doc empty" + > </td + ></tr + ><tr + ><td colspan="2" + ><details id="i:ic:Bar:Bar:6" + ><summary class="hide-when-js-enabled" + >Instance details</summary + ><p + >Defined in <a href="#" + >Instances</a + ></p + > <div class="subs methods" + ><p class="caption" + >Methods</p + ><p class="src" + ><a href="#" + >bar</a + > :: (a, b, (a, b, a)) -> (a, b, <a href="#" title="Data.Bool" + >Bool</a + >) -> (a, b, a) <a href="#" class="selflink" + >#</a + ></p + ><p class="src" + ><a href="#" + >bar'</a + > :: (a, b, (a, b, (a, b, a))) -> (a, b, (a, b, (a, b, b0))) <a href="#" class="selflink" + >#</a + ></p + ><p class="src" + ><a href="#" + >bar0</a + > :: ((a, b, (a, b, a)), (a, b, (a, b, a))) -> ((a, b, b0), (a, b, c)) <a href="#" class="selflink" + >#</a + ></p + ><p class="src" + ><a href="#" + >bar1</a + > :: ((a, b, (a, b, a)), (a, b, (a, b, a))) -> ((a, b, b0), (a, b, c)) <a href="#" class="selflink" + >#</a + ></p + ></div + ></details + ></td + ></tr ></table ></details ></div @@ -1400,7 +1400,9 @@ ></span > <a href="#" title="Instances" >Baz</a - > (a, b, c)</span + > (<a href="#" title="Instances" + >Quux</a + > a b c)</span > <a href="#" class="selflink" >#</a ></td @@ -1422,11 +1424,15 @@ ><p class="src" ><a href="#" >baz</a - > :: (a, b, c) -> (<span class="keyword" + > :: <a href="#" title="Instances" + >Quux</a + > a b c -> (<span class="keyword" >forall</span > a0. a0 -> a0) -> (b0, <span class="keyword" >forall</span - > c0. c0 -> (a, b, c)) -> (b0, c1) <a href="#" class="selflink" + > c0. c0 -> <a href="#" title="Instances" + >Quux</a + > a b c) -> (b0, c1) <a href="#" class="selflink" >#</a ></p ><p class="src" @@ -1434,9 +1440,15 @@ >baz'</a > :: b0 -> (<span class="keyword" >forall</span - > b1. b1 -> (a, b, c)) -> (<span class="keyword" + > b1. b1 -> <a href="#" title="Instances" + >Quux</a + > a b c) -> (<span class="keyword" >forall</span - > b2. b2 -> (a, b, c)) -> [(b0, (a, b, c))] <a href="#" class="selflink" + > b2. b2 -> <a href="#" title="Instances" + >Quux</a + > a b c) -> [(b0, <a href="#" title="Instances" + >Quux</a + > a b c)] <a href="#" class="selflink" >#</a ></p ><p class="src" @@ -1446,7 +1458,9 @@ >forall</span > b1. (<span class="keyword" >forall</span - > b2. b2 -> (a, b, c)) -> c0) -> <span class="keyword" + > b2. b2 -> <a href="#" title="Instances" + >Quux</a + > a b c) -> c0) -> <span class="keyword" >forall</span > c1. c1 -> b0 <a href="#" class="selflink" >#</a @@ -1462,9 +1476,7 @@ ></span > <a href="#" title="Instances" >Baz</a - > (<a href="#" title="Instances" - >Quux</a - > a b c)</span + > (a, b, c)</span > <a href="#" class="selflink" >#</a ></td @@ -1486,15 +1498,11 @@ ><p class="src" ><a href="#" >baz</a - > :: <a href="#" title="Instances" - >Quux</a - > a b c -> (<span class="keyword" + > :: (a, b, c) -> (<span class="keyword" >forall</span > a0. a0 -> a0) -> (b0, <span class="keyword" >forall</span - > c0. c0 -> <a href="#" title="Instances" - >Quux</a - > a b c) -> (b0, c1) <a href="#" class="selflink" + > c0. c0 -> (a, b, c)) -> (b0, c1) <a href="#" class="selflink" >#</a ></p ><p class="src" @@ -1502,15 +1510,9 @@ >baz'</a > :: b0 -> (<span class="keyword" >forall</span - > b1. b1 -> <a href="#" title="Instances" - >Quux</a - > a b c) -> (<span class="keyword" + > b1. b1 -> (a, b, c)) -> (<span class="keyword" >forall</span - > b2. b2 -> <a href="#" title="Instances" - >Quux</a - > a b c) -> [(b0, <a href="#" title="Instances" - >Quux</a - > a b c)] <a href="#" class="selflink" + > b2. b2 -> (a, b, c)) -> [(b0, (a, b, c))] <a href="#" class="selflink" >#</a ></p ><p class="src" @@ -1520,9 +1522,7 @@ >forall</span > b1. (<span class="keyword" >forall</span - > b2. b2 -> <a href="#" title="Instances" - >Quux</a - > a b c) -> c0) -> <span class="keyword" + > b2. b2 -> (a, b, c)) -> c0) -> <span class="keyword" >forall</span > c1. c1 -> b0 <a href="#" class="selflink" >#</a diff --git a/html-test/ref/SpuriousSuperclassConstraints.html b/html-test/ref/SpuriousSuperclassConstraints.html index ec9ccbd3..cbdc8956 100644 --- a/html-test/ref/SpuriousSuperclassConstraints.html +++ b/html-test/ref/SpuriousSuperclassConstraints.html @@ -96,59 +96,7 @@ Fix spurious superclass constraints bug.</pre ><tr ><td class="src clearfix" ><span class="inst-left" - ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:SomeType:Functor:1" - ></span - > <a href="#" title="Data.Functor" - >Functor</a - > (<a href="#" title="SpuriousSuperclassConstraints" - >SomeType</a - > f)</span - > <a href="#" class="selflink" - >#</a - ></td - ><td class="doc empty" - > </td - ></tr - ><tr - ><td colspan="2" - ><details id="i:id:SomeType:Functor:1" - ><summary class="hide-when-js-enabled" - >Instance details</summary - ><p - >Defined in <a href="#" - >SpuriousSuperclassConstraints</a - ></p - > <div class="subs methods" - ><p class="caption" - >Methods</p - ><p class="src" - ><a href="#" - >fmap</a - > :: (a -> b) -> <a href="#" title="SpuriousSuperclassConstraints" - >SomeType</a - > f a -> <a href="#" title="SpuriousSuperclassConstraints" - >SomeType</a - > f b <a href="#" class="selflink" - >#</a - ></p - ><p class="src" - ><a href="#" - >(<$)</a - > :: a -> <a href="#" title="SpuriousSuperclassConstraints" - >SomeType</a - > f b -> <a href="#" title="SpuriousSuperclassConstraints" - >SomeType</a - > f a <a href="#" class="selflink" - >#</a - ></p - ></div - ></details - ></td - ></tr - ><tr - ><td class="src clearfix" - ><span class="inst-left" - ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:SomeType:Applicative:2" + ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:SomeType:Applicative:1" ></span > <a href="#" title="Control.Applicative" >Applicative</a @@ -165,7 +113,7 @@ Fix spurious superclass constraints bug.</pre ></tr ><tr ><td colspan="2" - ><details id="i:id:SomeType:Applicative:2" + ><details id="i:id:SomeType:Applicative:1" ><summary class="hide-when-js-enabled" >Instance details</summary ><p @@ -235,6 +183,58 @@ Fix spurious superclass constraints bug.</pre ></details ></td ></tr + ><tr + ><td class="src clearfix" + ><span class="inst-left" + ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:SomeType:Functor:2" + ></span + > <a href="#" title="Data.Functor" + >Functor</a + > (<a href="#" title="SpuriousSuperclassConstraints" + >SomeType</a + > f)</span + > <a href="#" class="selflink" + >#</a + ></td + ><td class="doc empty" + > </td + ></tr + ><tr + ><td colspan="2" + ><details id="i:id:SomeType:Functor:2" + ><summary class="hide-when-js-enabled" + >Instance details</summary + ><p + >Defined in <a href="#" + >SpuriousSuperclassConstraints</a + ></p + > <div class="subs methods" + ><p class="caption" + >Methods</p + ><p class="src" + ><a href="#" + >fmap</a + > :: (a -> b) -> <a href="#" title="SpuriousSuperclassConstraints" + >SomeType</a + > f a -> <a href="#" title="SpuriousSuperclassConstraints" + >SomeType</a + > f b <a href="#" class="selflink" + >#</a + ></p + ><p class="src" + ><a href="#" + >(<$)</a + > :: a -> <a href="#" title="SpuriousSuperclassConstraints" + >SomeType</a + > f b -> <a href="#" title="SpuriousSuperclassConstraints" + >SomeType</a + > f a <a href="#" class="selflink" + >#</a + ></p + ></div + ></details + ></td + ></tr ></table ></details ></div diff --git a/html-test/ref/TypeFamilies.html b/html-test/ref/TypeFamilies.html index 98d4f250..faf41370 100644 --- a/html-test/ref/TypeFamilies.html +++ b/html-test/ref/TypeFamilies.html @@ -580,13 +580,13 @@ ></span > <span class="keyword" >type</span - > <a href="#" title="TypeFamilies" - >X</a + > '<a href="#" title="TypeFamilies" + >XXX</a > <a href="#" title="TypeFamilies" ><></a - > (a :: <a href="#" title="Data.Kind" - >Type</a - >)</span + > '<a href="#" title="TypeFamilies" + >XX</a + ></span > <a href="#" class="selflink" >#</a ></td @@ -605,13 +605,13 @@ > <div class="src" ><span class="keyword" >type</span - > <a href="#" title="TypeFamilies" - >X</a + > '<a href="#" title="TypeFamilies" + >XXX</a > <a href="#" title="TypeFamilies" ><></a - > (a :: <a href="#" title="Data.Kind" - >Type</a - >) = <a href="#" title="TypeFamilies" + > '<a href="#" title="TypeFamilies" + >XX</a + > = '<a href="#" title="TypeFamilies" >X</a ></div ></details @@ -624,13 +624,13 @@ ></span > <span class="keyword" >type</span - > '<a href="#" title="TypeFamilies" - >XXX</a + > <a href="#" title="TypeFamilies" + >X</a > <a href="#" title="TypeFamilies" ><></a - > '<a href="#" title="TypeFamilies" - >XX</a - ></span + > (a :: <a href="#" title="Data.Kind" + >Type</a + >)</span > <a href="#" class="selflink" >#</a ></td @@ -649,13 +649,13 @@ > <div class="src" ><span class="keyword" >type</span - > '<a href="#" title="TypeFamilies" - >XXX</a + > <a href="#" title="TypeFamilies" + >X</a > <a href="#" title="TypeFamilies" ><></a - > '<a href="#" title="TypeFamilies" - >XX</a - > = '<a href="#" title="TypeFamilies" + > (a :: <a href="#" title="Data.Kind" + >Type</a + >) = <a href="#" title="TypeFamilies" >X</a ></div ></details @@ -1157,14 +1157,14 @@ > <a href="#" title="TypeFamilies" >Test</a > <a href="#" title="TypeFamilies" - >Y</a + >X</a ></span > <a href="#" class="selflink" >#</a ></td ><td class="doc" ><p - >Doc for: instance Test Y</p + >Doc for: instance Test X</p ></td ></tr ><tr @@ -1187,14 +1187,14 @@ > <a href="#" title="TypeFamilies" >Test</a > <a href="#" title="TypeFamilies" - >X</a + >Y</a ></span > <a href="#" class="selflink" >#</a ></td ><td class="doc" ><p - >Doc for: instance Test X</p + >Doc for: instance Test Y</p ></td ></tr ><tr @@ -1243,14 +1243,14 @@ > <a href="#" title="TypeFamilies" >Foo</a > <a href="#" title="TypeFamilies" - >Y</a + >X</a ></span > <a href="#" class="selflink" >#</a ></td ><td class="doc" ><p - >Doc for: type instance Foo Y = X</p + >Doc for: type instance Foo X = Y</p ></td ></tr ><tr @@ -1268,9 +1268,9 @@ > <a href="#" title="TypeFamilies" >Foo</a > <a href="#" title="TypeFamilies" - >Y</a - > = <a href="#" title="TypeFamilies" >X</a + > = <a href="#" title="TypeFamilies" + >Y</a ></div ></details ></td @@ -1285,14 +1285,14 @@ > <a href="#" title="TypeFamilies" >Foo</a > <a href="#" title="TypeFamilies" - >X</a + >Y</a ></span > <a href="#" class="selflink" >#</a ></td ><td class="doc" ><p - >Doc for: type instance Foo X = Y</p + >Doc for: type instance Foo Y = X</p ></td ></tr ><tr @@ -1310,9 +1310,9 @@ > <a href="#" title="TypeFamilies" >Foo</a > <a href="#" title="TypeFamilies" - >X</a - > = <a href="#" title="TypeFamilies" >Y</a + > = <a href="#" title="TypeFamilies" + >X</a ></div ></details ></td @@ -1413,14 +1413,14 @@ > <a href="#" title="TypeFamilies" >Bat</a > <a href="#" title="TypeFamilies" - >Y</a + >X</a ></span > <a href="#" class="selflink" >#</a ></td ><td class="doc" ><p - >Doc for: data instance Bat Y</p + >Doc for: data instance Bat X</p ></td ></tr ><tr @@ -1438,11 +1438,33 @@ > <a href="#" title="TypeFamilies" >Bat</a > <a href="#" title="TypeFamilies" - >Y</a - > = <a id="v:BatY" class="def" - >BatY</a - > <a href="#" title="TypeFamilies" - >Y</a + >X</a + > <ul class="inst" + ><li class="inst" + >= <a id="v:BatX" class="def" + >BatX</a + > <a href="#" title="TypeFamilies" + >X</a + ></li + ><li class="inst" + >| <a id="v:BatXX" class="def" + >BatXX</a + > { <ul class="subs" + ><li + ><a id="v:aaa" class="def" + >aaa</a + > :: <a href="#" title="TypeFamilies" + >X</a + ></li + ><li + ><a id="v:bbb" class="def" + >bbb</a + > :: <a href="#" title="TypeFamilies" + >Y</a + ></li + ></ul + > }</li + ></ul ></div ></details ></td @@ -1457,14 +1479,14 @@ > <a href="#" title="TypeFamilies" >Bat</a > <a href="#" title="TypeFamilies" - >X</a + >Y</a ></span > <a href="#" class="selflink" >#</a ></td ><td class="doc" ><p - >Doc for: data instance Bat X</p + >Doc for: data instance Bat Y</p ></td ></tr ><tr @@ -1482,33 +1504,11 @@ > <a href="#" title="TypeFamilies" >Bat</a > <a href="#" title="TypeFamilies" - >X</a - > <ul class="inst" - ><li class="inst" - >= <a id="v:BatX" class="def" - >BatX</a - > <a href="#" title="TypeFamilies" - >X</a - ></li - ><li class="inst" - >| <a id="v:BatXX" class="def" - >BatXX</a - > { <ul class="subs" - ><li - ><a id="v:aaa" class="def" - >aaa</a - > :: <a href="#" title="TypeFamilies" - >X</a - ></li - ><li - ><a id="v:bbb" class="def" - >bbb</a - > :: <a href="#" title="TypeFamilies" - >Y</a - ></li - ></ul - > }</li - ></ul + >Y</a + > = <a id="v:BatY" class="def" + >BatY</a + > <a href="#" title="TypeFamilies" + >Y</a ></div ></details ></td @@ -1573,14 +1573,14 @@ > <a href="#" title="TypeFamilies" >Assoc</a > <a href="#" title="TypeFamilies" - >Y</a + >X</a ></span > <a href="#" class="selflink" >#</a ></td ><td class="doc" ><p - >Doc for: instance Assoc Y</p + >Doc for: instance Assoc X</p ></td ></tr ><tr @@ -1601,7 +1601,7 @@ > <a href="#" title="TypeFamilies" >AssocD</a > <a href="#" title="TypeFamilies" - >Y</a + >X</a > <a href="#" class="selflink" >#</a ></p @@ -1611,7 +1611,7 @@ > <a href="#" title="TypeFamilies" >AssocT</a > <a href="#" title="TypeFamilies" - >Y</a + >X</a > <a href="#" class="selflink" >#</a ></p @@ -1627,14 +1627,14 @@ > <a href="#" title="TypeFamilies" >Assoc</a > <a href="#" title="TypeFamilies" - >X</a + >Y</a ></span > <a href="#" class="selflink" >#</a ></td ><td class="doc" ><p - >Doc for: instance Assoc X</p + >Doc for: instance Assoc Y</p ></td ></tr ><tr @@ -1655,7 +1655,7 @@ > <a href="#" title="TypeFamilies" >AssocD</a > <a href="#" title="TypeFamilies" - >X</a + >Y</a > <a href="#" class="selflink" >#</a ></p @@ -1665,7 +1665,7 @@ > <a href="#" title="TypeFamilies" >AssocT</a > <a href="#" title="TypeFamilies" - >X</a + >Y</a > <a href="#" class="selflink" >#</a ></p @@ -1744,13 +1744,13 @@ ></span > <span class="keyword" >type</span - > <a href="#" title="TypeFamilies" - >Y</a + > '<a href="#" title="TypeFamilies" + >XXX</a > <a href="#" title="TypeFamilies" ><></a - > (a :: <a href="#" title="Data.Kind" - >Type</a - >)</span + > '<a href="#" title="TypeFamilies" + >XX</a + ></span > <a href="#" class="selflink" >#</a ></td @@ -1769,13 +1769,15 @@ > <div class="src" ><span class="keyword" >type</span - > <a href="#" title="TypeFamilies" - >Y</a + > '<a href="#" title="TypeFamilies" + >XXX</a > <a href="#" title="TypeFamilies" ><></a - > (a :: <a href="#" title="Data.Kind" - >Type</a - >) = a</div + > '<a href="#" title="TypeFamilies" + >XX</a + > = '<a href="#" title="TypeFamilies" + >X</a + ></div ></details ></td ></tr @@ -1830,13 +1832,13 @@ ></span > <span class="keyword" >type</span - > '<a href="#" title="TypeFamilies" - >XXX</a + > <a href="#" title="TypeFamilies" + >Y</a > <a href="#" title="TypeFamilies" ><></a - > '<a href="#" title="TypeFamilies" - >XX</a - ></span + > (a :: <a href="#" title="Data.Kind" + >Type</a + >)</span > <a href="#" class="selflink" >#</a ></td @@ -1855,15 +1857,13 @@ > <div class="src" ><span class="keyword" >type</span - > '<a href="#" title="TypeFamilies" - >XXX</a + > <a href="#" title="TypeFamilies" + >Y</a > <a href="#" title="TypeFamilies" ><></a - > '<a href="#" title="TypeFamilies" - >XX</a - > = '<a href="#" title="TypeFamilies" - >X</a - ></div + > (a :: <a href="#" title="Data.Kind" + >Type</a + >) = a</div ></details ></td ></tr diff --git a/html-test/ref/TypeFamilies2.html b/html-test/ref/TypeFamilies2.html index 6095eb58..1be5da83 100644 --- a/html-test/ref/TypeFamilies2.html +++ b/html-test/ref/TypeFamilies2.html @@ -212,15 +212,15 @@ >type</span > <a href="#" title="TypeFamilies2" >Foo</a - > <a href="#" title="TypeFamilies2" - >W</a + > <a href="#" title="TypeFamilies" + >X</a ></span > <a href="#" class="selflink" >#</a ></td ><td class="doc" ><p - >Should be visible, but with a hidden right hand side</p + >External instance</p ></td ></tr ><tr @@ -230,15 +230,17 @@ >Instance details</summary ><p >Defined in <a href="#" - >TypeFamilies2</a + >TypeFamilies</a ></p > <div class="src" ><span class="keyword" >type</span > <a href="#" title="TypeFamilies2" >Foo</a - > <a href="#" title="TypeFamilies2" - >W</a + > <a href="#" title="TypeFamilies" + >X</a + > = <a href="#" title="TypeFamilies" + >Y</a ></div ></details ></td @@ -252,15 +254,15 @@ >type</span > <a href="#" title="TypeFamilies2" >Foo</a - > <a href="#" title="TypeFamilies" - >X</a + > <a href="#" title="TypeFamilies2" + >W</a ></span > <a href="#" class="selflink" >#</a ></td ><td class="doc" ><p - >External instance</p + >Should be visible, but with a hidden right hand side</p ></td ></tr ><tr @@ -270,17 +272,15 @@ >Instance details</summary ><p >Defined in <a href="#" - >TypeFamilies</a + >TypeFamilies2</a ></p > <div class="src" ><span class="keyword" >type</span > <a href="#" title="TypeFamilies2" >Foo</a - > <a href="#" title="TypeFamilies" - >X</a - > = <a href="#" title="TypeFamilies" - >Y</a + > <a href="#" title="TypeFamilies2" + >W</a ></div ></details ></td @@ -318,16 +318,14 @@ >data</span > <a href="#" title="TypeFamilies2" >Bar</a - > <a href="#" title="TypeFamilies2" - >W</a + > <a href="#" title="TypeFamilies" + >Y</a ></span > <a href="#" class="selflink" >#</a ></td - ><td class="doc" - ><p - >Shown because BarX is still exported despite Z being hidden</p - ></td + ><td class="doc empty" + > </td ></tr ><tr ><td colspan="2" @@ -336,18 +334,16 @@ >Instance details</summary ><p >Defined in <a href="#" - >TypeFamilies2</a + >TypeFamilies</a ></p > <div class="src" ><span class="keyword" >data</span > <a href="#" title="TypeFamilies2" >Bar</a - > <a href="#" title="TypeFamilies2" - >W</a - > = <a id="v:BarX" class="def" - >BarX</a - > Z</div + > <a href="#" title="TypeFamilies" + >Y</a + ></div ></details ></td ></tr @@ -360,14 +356,16 @@ >data</span > <a href="#" title="TypeFamilies2" >Bar</a - > <a href="#" title="TypeFamilies" - >Y</a + > <a href="#" title="TypeFamilies2" + >W</a ></span > <a href="#" class="selflink" >#</a ></td - ><td class="doc empty" - > </td + ><td class="doc" + ><p + >Shown because BarX is still exported despite Z being hidden</p + ></td ></tr ><tr ><td colspan="2" @@ -376,16 +374,18 @@ >Instance details</summary ><p >Defined in <a href="#" - >TypeFamilies</a + >TypeFamilies2</a ></p > <div class="src" ><span class="keyword" >data</span > <a href="#" title="TypeFamilies2" >Bar</a - > <a href="#" title="TypeFamilies" - >Y</a - ></div + > <a href="#" title="TypeFamilies2" + >W</a + > = <a id="v:BarX" class="def" + >BarX</a + > Z</div ></details ></td ></tr diff --git a/html-test/ref/TypeFamilies3.html b/html-test/ref/TypeFamilies3.html index a926601b..5e2d1ea7 100644 --- a/html-test/ref/TypeFamilies3.html +++ b/html-test/ref/TypeFamilies3.html @@ -148,9 +148,7 @@ >type</span > <a href="#" title="TypeFamilies3" >Bar</a - > <a href="#" title="Data.Int" - >Int</a - ></span + > ()</span > <a href="#" class="selflink" >#</a ></td @@ -171,9 +169,9 @@ >type</span > <a href="#" title="TypeFamilies3" >Bar</a - > <a href="#" title="Data.Int" + > () = <a href="#" title="Data.Int" >Int</a - > = ()</div + ></div ></details ></td ></tr @@ -186,7 +184,9 @@ >type</span > <a href="#" title="TypeFamilies3" >Bar</a - > ()</span + > <a href="#" title="Data.Int" + >Int</a + ></span > <a href="#" class="selflink" >#</a ></td @@ -207,9 +207,9 @@ >type</span > <a href="#" title="TypeFamilies3" >Bar</a - > () = <a href="#" title="Data.Int" + > <a href="#" title="Data.Int" >Int</a - ></div + > = ()</div ></details ></td ></tr @@ -243,12 +243,10 @@ ><span class="instance details-toggle-control details-toggle" data-details-id="i:if:Baz:Baz:1" ></span > <span class="keyword" - >newtype</span + >data</span > <a href="#" title="TypeFamilies3" >Baz</a - > <a href="#" title="Prelude" - >Double</a - ></span + > ()</span > <a href="#" class="selflink" >#</a ></td @@ -266,15 +264,11 @@ ></p > <div class="src" ><span class="keyword" - >newtype</span + >data</span > <a href="#" title="TypeFamilies3" >Baz</a - > <a href="#" title="Prelude" - >Double</a - > = <a id="v:Baz3" class="def" - >Baz3</a - > <a href="#" title="Prelude" - >Float</a + > () = <a id="v:Baz1" class="def" + >Baz1</a ></div ></details ></td @@ -285,11 +279,11 @@ ><span class="instance details-toggle-control details-toggle" data-details-id="i:if:Baz:Baz:2" ></span > <span class="keyword" - >data</span + >newtype</span > <a href="#" title="TypeFamilies3" >Baz</a - > <a href="#" title="Data.Int" - >Int</a + > <a href="#" title="Prelude" + >Double</a ></span > <a href="#" class="selflink" >#</a @@ -308,15 +302,15 @@ ></p > <div class="src" ><span class="keyword" - >data</span + >newtype</span > <a href="#" title="TypeFamilies3" >Baz</a - > <a href="#" title="Data.Int" - >Int</a - > = <a id="v:Baz2" class="def" - >Baz2</a - > <a href="#" title="Data.Bool" - >Bool</a + > <a href="#" title="Prelude" + >Double</a + > = <a id="v:Baz3" class="def" + >Baz3</a + > <a href="#" title="Prelude" + >Float</a ></div ></details ></td @@ -330,7 +324,9 @@ >data</span > <a href="#" title="TypeFamilies3" >Baz</a - > ()</span + > <a href="#" title="Data.Int" + >Int</a + ></span > <a href="#" class="selflink" >#</a ></td @@ -351,8 +347,12 @@ >data</span > <a href="#" title="TypeFamilies3" >Baz</a - > () = <a id="v:Baz1" class="def" - >Baz1</a + > <a href="#" title="Data.Int" + >Int</a + > = <a id="v:Baz2" class="def" + >Baz2</a + > <a href="#" title="Data.Bool" + >Bool</a ></div ></details ></td diff --git a/hypsrc-test/ref/src/Classes.html b/hypsrc-test/ref/src/Classes.html index f3993425..0acd106d 100644 --- a/hypsrc-test/ref/src/Classes.html +++ b/hypsrc-test/ref/src/Classes.html @@ -194,7 +194,7 @@ ><span class="annottext" >bar :: Int -> Int </span - ><a href="#" + ><a href="Classes.html#bar" ><span class="hs-identifier hs-var hs-var hs-var hs-var" >bar</span ></a @@ -226,7 +226,7 @@ forall a. a -> a ><span class="annottext" >baz :: Int -> (Int, Int) </span - ><a href="#" + ><a href="Classes.html#baz" ><span class="hs-identifier hs-var hs-var hs-var hs-var" >baz</span ></a @@ -327,7 +327,7 @@ forall a. a -> a ><span class="annottext" >bar :: [a] -> Int </span - ><a href="#" + ><a href="Classes.html#bar" ><span class="hs-identifier hs-var hs-var hs-var hs-var" >bar</span ></a @@ -359,7 +359,7 @@ forall (t :: * -> *) a. Foldable t => t a -> Int ><span class="annottext" >baz :: Int -> ([a], [a]) </span - ><a href="#" + ><a href="Classes.html#baz" ><span class="hs-identifier hs-var hs-var hs-var hs-var" >baz</span ></a @@ -798,7 +798,7 @@ forall a. Foo a => a -> Int ><span class="annottext" >norf :: [Int] -> Int </span - ><a href="#" + ><a href="Classes.html#norf" ><span class="hs-identifier hs-var hs-var hs-var hs-var" >norf</span ></a @@ -870,7 +870,7 @@ forall (t :: * -> *) a. (Foldable t, Num a) => t a -> a ><span class="annottext" >quux :: ([a], [a]) -> [a] </span - ><a href="#" + ><a href="Classes.html#quux" ><span class="hs-identifier hs-var hs-var hs-var hs-var" >quux</span ></a @@ -1118,7 +1118,7 @@ forall a. [a] -> [a] -> [a] ><span class="annottext" >plugh :: forall a b. Either a a -> Either b b -> Either (a -> b) (b -> a) </span - ><a href="#" + ><a href="Classes.html#plugh" ><span class="hs-identifier hs-var hs-var hs-var hs-var" >plugh</span ></a diff --git a/hypsrc-test/ref/src/Records.html b/hypsrc-test/ref/src/Records.html index 9adf02de..256b952f 100644 --- a/hypsrc-test/ref/src/Records.html +++ b/hypsrc-test/ref/src/Records.html @@ -623,10 +623,10 @@ forall a. Num a => a -> a -> a ><span class="annot" ><span class="annottext" >Int -x :: Int x :: Point -> Int +x :: Int </span - ><a href="#" + ><a href="Records.html#x" ><span class="hs-identifier hs-var hs-var" >x</span ></a @@ -640,10 +640,10 @@ x :: Point -> Int ><span class="annot" ><span class="annottext" >Int -y :: Int y :: Point -> Int +y :: Int </span - ><a href="#" + ><a href="Records.html#y" ><span class="hs-identifier hs-var hs-var" >y</span ></a @@ -1301,12 +1301,12 @@ forall a. Num a => a -> a -> a ><span class="annot" ><span class="annottext" >Int -y :: Int -x :: Int -y :: Point -> Int x :: Point -> Int +y :: Point -> Int +x :: Int +y :: Int </span - ><a href="#" + ><a href="Records.html#x" ><span class="hs-glyph hs-var hs-var hs-var hs-var" >..</span ></a diff --git a/latex-test/ref/TypeFamilies3/TypeFamilies3.tex b/latex-test/ref/TypeFamilies3/TypeFamilies3.tex index d8787704..38c143b0 100644 --- a/latex-test/ref/TypeFamilies3/TypeFamilies3.tex +++ b/latex-test/ref/TypeFamilies3/TypeFamilies3.tex @@ -27,7 +27,7 @@ An open family\par} \end{haddockdesc} \begin{haddockdesc} \item[\begin{tabular}{@{}l} -type instance Bar Int = ()\\type instance Bar () = Int +type instance Bar () = Int\\type instance Bar Int = () \end{tabular}] \end{haddockdesc} \begin{haddockdesc} @@ -39,6 +39,6 @@ A data family\par} \end{haddockdesc} \begin{haddockdesc} \item[\begin{tabular}{@{}l} -newtype instance Baz Double\\data instance Baz Int\\data instance Baz () +data instance Baz ()\\newtype instance Baz Double\\data instance Baz Int \end{tabular}] \end{haddockdesc}
\ No newline at end of file |