{-# LANGUAGE CPP, DeriveTraversable #-}
module Documentation.Haddock.Types where
#if !MIN_VERSION_base(4,8,0)
import Control.Applicative
import Data.Foldable
import Data.Traversable
#endif
#if MIN_VERSION_base(4,8,0)
import Control.Arrow ((***))
import Data.Bifunctor
#endif
#if MIN_VERSION_base(4,10,0)
import Data.Bifoldable
import Data.Bitraversable
#endif
data Meta = Meta { Meta -> Maybe Version
_version :: Maybe Version
, Meta -> Maybe Package
_package :: Maybe Package
} deriving (Meta -> Meta -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Meta -> Meta -> Bool
$c/= :: Meta -> Meta -> Bool
== :: Meta -> Meta -> Bool
$c== :: Meta -> Meta -> Bool
Eq, Int -> Meta -> ShowS
[Meta] -> ShowS
Meta -> Package
forall a.
(Int -> a -> ShowS) -> (a -> Package) -> ([a] -> ShowS) -> Show a
showList :: [Meta] -> ShowS
$cshowList :: [Meta] -> ShowS
show :: Meta -> Package
$cshow :: Meta -> Package
showsPrec :: Int -> Meta -> ShowS
$cshowsPrec :: Int -> Meta -> ShowS
Show)
data MetaDoc mod id =
MetaDoc { forall mod id. MetaDoc mod id -> Meta
_meta :: Meta
, forall mod id. MetaDoc mod id -> DocH mod id
_doc :: DocH mod id
} deriving (MetaDoc mod id -> MetaDoc mod id -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
forall mod id.
(Eq id, Eq mod) =>
MetaDoc mod id -> MetaDoc mod id -> Bool
/= :: MetaDoc mod id -> MetaDoc mod id -> Bool
$c/= :: forall mod id.
(Eq id, Eq mod) =>
MetaDoc mod id -> MetaDoc mod id -> Bool
== :: MetaDoc mod id -> MetaDoc mod id -> Bool
$c== :: forall mod id.
(Eq id, Eq mod) =>
MetaDoc mod id -> MetaDoc mod id -> Bool
Eq, Int -> MetaDoc mod id -> ShowS
forall a.
(Int -> a -> ShowS) -> (a -> Package) -> ([a] -> ShowS) -> Show a
forall mod id.
(Show id, Show mod) =>
Int -> MetaDoc mod id -> ShowS
forall mod id. (Show id, Show mod) => [MetaDoc mod id] -> ShowS
forall mod id. (Show id, Show mod) => MetaDoc mod id -> Package
showList :: [MetaDoc mod id] -> ShowS
$cshowList :: forall mod id. (Show id, Show mod) => [MetaDoc mod id] -> ShowS
show :: MetaDoc mod id -> Package
$cshow :: forall mod id. (Show id, Show mod) => MetaDoc mod id -> Package
showsPrec :: Int -> MetaDoc mod id -> ShowS
$cshowsPrec :: forall mod id.
(Show id, Show mod) =>
Int -> MetaDoc mod id -> ShowS
Show, forall a b. a -> MetaDoc mod b -> MetaDoc mod a
forall a b. (a -> b) -> MetaDoc mod a -> MetaDoc mod b
forall mod a b. a -> MetaDoc mod b -> MetaDoc mod a
forall mod a b. (a -> b) -> MetaDoc mod a -> MetaDoc mod b
forall (f :: * -> *).
(forall a b. (a -> b) -> f a -> f b)
-> (forall a b. a -> f b -> f a) -> Functor f
<$ :: forall a b. a -> MetaDoc mod b -> MetaDoc mod a
$c<$ :: forall mod a b. a -> MetaDoc mod b -> MetaDoc mod a
fmap :: forall a b. (a -> b) -> MetaDoc mod a -> MetaDoc mod b
$cfmap :: forall mod a b. (a -> b) -> MetaDoc mod a -> MetaDoc mod b
Functor, forall a. MetaDoc mod a -> Bool
forall mod a. Eq a => a -> MetaDoc mod a -> Bool
forall mod a. Num a => MetaDoc mod a -> a
forall mod a. Ord a => MetaDoc mod a -> a
forall m a. Monoid m => (a -> m) -> MetaDoc mod a -> m
forall mod m. Monoid m => MetaDoc mod m -> m
forall mod a. MetaDoc mod a -> Bool
forall mod a. MetaDoc mod a -> Int
forall mod a. MetaDoc mod a -> [a]
forall a b. (a -> b -> b) -> b -> MetaDoc mod a -> b
forall mod a. (a -> a -> a) -> MetaDoc mod a -> a
forall mod m a. Monoid m => (a -> m) -> MetaDoc mod a -> m
forall mod b a. (b -> a -> b) -> b -> MetaDoc mod a -> b
forall mod a b. (a -> b -> b) -> b -> MetaDoc mod a -> b
forall (t :: * -> *).
(forall m. Monoid m => t m -> m)
-> (forall m a. Monoid m => (a -> m) -> t a -> m)
-> (forall m a. Monoid m => (a -> m) -> t a -> m)
-> (forall a b. (a -> b -> b) -> b -> t a -> b)
-> (forall a b. (a -> b -> b) -> b -> t a -> b)
-> (forall b a. (b -> a -> b) -> b -> t a -> b)
-> (forall b a. (b -> a -> b) -> b -> t a -> b)
-> (forall a. (a -> a -> a) -> t a -> a)
-> (forall a. (a -> a -> a) -> t a -> a)
-> (forall a. t a -> [a])
-> (forall a. t a -> Bool)
-> (forall a. t a -> Int)
-> (forall a. Eq a => a -> t a -> Bool)
-> (forall a. Ord a => t a -> a)
-> (forall a. Ord a => t a -> a)
-> (forall a. Num a => t a -> a)
-> (forall a. Num a => t a -> a)
-> Foldable t
product :: forall a. Num a => MetaDoc mod a -> a
$cproduct :: forall mod a. Num a => MetaDoc mod a -> a
sum :: forall a. Num a => MetaDoc mod a -> a
$csum :: forall mod a. Num a => MetaDoc mod a -> a
minimum :: forall a. Ord a => MetaDoc mod a -> a
$cminimum :: forall mod a. Ord a => MetaDoc mod a -> a
maximum :: forall a. Ord a => MetaDoc mod a -> a
$cmaximum :: forall mod a. Ord a => MetaDoc mod a -> a
elem :: forall a. Eq a => a -> MetaDoc mod a -> Bool
$celem :: forall mod a. Eq a => a -> MetaDoc mod a -> Bool
length :: forall a. MetaDoc mod a -> Int
$clength :: forall mod a. MetaDoc mod a -> Int
null :: forall a. MetaDoc mod a -> Bool
$cnull :: forall mod a. MetaDoc mod a -> Bool
toList :: forall a. MetaDoc mod a -> [a]
$ctoList :: forall mod a. MetaDoc mod a -> [a]
foldl1 :: forall a. (a -> a -> a) -> MetaDoc mod a -> a
$cfoldl1 :: forall mod a. (a -> a -> a) -> MetaDoc mod a -> a
foldr1 :: forall a. (a -> a -> a) -> MetaDoc mod a -> a
$cfoldr1 :: forall mod a. (a -> a -> a) -> MetaDoc mod a -> a
foldl' :: forall b a. (b -> a -> b) -> b -> MetaDoc mod a -> b
$cfoldl' :: forall mod b a. (b -> a -> b) -> b -> MetaDoc mod a -> b
foldl :: forall b a. (b -> a -> b) -> b -> MetaDoc mod a -> b
$cfoldl :: forall mod b a. (b -> a -> b) -> b -> MetaDoc mod a -> b
foldr' :: forall a b. (a -> b -> b) -> b -> MetaDoc mod a -> b
$cfoldr' :: forall mod a b. (a -> b -> b) -> b -> MetaDoc mod a -> b
foldr :: forall a b. (a -> b -> b) -> b -> MetaDoc mod a -> b
$cfoldr :: forall mod a b. (a -> b -> b) -> b -> MetaDoc mod a -> b
foldMap' :: forall m a. Monoid m => (a -> m) -> MetaDoc mod a -> m
$cfoldMap' :: forall mod m a. Monoid m => (a -> m) -> MetaDoc mod a -> m
foldMap :: forall m a. Monoid m => (a -> m) -> MetaDoc mod a -> m
$cfoldMap :: forall mod m a. Monoid m => (a -> m) -> MetaDoc mod a -> m
fold :: forall m. Monoid m => MetaDoc mod m -> m
$cfold :: forall mod m. Monoid m => MetaDoc mod m -> m
Foldable, forall mod. Functor (MetaDoc mod)
forall mod. Foldable (MetaDoc mod)
forall mod (m :: * -> *) a.
Monad m =>
MetaDoc mod (m a) -> m (MetaDoc mod a)
forall mod (f :: * -> *) a.
Applicative f =>
MetaDoc mod (f a) -> f (MetaDoc mod a)
forall mod (m :: * -> *) a b.
Monad m =>
(a -> m b) -> MetaDoc mod a -> m (MetaDoc mod b)
forall mod (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> MetaDoc mod a -> f (MetaDoc mod b)
forall (t :: * -> *).
Functor t
-> Foldable t
-> (forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> t a -> f (t b))
-> (forall (f :: * -> *) a. Applicative f => t (f a) -> f (t a))
-> (forall (m :: * -> *) a b.
Monad m =>
(a -> m b) -> t a -> m (t b))
-> (forall (m :: * -> *) a. Monad m => t (m a) -> m (t a))
-> Traversable t
forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> MetaDoc mod a -> f (MetaDoc mod b)
sequence :: forall (m :: * -> *) a.
Monad m =>
MetaDoc mod (m a) -> m (MetaDoc mod a)
$csequence :: forall mod (m :: * -> *) a.
Monad m =>
MetaDoc mod (m a) -> m (MetaDoc mod a)
mapM :: forall (m :: * -> *) a b.
Monad m =>
(a -> m b) -> MetaDoc mod a -> m (MetaDoc mod b)
$cmapM :: forall mod (m :: * -> *) a b.
Monad m =>
(a -> m b) -> MetaDoc mod a -> m (MetaDoc mod b)
sequenceA :: forall (f :: * -> *) a.
Applicative f =>
MetaDoc mod (f a) -> f (MetaDoc mod a)
$csequenceA :: forall mod (f :: * -> *) a.
Applicative f =>
MetaDoc mod (f a) -> f (MetaDoc mod a)
traverse :: forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> MetaDoc mod a -> f (MetaDoc mod b)
$ctraverse :: forall mod (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> MetaDoc mod a -> f (MetaDoc mod b)
Traversable)
#if MIN_VERSION_base(4,8,0)
instance Bifunctor MetaDoc where
bimap :: forall a b c d. (a -> b) -> (c -> d) -> MetaDoc a c -> MetaDoc b d
bimap a -> b
f c -> d
g (MetaDoc Meta
m DocH a c
d) = forall mod id. Meta -> DocH mod id -> MetaDoc mod id
MetaDoc Meta
m (forall (p :: * -> * -> *) a b c d.
Bifunctor p =>
(a -> b) -> (c -> d) -> p a c -> p b d
bimap a -> b
f c -> d
g DocH a c
d)
#endif
#if MIN_VERSION_base(4,10,0)
instance Bifoldable MetaDoc where
bifoldr :: forall a c b.
(a -> c -> c) -> (b -> c -> c) -> c -> MetaDoc a b -> c
bifoldr a -> c -> c
f b -> c -> c
g c
z MetaDoc a b
d = forall (p :: * -> * -> *) a c b.
Bifoldable p =>
(a -> c -> c) -> (b -> c -> c) -> c -> p a b -> c
bifoldr a -> c -> c
f b -> c -> c
g c
z (forall mod id. MetaDoc mod id -> DocH mod id
_doc MetaDoc a b
d)
instance Bitraversable MetaDoc where
bitraverse :: forall (f :: * -> *) a c b d.
Applicative f =>
(a -> f c) -> (b -> f d) -> MetaDoc a b -> f (MetaDoc c d)
bitraverse a -> f c
f b -> f d
g (MetaDoc Meta
m DocH a b
d) = forall mod id. Meta -> DocH mod id -> MetaDoc mod id
MetaDoc Meta
m forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> forall (t :: * -> * -> *) (f :: * -> *) a c b d.
(Bitraversable t, Applicative f) =>
(a -> f c) -> (b -> f d) -> t a b -> f (t c d)
bitraverse a -> f c
f b -> f d
g DocH a b
d
#endif
overDoc :: (DocH a b -> DocH c d) -> MetaDoc a b -> MetaDoc c d
overDoc :: forall a b c d.
(DocH a b -> DocH c d) -> MetaDoc a b -> MetaDoc c d
overDoc DocH a b -> DocH c d
f MetaDoc a b
d = MetaDoc a b
d { _doc :: DocH c d
_doc = DocH a b -> DocH c d
f forall a b. (a -> b) -> a -> b
$ forall mod id. MetaDoc mod id -> DocH mod id
_doc MetaDoc a b
d }
overDocF :: Functor f => (DocH a b -> f (DocH c d)) -> MetaDoc a b -> f (MetaDoc c d)
overDocF :: forall (f :: * -> *) a b c d.
Functor f =>
(DocH a b -> f (DocH c d)) -> MetaDoc a b -> f (MetaDoc c d)
overDocF DocH a b -> f (DocH c d)
f MetaDoc a b
d = (\DocH c d
x -> MetaDoc a b
d { _doc :: DocH c d
_doc = DocH c d
x }) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> DocH a b -> f (DocH c d)
f (forall mod id. MetaDoc mod id -> DocH mod id
_doc MetaDoc a b
d)
type Version = [Int]
type Package = String
data Hyperlink id = Hyperlink
{ forall id. Hyperlink id -> Package
hyperlinkUrl :: String
, forall id. Hyperlink id -> Maybe id
hyperlinkLabel :: Maybe id
} deriving (Hyperlink id -> Hyperlink id -> Bool
forall id. Eq id => Hyperlink id -> Hyperlink id -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Hyperlink id -> Hyperlink id -> Bool
$c/= :: forall id. Eq id => Hyperlink id -> Hyperlink id -> Bool
== :: Hyperlink id -> Hyperlink id -> Bool
$c== :: forall id. Eq id => Hyperlink id -> Hyperlink id -> Bool
Eq, Int -> Hyperlink id -> ShowS
forall id. Show id => Int -> Hyperlink id -> ShowS
forall id. Show id => [Hyperlink id] -> ShowS
forall id. Show id => Hyperlink id -> Package
forall a.
(Int -> a -> ShowS) -> (a -> Package) -> ([a] -> ShowS) -> Show a
showList :: [Hyperlink id] -> ShowS
$cshowList :: forall id. Show id => [Hyperlink id] -> ShowS
show :: Hyperlink id -> Package
$cshow :: forall id. Show id => Hyperlink id -> Package
showsPrec :: Int -> Hyperlink id -> ShowS
$cshowsPrec :: forall id. Show id => Int -> Hyperlink id -> ShowS
Show, forall a b. a -> Hyperlink b -> Hyperlink a
forall a b. (a -> b) -> Hyperlink a -> Hyperlink b
forall (f :: * -> *).
(forall a b. (a -> b) -> f a -> f b)
-> (forall a b. a -> f b -> f a) -> Functor f
<$ :: forall a b. a -> Hyperlink b -> Hyperlink a
$c<$ :: forall a b. a -> Hyperlink b -> Hyperlink a
fmap :: forall a b. (a -> b) -> Hyperlink a -> Hyperlink b
$cfmap :: forall a b. (a -> b) -> Hyperlink a -> Hyperlink b
Functor, forall a. Eq a => a -> Hyperlink a -> Bool
forall a. Num a => Hyperlink a -> a
forall a. Ord a => Hyperlink a -> a
forall m. Monoid m => Hyperlink m -> m
forall a. Hyperlink a -> Bool
forall a. Hyperlink a -> Int
forall a. Hyperlink a -> [a]
forall a. (a -> a -> a) -> Hyperlink a -> a
forall m a. Monoid m => (a -> m) -> Hyperlink a -> m
forall b a. (b -> a -> b) -> b -> Hyperlink a -> b
forall a b. (a -> b -> b) -> b -> Hyperlink a -> b
forall (t :: * -> *).
(forall m. Monoid m => t m -> m)
-> (forall m a. Monoid m => (a -> m) -> t a -> m)
-> (forall m a. Monoid m => (a -> m) -> t a -> m)
-> (forall a b. (a -> b -> b) -> b -> t a -> b)
-> (forall a b. (a -> b -> b) -> b -> t a -> b)
-> (forall b a. (b -> a -> b) -> b -> t a -> b)
-> (forall b a. (b -> a -> b) -> b -> t a -> b)
-> (forall a. (a -> a -> a) -> t a -> a)
-> (forall a. (a -> a -> a) -> t a -> a)
-> (forall a. t a -> [a])
-> (forall a. t a -> Bool)
-> (forall a. t a -> Int)
-> (forall a. Eq a => a -> t a -> Bool)
-> (forall a. Ord a => t a -> a)
-> (forall a. Ord a => t a -> a)
-> (forall a. Num a => t a -> a)
-> (forall a. Num a => t a -> a)
-> Foldable t
product :: forall a. Num a => Hyperlink a -> a
$cproduct :: forall a. Num a => Hyperlink a -> a
sum :: forall a. Num a => Hyperlink a -> a
$csum :: forall a. Num a => Hyperlink a -> a
minimum :: forall a. Ord a => Hyperlink a -> a
$cminimum :: forall a. Ord a => Hyperlink a -> a
maximum :: forall a. Ord a => Hyperlink a -> a
$cmaximum :: forall a. Ord a => Hyperlink a -> a
elem :: forall a. Eq a => a -> Hyperlink a -> Bool
$celem :: forall a. Eq a => a -> Hyperlink a -> Bool
length :: forall a. Hyperlink a -> Int
$clength :: forall a. Hyperlink a -> Int
null :: forall a. Hyperlink a -> Bool
$cnull :: forall a. Hyperlink a -> Bool
toList :: forall a. Hyperlink a -> [a]
$ctoList :: forall a. Hyperlink a -> [a]
foldl1 :: forall a. (a -> a -> a) -> Hyperlink a -> a
$cfoldl1 :: forall a. (a -> a -> a) -> Hyperlink a -> a
foldr1 :: forall a. (a -> a -> a) -> Hyperlink a -> a
$cfoldr1 :: forall a. (a -> a -> a) -> Hyperlink a -> a
foldl' :: forall b a. (b -> a -> b) -> b -> Hyperlink a -> b
$cfoldl' :: forall b a. (b -> a -> b) -> b -> Hyperlink a -> b
foldl :: forall b a. (b -> a -> b) -> b -> Hyperlink a -> b
$cfoldl :: forall b a. (b -> a -> b) -> b -> Hyperlink a -> b
foldr' :: forall a b. (a -> b -> b) -> b -> Hyperlink a -> b
$cfoldr' :: forall a b. (a -> b -> b) -> b -> Hyperlink a -> b
foldr :: forall a b. (a -> b -> b) -> b -> Hyperlink a -> b
$cfoldr :: forall a b. (a -> b -> b) -> b -> Hyperlink a -> b
foldMap' :: forall m a. Monoid m => (a -> m) -> Hyperlink a -> m
$cfoldMap' :: forall m a. Monoid m => (a -> m) -> Hyperlink a -> m
foldMap :: forall m a. Monoid m => (a -> m) -> Hyperlink a -> m
$cfoldMap :: forall m a. Monoid m => (a -> m) -> Hyperlink a -> m
fold :: forall m. Monoid m => Hyperlink m -> m
$cfold :: forall m. Monoid m => Hyperlink m -> m
Foldable, Functor Hyperlink
Foldable Hyperlink
forall (t :: * -> *).
Functor t
-> Foldable t
-> (forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> t a -> f (t b))
-> (forall (f :: * -> *) a. Applicative f => t (f a) -> f (t a))
-> (forall (m :: * -> *) a b.
Monad m =>
(a -> m b) -> t a -> m (t b))
-> (forall (m :: * -> *) a. Monad m => t (m a) -> m (t a))
-> Traversable t
forall (m :: * -> *) a.
Monad m =>
Hyperlink (m a) -> m (Hyperlink a)
forall (f :: * -> *) a.
Applicative f =>
Hyperlink (f a) -> f (Hyperlink a)
forall (m :: * -> *) a b.
Monad m =>
(a -> m b) -> Hyperlink a -> m (Hyperlink b)
forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> Hyperlink a -> f (Hyperlink b)
sequence :: forall (m :: * -> *) a.
Monad m =>
Hyperlink (m a) -> m (Hyperlink a)
$csequence :: forall (m :: * -> *) a.
Monad m =>
Hyperlink (m a) -> m (Hyperlink a)
mapM :: forall (m :: * -> *) a b.
Monad m =>
(a -> m b) -> Hyperlink a -> m (Hyperlink b)
$cmapM :: forall (m :: * -> *) a b.
Monad m =>
(a -> m b) -> Hyperlink a -> m (Hyperlink b)
sequenceA :: forall (f :: * -> *) a.
Applicative f =>
Hyperlink (f a) -> f (Hyperlink a)
$csequenceA :: forall (f :: * -> *) a.
Applicative f =>
Hyperlink (f a) -> f (Hyperlink a)
traverse :: forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> Hyperlink a -> f (Hyperlink b)
$ctraverse :: forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> Hyperlink a -> f (Hyperlink b)
Traversable)
data ModLink id = ModLink
{ forall id. ModLink id -> Package
modLinkName :: String
, forall id. ModLink id -> Maybe id
modLinkLabel :: Maybe id
} deriving (ModLink id -> ModLink id -> Bool
forall id. Eq id => ModLink id -> ModLink id -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ModLink id -> ModLink id -> Bool
$c/= :: forall id. Eq id => ModLink id -> ModLink id -> Bool
== :: ModLink id -> ModLink id -> Bool
$c== :: forall id. Eq id => ModLink id -> ModLink id -> Bool
Eq, Int -> ModLink id -> ShowS
forall id. Show id => Int -> ModLink id -> ShowS
forall id. Show id => [ModLink id] -> ShowS
forall id. Show id => ModLink id -> Package
forall a.
(Int -> a -> ShowS) -> (a -> Package) -> ([a] -> ShowS) -> Show a
showList :: [ModLink id] -> ShowS
$cshowList :: forall id. Show id => [ModLink id] -> ShowS
show :: ModLink id -> Package
$cshow :: forall id. Show id => ModLink id -> Package
showsPrec :: Int -> ModLink id -> ShowS
$cshowsPrec :: forall id. Show id => Int -> ModLink id -> ShowS
Show, forall a b. a -> ModLink b -> ModLink a
forall a b. (a -> b) -> ModLink a -> ModLink b
forall (f :: * -> *).
(forall a b. (a -> b) -> f a -> f b)
-> (forall a b. a -> f b -> f a) -> Functor f
<$ :: forall a b. a -> ModLink b -> ModLink a
$c<$ :: forall a b. a -> ModLink b -> ModLink a
fmap :: forall a b. (a -> b) -> ModLink a -> ModLink b
$cfmap :: forall a b. (a -> b) -> ModLink a -> ModLink b
Functor, forall a. Eq a => a -> ModLink a -> Bool
forall a. Num a => ModLink a -> a
forall a. Ord a => ModLink a -> a
forall m. Monoid m => ModLink m -> m
forall a. ModLink a -> Bool
forall a. ModLink a -> Int
forall a. ModLink a -> [a]
forall a. (a -> a -> a) -> ModLink a -> a
forall m a. Monoid m => (a -> m) -> ModLink a -> m
forall b a. (b -> a -> b) -> b -> ModLink a -> b
forall a b. (a -> b -> b) -> b -> ModLink a -> b
forall (t :: * -> *).
(forall m. Monoid m => t m -> m)
-> (forall m a. Monoid m => (a -> m) -> t a -> m)
-> (forall m a. Monoid m => (a -> m) -> t a -> m)
-> (forall a b. (a -> b -> b) -> b -> t a -> b)
-> (forall a b. (a -> b -> b) -> b -> t a -> b)
-> (forall b a. (b -> a -> b) -> b -> t a -> b)
-> (forall b a. (b -> a -> b) -> b -> t a -> b)
-> (forall a. (a -> a -> a) -> t a -> a)
-> (forall a. (a -> a -> a) -> t a -> a)
-> (forall a. t a -> [a])
-> (forall a. t a -> Bool)
-> (forall a. t a -> Int)
-> (forall a. Eq a => a -> t a -> Bool)
-> (forall a. Ord a => t a -> a)
-> (forall a. Ord a => t a -> a)
-> (forall a. Num a => t a -> a)
-> (forall a. Num a => t a -> a)
-> Foldable t
product :: forall a. Num a => ModLink a -> a
$cproduct :: forall a. Num a => ModLink a -> a
sum :: forall a. Num a => ModLink a -> a
$csum :: forall a. Num a => ModLink a -> a
minimum :: forall a. Ord a => ModLink a -> a
$cminimum :: forall a. Ord a => ModLink a -> a
maximum :: forall a. Ord a => ModLink a -> a
$cmaximum :: forall a. Ord a => ModLink a -> a
elem :: forall a. Eq a => a -> ModLink a -> Bool
$celem :: forall a. Eq a => a -> ModLink a -> Bool
length :: forall a. ModLink a -> Int
$clength :: forall a. ModLink a -> Int
null :: forall a. ModLink a -> Bool
$cnull :: forall a. ModLink a -> Bool
toList :: forall a. ModLink a -> [a]
$ctoList :: forall a. ModLink a -> [a]
foldl1 :: forall a. (a -> a -> a) -> ModLink a -> a
$cfoldl1 :: forall a. (a -> a -> a) -> ModLink a -> a
foldr1 :: forall a. (a -> a -> a) -> ModLink a -> a
$cfoldr1 :: forall a. (a -> a -> a) -> ModLink a -> a
foldl' :: forall b a. (b -> a -> b) -> b -> ModLink a -> b
$cfoldl' :: forall b a. (b -> a -> b) -> b -> ModLink a -> b
foldl :: forall b a. (b -> a -> b) -> b -> ModLink a -> b
$cfoldl :: forall b a. (b -> a -> b) -> b -> ModLink a -> b
foldr' :: forall a b. (a -> b -> b) -> b -> ModLink a -> b
$cfoldr' :: forall a b. (a -> b -> b) -> b -> ModLink a -> b
foldr :: forall a b. (a -> b -> b) -> b -> ModLink a -> b
$cfoldr :: forall a b. (a -> b -> b) -> b -> ModLink a -> b
foldMap' :: forall m a. Monoid m => (a -> m) -> ModLink a -> m
$cfoldMap' :: forall m a. Monoid m => (a -> m) -> ModLink a -> m
foldMap :: forall m a. Monoid m => (a -> m) -> ModLink a -> m
$cfoldMap :: forall m a. Monoid m => (a -> m) -> ModLink a -> m
fold :: forall m. Monoid m => ModLink m -> m
$cfold :: forall m. Monoid m => ModLink m -> m
Foldable, Functor ModLink
Foldable ModLink
forall (t :: * -> *).
Functor t
-> Foldable t
-> (forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> t a -> f (t b))
-> (forall (f :: * -> *) a. Applicative f => t (f a) -> f (t a))
-> (forall (m :: * -> *) a b.
Monad m =>
(a -> m b) -> t a -> m (t b))
-> (forall (m :: * -> *) a. Monad m => t (m a) -> m (t a))
-> Traversable t
forall (m :: * -> *) a. Monad m => ModLink (m a) -> m (ModLink a)
forall (f :: * -> *) a.
Applicative f =>
ModLink (f a) -> f (ModLink a)
forall (m :: * -> *) a b.
Monad m =>
(a -> m b) -> ModLink a -> m (ModLink b)
forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> ModLink a -> f (ModLink b)
sequence :: forall (m :: * -> *) a. Monad m => ModLink (m a) -> m (ModLink a)
$csequence :: forall (m :: * -> *) a. Monad m => ModLink (m a) -> m (ModLink a)
mapM :: forall (m :: * -> *) a b.
Monad m =>
(a -> m b) -> ModLink a -> m (ModLink b)
$cmapM :: forall (m :: * -> *) a b.
Monad m =>
(a -> m b) -> ModLink a -> m (ModLink b)
sequenceA :: forall (f :: * -> *) a.
Applicative f =>
ModLink (f a) -> f (ModLink a)
$csequenceA :: forall (f :: * -> *) a.
Applicative f =>
ModLink (f a) -> f (ModLink a)
traverse :: forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> ModLink a -> f (ModLink b)
$ctraverse :: forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> ModLink a -> f (ModLink b)
Traversable)
data Picture = Picture
{ Picture -> Package
pictureUri :: String
, Picture -> Maybe Package
pictureTitle :: Maybe String
} deriving (Picture -> Picture -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Picture -> Picture -> Bool
$c/= :: Picture -> Picture -> Bool
== :: Picture -> Picture -> Bool
$c== :: Picture -> Picture -> Bool
Eq, Int -> Picture -> ShowS
[Picture] -> ShowS
Picture -> Package
forall a.
(Int -> a -> ShowS) -> (a -> Package) -> ([a] -> ShowS) -> Show a
showList :: [Picture] -> ShowS
$cshowList :: [Picture] -> ShowS
show :: Picture -> Package
$cshow :: Picture -> Package
showsPrec :: Int -> Picture -> ShowS
$cshowsPrec :: Int -> Picture -> ShowS
Show)
data id =
{ :: Int
, :: id
} deriving (Header id -> Header id -> Bool
forall id. Eq id => Header id -> Header id -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Header id -> Header id -> Bool
$c/= :: forall id. Eq id => Header id -> Header id -> Bool
== :: Header id -> Header id -> Bool
$c== :: forall id. Eq id => Header id -> Header id -> Bool
Eq, Int -> Header id -> ShowS
forall id. Show id => Int -> Header id -> ShowS
forall id. Show id => [Header id] -> ShowS
forall id. Show id => Header id -> Package
forall a.
(Int -> a -> ShowS) -> (a -> Package) -> ([a] -> ShowS) -> Show a
showList :: [Header id] -> ShowS
$cshowList :: forall id. Show id => [Header id] -> ShowS
show :: Header id -> Package
$cshow :: forall id. Show id => Header id -> Package
showsPrec :: Int -> Header id -> ShowS
$cshowsPrec :: forall id. Show id => Int -> Header id -> ShowS
Show, forall a b. a -> Header b -> Header a
forall a b. (a -> b) -> Header a -> Header b
forall (f :: * -> *).
(forall a b. (a -> b) -> f a -> f b)
-> (forall a b. a -> f b -> f a) -> Functor f
<$ :: forall a b. a -> Header b -> Header a
$c<$ :: forall a b. a -> Header b -> Header a
fmap :: forall a b. (a -> b) -> Header a -> Header b
$cfmap :: forall a b. (a -> b) -> Header a -> Header b
Functor, forall a. Eq a => a -> Header a -> Bool
forall a. Num a => Header a -> a
forall a. Ord a => Header a -> a
forall m. Monoid m => Header m -> m
forall a. Header a -> Bool
forall id. Header id -> Int
forall a. Header a -> [a]
forall a. (a -> a -> a) -> Header a -> a
forall m a. Monoid m => (a -> m) -> Header a -> m
forall b a. (b -> a -> b) -> b -> Header a -> b
forall a b. (a -> b -> b) -> b -> Header a -> b
forall (t :: * -> *).
(forall m. Monoid m => t m -> m)
-> (forall m a. Monoid m => (a -> m) -> t a -> m)
-> (forall m a. Monoid m => (a -> m) -> t a -> m)
-> (forall a b. (a -> b -> b) -> b -> t a -> b)
-> (forall a b. (a -> b -> b) -> b -> t a -> b)
-> (forall b a. (b -> a -> b) -> b -> t a -> b)
-> (forall b a. (b -> a -> b) -> b -> t a -> b)
-> (forall a. (a -> a -> a) -> t a -> a)
-> (forall a. (a -> a -> a) -> t a -> a)
-> (forall a. t a -> [a])
-> (forall a. t a -> Bool)
-> (forall a. t a -> Int)
-> (forall a. Eq a => a -> t a -> Bool)
-> (forall a. Ord a => t a -> a)
-> (forall a. Ord a => t a -> a)
-> (forall a. Num a => t a -> a)
-> (forall a. Num a => t a -> a)
-> Foldable t
product :: forall a. Num a => Header a -> a
$cproduct :: forall a. Num a => Header a -> a
sum :: forall a. Num a => Header a -> a
$csum :: forall a. Num a => Header a -> a
minimum :: forall a. Ord a => Header a -> a
$cminimum :: forall a. Ord a => Header a -> a
maximum :: forall a. Ord a => Header a -> a
$cmaximum :: forall a. Ord a => Header a -> a
elem :: forall a. Eq a => a -> Header a -> Bool
$celem :: forall a. Eq a => a -> Header a -> Bool
length :: forall id. Header id -> Int
$clength :: forall id. Header id -> Int
null :: forall a. Header a -> Bool
$cnull :: forall a. Header a -> Bool
toList :: forall a. Header a -> [a]
$ctoList :: forall a. Header a -> [a]
foldl1 :: forall a. (a -> a -> a) -> Header a -> a
$cfoldl1 :: forall a. (a -> a -> a) -> Header a -> a
foldr1 :: forall a. (a -> a -> a) -> Header a -> a
$cfoldr1 :: forall a. (a -> a -> a) -> Header a -> a
foldl' :: forall b a. (b -> a -> b) -> b -> Header a -> b
$cfoldl' :: forall b a. (b -> a -> b) -> b -> Header a -> b
foldl :: forall b a. (b -> a -> b) -> b -> Header a -> b
$cfoldl :: forall b a. (b -> a -> b) -> b -> Header a -> b
foldr' :: forall a b. (a -> b -> b) -> b -> Header a -> b
$cfoldr' :: forall a b. (a -> b -> b) -> b -> Header a -> b
foldr :: forall a b. (a -> b -> b) -> b -> Header a -> b
$cfoldr :: forall a b. (a -> b -> b) -> b -> Header a -> b
foldMap' :: forall m a. Monoid m => (a -> m) -> Header a -> m
$cfoldMap' :: forall m a. Monoid m => (a -> m) -> Header a -> m
foldMap :: forall m a. Monoid m => (a -> m) -> Header a -> m
$cfoldMap :: forall m a. Monoid m => (a -> m) -> Header a -> m
fold :: forall m. Monoid m => Header m -> m
$cfold :: forall m. Monoid m => Header m -> m
Foldable, Functor Header
Foldable Header
forall (t :: * -> *).
Functor t
-> Foldable t
-> (forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> t a -> f (t b))
-> (forall (f :: * -> *) a. Applicative f => t (f a) -> f (t a))
-> (forall (m :: * -> *) a b.
Monad m =>
(a -> m b) -> t a -> m (t b))
-> (forall (m :: * -> *) a. Monad m => t (m a) -> m (t a))
-> Traversable t
forall (m :: * -> *) a. Monad m => Header (m a) -> m (Header a)
forall (f :: * -> *) a.
Applicative f =>
Header (f a) -> f (Header a)
forall (m :: * -> *) a b.
Monad m =>
(a -> m b) -> Header a -> m (Header b)
forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> Header a -> f (Header b)
sequence :: forall (m :: * -> *) a. Monad m => Header (m a) -> m (Header a)
$csequence :: forall (m :: * -> *) a. Monad m => Header (m a) -> m (Header a)
mapM :: forall (m :: * -> *) a b.
Monad m =>
(a -> m b) -> Header a -> m (Header b)
$cmapM :: forall (m :: * -> *) a b.
Monad m =>
(a -> m b) -> Header a -> m (Header b)
sequenceA :: forall (f :: * -> *) a.
Applicative f =>
Header (f a) -> f (Header a)
$csequenceA :: forall (f :: * -> *) a.
Applicative f =>
Header (f a) -> f (Header a)
traverse :: forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> Header a -> f (Header b)
$ctraverse :: forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> Header a -> f (Header b)
Traversable)
data Example = Example
{ Example -> Package
exampleExpression :: String
, Example -> [Package]
exampleResult :: [String]
} deriving (Example -> Example -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Example -> Example -> Bool
$c/= :: Example -> Example -> Bool
== :: Example -> Example -> Bool
$c== :: Example -> Example -> Bool
Eq, Int -> Example -> ShowS
[Example] -> ShowS
Example -> Package
forall a.
(Int -> a -> ShowS) -> (a -> Package) -> ([a] -> ShowS) -> Show a
showList :: [Example] -> ShowS
$cshowList :: [Example] -> ShowS
show :: Example -> Package
$cshow :: Example -> Package
showsPrec :: Int -> Example -> ShowS
$cshowsPrec :: Int -> Example -> ShowS
Show)
data TableCell id = TableCell
{ forall id. TableCell id -> Int
tableCellColspan :: Int
, forall id. TableCell id -> Int
tableCellRowspan :: Int
, forall id. TableCell id -> id
tableCellContents :: id
} deriving (TableCell id -> TableCell id -> Bool
forall id. Eq id => TableCell id -> TableCell id -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TableCell id -> TableCell id -> Bool
$c/= :: forall id. Eq id => TableCell id -> TableCell id -> Bool
== :: TableCell id -> TableCell id -> Bool
$c== :: forall id. Eq id => TableCell id -> TableCell id -> Bool
Eq, Int -> TableCell id -> ShowS
forall id. Show id => Int -> TableCell id -> ShowS
forall id. Show id => [TableCell id] -> ShowS
forall id. Show id => TableCell id -> Package
forall a.
(Int -> a -> ShowS) -> (a -> Package) -> ([a] -> ShowS) -> Show a
showList :: [TableCell id] -> ShowS
$cshowList :: forall id. Show id => [TableCell id] -> ShowS
show :: TableCell id -> Package
$cshow :: forall id. Show id => TableCell id -> Package
showsPrec :: Int -> TableCell id -> ShowS
$cshowsPrec :: forall id. Show id => Int -> TableCell id -> ShowS
Show, forall a b. a -> TableCell b -> TableCell a
forall a b. (a -> b) -> TableCell a -> TableCell b
forall (f :: * -> *).
(forall a b. (a -> b) -> f a -> f b)
-> (forall a b. a -> f b -> f a) -> Functor f
<$ :: forall a b. a -> TableCell b -> TableCell a
$c<$ :: forall a b. a -> TableCell b -> TableCell a
fmap :: forall a b. (a -> b) -> TableCell a -> TableCell b
$cfmap :: forall a b. (a -> b) -> TableCell a -> TableCell b
Functor, forall a. Eq a => a -> TableCell a -> Bool
forall a. Num a => TableCell a -> a
forall a. Ord a => TableCell a -> a
forall m. Monoid m => TableCell m -> m
forall a. TableCell a -> Bool
forall id. TableCell id -> Int
forall a. TableCell a -> [a]
forall a. (a -> a -> a) -> TableCell a -> a
forall m a. Monoid m => (a -> m) -> TableCell a -> m
forall b a. (b -> a -> b) -> b -> TableCell a -> b
forall a b. (a -> b -> b) -> b -> TableCell a -> b
forall (t :: * -> *).
(forall m. Monoid m => t m -> m)
-> (forall m a. Monoid m => (a -> m) -> t a -> m)
-> (forall m a. Monoid m => (a -> m) -> t a -> m)
-> (forall a b. (a -> b -> b) -> b -> t a -> b)
-> (forall a b. (a -> b -> b) -> b -> t a -> b)
-> (forall b a. (b -> a -> b) -> b -> t a -> b)
-> (forall b a. (b -> a -> b) -> b -> t a -> b)
-> (forall a. (a -> a -> a) -> t a -> a)
-> (forall a. (a -> a -> a) -> t a -> a)
-> (forall a. t a -> [a])
-> (forall a. t a -> Bool)
-> (forall a. t a -> Int)
-> (forall a. Eq a => a -> t a -> Bool)
-> (forall a. Ord a => t a -> a)
-> (forall a. Ord a => t a -> a)
-> (forall a. Num a => t a -> a)
-> (forall a. Num a => t a -> a)
-> Foldable t
product :: forall a. Num a => TableCell a -> a
$cproduct :: forall a. Num a => TableCell a -> a
sum :: forall a. Num a => TableCell a -> a
$csum :: forall a. Num a => TableCell a -> a
minimum :: forall a. Ord a => TableCell a -> a
$cminimum :: forall a. Ord a => TableCell a -> a
maximum :: forall a. Ord a => TableCell a -> a
$cmaximum :: forall a. Ord a => TableCell a -> a
elem :: forall a. Eq a => a -> TableCell a -> Bool
$celem :: forall a. Eq a => a -> TableCell a -> Bool
length :: forall id. TableCell id -> Int
$clength :: forall id. TableCell id -> Int
null :: forall a. TableCell a -> Bool
$cnull :: forall a. TableCell a -> Bool
toList :: forall a. TableCell a -> [a]
$ctoList :: forall a. TableCell a -> [a]
foldl1 :: forall a. (a -> a -> a) -> TableCell a -> a
$cfoldl1 :: forall a. (a -> a -> a) -> TableCell a -> a
foldr1 :: forall a. (a -> a -> a) -> TableCell a -> a
$cfoldr1 :: forall a. (a -> a -> a) -> TableCell a -> a
foldl' :: forall b a. (b -> a -> b) -> b -> TableCell a -> b
$cfoldl' :: forall b a. (b -> a -> b) -> b -> TableCell a -> b
foldl :: forall b a. (b -> a -> b) -> b -> TableCell a -> b
$cfoldl :: forall b a. (b -> a -> b) -> b -> TableCell a -> b
foldr' :: forall a b. (a -> b -> b) -> b -> TableCell a -> b
$cfoldr' :: forall a b. (a -> b -> b) -> b -> TableCell a -> b
foldr :: forall a b. (a -> b -> b) -> b -> TableCell a -> b
$cfoldr :: forall a b. (a -> b -> b) -> b -> TableCell a -> b
foldMap' :: forall m a. Monoid m => (a -> m) -> TableCell a -> m
$cfoldMap' :: forall m a. Monoid m => (a -> m) -> TableCell a -> m
foldMap :: forall m a. Monoid m => (a -> m) -> TableCell a -> m
$cfoldMap :: forall m a. Monoid m => (a -> m) -> TableCell a -> m
fold :: forall m. Monoid m => TableCell m -> m
$cfold :: forall m. Monoid m => TableCell m -> m
Foldable, Functor TableCell
Foldable TableCell
forall (t :: * -> *).
Functor t
-> Foldable t
-> (forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> t a -> f (t b))
-> (forall (f :: * -> *) a. Applicative f => t (f a) -> f (t a))
-> (forall (m :: * -> *) a b.
Monad m =>
(a -> m b) -> t a -> m (t b))
-> (forall (m :: * -> *) a. Monad m => t (m a) -> m (t a))
-> Traversable t
forall (m :: * -> *) a.
Monad m =>
TableCell (m a) -> m (TableCell a)
forall (f :: * -> *) a.
Applicative f =>
TableCell (f a) -> f (TableCell a)
forall (m :: * -> *) a b.
Monad m =>
(a -> m b) -> TableCell a -> m (TableCell b)
forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> TableCell a -> f (TableCell b)
sequence :: forall (m :: * -> *) a.
Monad m =>
TableCell (m a) -> m (TableCell a)
$csequence :: forall (m :: * -> *) a.
Monad m =>
TableCell (m a) -> m (TableCell a)
mapM :: forall (m :: * -> *) a b.
Monad m =>
(a -> m b) -> TableCell a -> m (TableCell b)
$cmapM :: forall (m :: * -> *) a b.
Monad m =>
(a -> m b) -> TableCell a -> m (TableCell b)
sequenceA :: forall (f :: * -> *) a.
Applicative f =>
TableCell (f a) -> f (TableCell a)
$csequenceA :: forall (f :: * -> *) a.
Applicative f =>
TableCell (f a) -> f (TableCell a)
traverse :: forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> TableCell a -> f (TableCell b)
$ctraverse :: forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> TableCell a -> f (TableCell b)
Traversable)
newtype TableRow id = TableRow
{ forall id. TableRow id -> [TableCell id]
tableRowCells :: [TableCell id]
} deriving (TableRow id -> TableRow id -> Bool
forall id. Eq id => TableRow id -> TableRow id -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TableRow id -> TableRow id -> Bool
$c/= :: forall id. Eq id => TableRow id -> TableRow id -> Bool
== :: TableRow id -> TableRow id -> Bool
$c== :: forall id. Eq id => TableRow id -> TableRow id -> Bool
Eq, Int -> TableRow id -> ShowS
forall id. Show id => Int -> TableRow id -> ShowS
forall id. Show id => [TableRow id] -> ShowS
forall id. Show id => TableRow id -> Package
forall a.
(Int -> a -> ShowS) -> (a -> Package) -> ([a] -> ShowS) -> Show a
showList :: [TableRow id] -> ShowS
$cshowList :: forall id. Show id => [TableRow id] -> ShowS
show :: TableRow id -> Package
$cshow :: forall id. Show id => TableRow id -> Package
showsPrec :: Int -> TableRow id -> ShowS
$cshowsPrec :: forall id. Show id => Int -> TableRow id -> ShowS
Show, forall a b. a -> TableRow b -> TableRow a
forall a b. (a -> b) -> TableRow a -> TableRow b
forall (f :: * -> *).
(forall a b. (a -> b) -> f a -> f b)
-> (forall a b. a -> f b -> f a) -> Functor f
<$ :: forall a b. a -> TableRow b -> TableRow a
$c<$ :: forall a b. a -> TableRow b -> TableRow a
fmap :: forall a b. (a -> b) -> TableRow a -> TableRow b
$cfmap :: forall a b. (a -> b) -> TableRow a -> TableRow b
Functor, forall a. Eq a => a -> TableRow a -> Bool
forall a. Num a => TableRow a -> a
forall a. Ord a => TableRow a -> a
forall m. Monoid m => TableRow m -> m
forall a. TableRow a -> Bool
forall a. TableRow a -> Int
forall a. TableRow a -> [a]
forall a. (a -> a -> a) -> TableRow a -> a
forall m a. Monoid m => (a -> m) -> TableRow a -> m
forall b a. (b -> a -> b) -> b -> TableRow a -> b
forall a b. (a -> b -> b) -> b -> TableRow a -> b
forall (t :: * -> *).
(forall m. Monoid m => t m -> m)
-> (forall m a. Monoid m => (a -> m) -> t a -> m)
-> (forall m a. Monoid m => (a -> m) -> t a -> m)
-> (forall a b. (a -> b -> b) -> b -> t a -> b)
-> (forall a b. (a -> b -> b) -> b -> t a -> b)
-> (forall b a. (b -> a -> b) -> b -> t a -> b)
-> (forall b a. (b -> a -> b) -> b -> t a -> b)
-> (forall a. (a -> a -> a) -> t a -> a)
-> (forall a. (a -> a -> a) -> t a -> a)
-> (forall a. t a -> [a])
-> (forall a. t a -> Bool)
-> (forall a. t a -> Int)
-> (forall a. Eq a => a -> t a -> Bool)
-> (forall a. Ord a => t a -> a)
-> (forall a. Ord a => t a -> a)
-> (forall a. Num a => t a -> a)
-> (forall a. Num a => t a -> a)
-> Foldable t
product :: forall a. Num a => TableRow a -> a
$cproduct :: forall a. Num a => TableRow a -> a
sum :: forall a. Num a => TableRow a -> a
$csum :: forall a. Num a => TableRow a -> a
minimum :: forall a. Ord a => TableRow a -> a
$cminimum :: forall a. Ord a => TableRow a -> a
maximum :: forall a. Ord a => TableRow a -> a
$cmaximum :: forall a. Ord a => TableRow a -> a
elem :: forall a. Eq a => a -> TableRow a -> Bool
$celem :: forall a. Eq a => a -> TableRow a -> Bool
length :: forall a. TableRow a -> Int
$clength :: forall a. TableRow a -> Int
null :: forall a. TableRow a -> Bool
$cnull :: forall a. TableRow a -> Bool
toList :: forall a. TableRow a -> [a]
$ctoList :: forall a. TableRow a -> [a]
foldl1 :: forall a. (a -> a -> a) -> TableRow a -> a
$cfoldl1 :: forall a. (a -> a -> a) -> TableRow a -> a
foldr1 :: forall a. (a -> a -> a) -> TableRow a -> a
$cfoldr1 :: forall a. (a -> a -> a) -> TableRow a -> a
foldl' :: forall b a. (b -> a -> b) -> b -> TableRow a -> b
$cfoldl' :: forall b a. (b -> a -> b) -> b -> TableRow a -> b
foldl :: forall b a. (b -> a -> b) -> b -> TableRow a -> b
$cfoldl :: forall b a. (b -> a -> b) -> b -> TableRow a -> b
foldr' :: forall a b. (a -> b -> b) -> b -> TableRow a -> b
$cfoldr' :: forall a b. (a -> b -> b) -> b -> TableRow a -> b
foldr :: forall a b. (a -> b -> b) -> b -> TableRow a -> b
$cfoldr :: forall a b. (a -> b -> b) -> b -> TableRow a -> b
foldMap' :: forall m a. Monoid m => (a -> m) -> TableRow a -> m
$cfoldMap' :: forall m a. Monoid m => (a -> m) -> TableRow a -> m
foldMap :: forall m a. Monoid m => (a -> m) -> TableRow a -> m
$cfoldMap :: forall m a. Monoid m => (a -> m) -> TableRow a -> m
fold :: forall m. Monoid m => TableRow m -> m
$cfold :: forall m. Monoid m => TableRow m -> m
Foldable, Functor TableRow
Foldable TableRow
forall (t :: * -> *).
Functor t
-> Foldable t
-> (forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> t a -> f (t b))
-> (forall (f :: * -> *) a. Applicative f => t (f a) -> f (t a))
-> (forall (m :: * -> *) a b.
Monad m =>
(a -> m b) -> t a -> m (t b))
-> (forall (m :: * -> *) a. Monad m => t (m a) -> m (t a))
-> Traversable t
forall (m :: * -> *) a. Monad m => TableRow (m a) -> m (TableRow a)
forall (f :: * -> *) a.
Applicative f =>
TableRow (f a) -> f (TableRow a)
forall (m :: * -> *) a b.
Monad m =>
(a -> m b) -> TableRow a -> m (TableRow b)
forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> TableRow a -> f (TableRow b)
sequence :: forall (m :: * -> *) a. Monad m => TableRow (m a) -> m (TableRow a)
$csequence :: forall (m :: * -> *) a. Monad m => TableRow (m a) -> m (TableRow a)
mapM :: forall (m :: * -> *) a b.
Monad m =>
(a -> m b) -> TableRow a -> m (TableRow b)
$cmapM :: forall (m :: * -> *) a b.
Monad m =>
(a -> m b) -> TableRow a -> m (TableRow b)
sequenceA :: forall (f :: * -> *) a.
Applicative f =>
TableRow (f a) -> f (TableRow a)
$csequenceA :: forall (f :: * -> *) a.
Applicative f =>
TableRow (f a) -> f (TableRow a)
traverse :: forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> TableRow a -> f (TableRow b)
$ctraverse :: forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> TableRow a -> f (TableRow b)
Traversable)
data Table id = Table
{ :: [TableRow id]
, forall id. Table id -> [TableRow id]
tableBodyRows :: [TableRow id]
} deriving (Table id -> Table id -> Bool
forall id. Eq id => Table id -> Table id -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Table id -> Table id -> Bool
$c/= :: forall id. Eq id => Table id -> Table id -> Bool
== :: Table id -> Table id -> Bool
$c== :: forall id. Eq id => Table id -> Table id -> Bool
Eq, Int -> Table id -> ShowS
forall id. Show id => Int -> Table id -> ShowS
forall id. Show id => [Table id] -> ShowS
forall id. Show id => Table id -> Package
forall a.
(Int -> a -> ShowS) -> (a -> Package) -> ([a] -> ShowS) -> Show a
showList :: [Table id] -> ShowS
$cshowList :: forall id. Show id => [Table id] -> ShowS
show :: Table id -> Package
$cshow :: forall id. Show id => Table id -> Package
showsPrec :: Int -> Table id -> ShowS
$cshowsPrec :: forall id. Show id => Int -> Table id -> ShowS
Show, forall a b. a -> Table b -> Table a
forall a b. (a -> b) -> Table a -> Table b
forall (f :: * -> *).
(forall a b. (a -> b) -> f a -> f b)
-> (forall a b. a -> f b -> f a) -> Functor f
<$ :: forall a b. a -> Table b -> Table a
$c<$ :: forall a b. a -> Table b -> Table a
fmap :: forall a b. (a -> b) -> Table a -> Table b
$cfmap :: forall a b. (a -> b) -> Table a -> Table b
Functor, forall a. Eq a => a -> Table a -> Bool
forall a. Num a => Table a -> a
forall a. Ord a => Table a -> a
forall m. Monoid m => Table m -> m
forall a. Table a -> Bool
forall a. Table a -> Int
forall a. Table a -> [a]
forall a. (a -> a -> a) -> Table a -> a
forall m a. Monoid m => (a -> m) -> Table a -> m
forall b a. (b -> a -> b) -> b -> Table a -> b
forall a b. (a -> b -> b) -> b -> Table a -> b
forall (t :: * -> *).
(forall m. Monoid m => t m -> m)
-> (forall m a. Monoid m => (a -> m) -> t a -> m)
-> (forall m a. Monoid m => (a -> m) -> t a -> m)
-> (forall a b. (a -> b -> b) -> b -> t a -> b)
-> (forall a b. (a -> b -> b) -> b -> t a -> b)
-> (forall b a. (b -> a -> b) -> b -> t a -> b)
-> (forall b a. (b -> a -> b) -> b -> t a -> b)
-> (forall a. (a -> a -> a) -> t a -> a)
-> (forall a. (a -> a -> a) -> t a -> a)
-> (forall a. t a -> [a])
-> (forall a. t a -> Bool)
-> (forall a. t a -> Int)
-> (forall a. Eq a => a -> t a -> Bool)
-> (forall a. Ord a => t a -> a)
-> (forall a. Ord a => t a -> a)
-> (forall a. Num a => t a -> a)
-> (forall a. Num a => t a -> a)
-> Foldable t
product :: forall a. Num a => Table a -> a
$cproduct :: forall a. Num a => Table a -> a
sum :: forall a. Num a => Table a -> a
$csum :: forall a. Num a => Table a -> a
minimum :: forall a. Ord a => Table a -> a
$cminimum :: forall a. Ord a => Table a -> a
maximum :: forall a. Ord a => Table a -> a
$cmaximum :: forall a. Ord a => Table a -> a
elem :: forall a. Eq a => a -> Table a -> Bool
$celem :: forall a. Eq a => a -> Table a -> Bool
length :: forall a. Table a -> Int
$clength :: forall a. Table a -> Int
null :: forall a. Table a -> Bool
$cnull :: forall a. Table a -> Bool
toList :: forall a. Table a -> [a]
$ctoList :: forall a. Table a -> [a]
foldl1 :: forall a. (a -> a -> a) -> Table a -> a
$cfoldl1 :: forall a. (a -> a -> a) -> Table a -> a
foldr1 :: forall a. (a -> a -> a) -> Table a -> a
$cfoldr1 :: forall a. (a -> a -> a) -> Table a -> a
foldl' :: forall b a. (b -> a -> b) -> b -> Table a -> b
$cfoldl' :: forall b a. (b -> a -> b) -> b -> Table a -> b
foldl :: forall b a. (b -> a -> b) -> b -> Table a -> b
$cfoldl :: forall b a. (b -> a -> b) -> b -> Table a -> b
foldr' :: forall a b. (a -> b -> b) -> b -> Table a -> b
$cfoldr' :: forall a b. (a -> b -> b) -> b -> Table a -> b
foldr :: forall a b. (a -> b -> b) -> b -> Table a -> b
$cfoldr :: forall a b. (a -> b -> b) -> b -> Table a -> b
foldMap' :: forall m a. Monoid m => (a -> m) -> Table a -> m
$cfoldMap' :: forall m a. Monoid m => (a -> m) -> Table a -> m
foldMap :: forall m a. Monoid m => (a -> m) -> Table a -> m
$cfoldMap :: forall m a. Monoid m => (a -> m) -> Table a -> m
fold :: forall m. Monoid m => Table m -> m
$cfold :: forall m. Monoid m => Table m -> m
Foldable, Functor Table
Foldable Table
forall (t :: * -> *).
Functor t
-> Foldable t
-> (forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> t a -> f (t b))
-> (forall (f :: * -> *) a. Applicative f => t (f a) -> f (t a))
-> (forall (m :: * -> *) a b.
Monad m =>
(a -> m b) -> t a -> m (t b))
-> (forall (m :: * -> *) a. Monad m => t (m a) -> m (t a))
-> Traversable t
forall (m :: * -> *) a. Monad m => Table (m a) -> m (Table a)
forall (f :: * -> *) a. Applicative f => Table (f a) -> f (Table a)
forall (m :: * -> *) a b.
Monad m =>
(a -> m b) -> Table a -> m (Table b)
forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> Table a -> f (Table b)
sequence :: forall (m :: * -> *) a. Monad m => Table (m a) -> m (Table a)
$csequence :: forall (m :: * -> *) a. Monad m => Table (m a) -> m (Table a)
mapM :: forall (m :: * -> *) a b.
Monad m =>
(a -> m b) -> Table a -> m (Table b)
$cmapM :: forall (m :: * -> *) a b.
Monad m =>
(a -> m b) -> Table a -> m (Table b)
sequenceA :: forall (f :: * -> *) a. Applicative f => Table (f a) -> f (Table a)
$csequenceA :: forall (f :: * -> *) a. Applicative f => Table (f a) -> f (Table a)
traverse :: forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> Table a -> f (Table b)
$ctraverse :: forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> Table a -> f (Table b)
Traversable)
data DocH mod id
= DocEmpty
| DocAppend (DocH mod id) (DocH mod id)
| DocString String
| DocParagraph (DocH mod id)
| DocIdentifier id
| DocIdentifierUnchecked mod
| DocModule (ModLink (DocH mod id))
| DocWarning (DocH mod id)
| DocEmphasis (DocH mod id)
| DocMonospaced (DocH mod id)
| DocBold (DocH mod id)
| DocUnorderedList [DocH mod id]
| DocOrderedList [(Int, DocH mod id)]
| DocDefList [(DocH mod id, DocH mod id)]
| DocCodeBlock (DocH mod id)
| DocHyperlink (Hyperlink (DocH mod id))
| DocPic Picture
| DocMathInline String
| DocMathDisplay String
| DocAName String
| DocProperty String
| DocExamples [Example]
| (Header (DocH mod id))
| DocTable (Table (DocH mod id))
deriving (DocH mod id -> DocH mod id -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
forall mod id.
(Eq id, Eq mod) =>
DocH mod id -> DocH mod id -> Bool
/= :: DocH mod id -> DocH mod id -> Bool
$c/= :: forall mod id.
(Eq id, Eq mod) =>
DocH mod id -> DocH mod id -> Bool
== :: DocH mod id -> DocH mod id -> Bool
$c== :: forall mod id.
(Eq id, Eq mod) =>
DocH mod id -> DocH mod id -> Bool
Eq, Int -> DocH mod id -> ShowS
forall a.
(Int -> a -> ShowS) -> (a -> Package) -> ([a] -> ShowS) -> Show a
forall mod id. (Show id, Show mod) => Int -> DocH mod id -> ShowS
forall mod id. (Show id, Show mod) => [DocH mod id] -> ShowS
forall mod id. (Show id, Show mod) => DocH mod id -> Package
showList :: [DocH mod id] -> ShowS
$cshowList :: forall mod id. (Show id, Show mod) => [DocH mod id] -> ShowS
show :: DocH mod id -> Package
$cshow :: forall mod id. (Show id, Show mod) => DocH mod id -> Package
showsPrec :: Int -> DocH mod id -> ShowS
$cshowsPrec :: forall mod id. (Show id, Show mod) => Int -> DocH mod id -> ShowS
Show, forall a b. a -> DocH mod b -> DocH mod a
forall a b. (a -> b) -> DocH mod a -> DocH mod b
forall mod a b. a -> DocH mod b -> DocH mod a
forall mod a b. (a -> b) -> DocH mod a -> DocH mod b
forall (f :: * -> *).
(forall a b. (a -> b) -> f a -> f b)
-> (forall a b. a -> f b -> f a) -> Functor f
<$ :: forall a b. a -> DocH mod b -> DocH mod a
$c<$ :: forall mod a b. a -> DocH mod b -> DocH mod a
fmap :: forall a b. (a -> b) -> DocH mod a -> DocH mod b
$cfmap :: forall mod a b. (a -> b) -> DocH mod a -> DocH mod b
Functor, forall a. DocH mod a -> Bool
forall mod a. Eq a => a -> DocH mod a -> Bool
forall mod a. Num a => DocH mod a -> a
forall mod a. Ord a => DocH mod a -> a
forall m a. Monoid m => (a -> m) -> DocH mod a -> m
forall mod m. Monoid m => DocH mod m -> m
forall mod a. DocH mod a -> Bool
forall mod a. DocH mod a -> Int
forall mod a. DocH mod a -> [a]
forall a b. (a -> b -> b) -> b -> DocH mod a -> b
forall mod a. (a -> a -> a) -> DocH mod a -> a
forall mod m a. Monoid m => (a -> m) -> DocH mod a -> m
forall mod b a. (b -> a -> b) -> b -> DocH mod a -> b
forall mod a b. (a -> b -> b) -> b -> DocH mod a -> b
forall (t :: * -> *).
(forall m. Monoid m => t m -> m)
-> (forall m a. Monoid m => (a -> m) -> t a -> m)
-> (forall m a. Monoid m => (a -> m) -> t a -> m)
-> (forall a b. (a -> b -> b) -> b -> t a -> b)
-> (forall a b. (a -> b -> b) -> b -> t a -> b)
-> (forall b a. (b -> a -> b) -> b -> t a -> b)
-> (forall b a. (b -> a -> b) -> b -> t a -> b)
-> (forall a. (a -> a -> a) -> t a -> a)
-> (forall a. (a -> a -> a) -> t a -> a)
-> (forall a. t a -> [a])
-> (forall a. t a -> Bool)
-> (forall a. t a -> Int)
-> (forall a. Eq a => a -> t a -> Bool)
-> (forall a. Ord a => t a -> a)
-> (forall a. Ord a => t a -> a)
-> (forall a. Num a => t a -> a)
-> (forall a. Num a => t a -> a)
-> Foldable t
product :: forall a. Num a => DocH mod a -> a
$cproduct :: forall mod a. Num a => DocH mod a -> a
sum :: forall a. Num a => DocH mod a -> a
$csum :: forall mod a. Num a => DocH mod a -> a
minimum :: forall a. Ord a => DocH mod a -> a
$cminimum :: forall mod a. Ord a => DocH mod a -> a
maximum :: forall a. Ord a => DocH mod a -> a
$cmaximum :: forall mod a. Ord a => DocH mod a -> a
elem :: forall a. Eq a => a -> DocH mod a -> Bool
$celem :: forall mod a. Eq a => a -> DocH mod a -> Bool
length :: forall a. DocH mod a -> Int
$clength :: forall mod a. DocH mod a -> Int
null :: forall a. DocH mod a -> Bool
$cnull :: forall mod a. DocH mod a -> Bool
toList :: forall a. DocH mod a -> [a]
$ctoList :: forall mod a. DocH mod a -> [a]
foldl1 :: forall a. (a -> a -> a) -> DocH mod a -> a
$cfoldl1 :: forall mod a. (a -> a -> a) -> DocH mod a -> a
foldr1 :: forall a. (a -> a -> a) -> DocH mod a -> a
$cfoldr1 :: forall mod a. (a -> a -> a) -> DocH mod a -> a
foldl' :: forall b a. (b -> a -> b) -> b -> DocH mod a -> b
$cfoldl' :: forall mod b a. (b -> a -> b) -> b -> DocH mod a -> b
foldl :: forall b a. (b -> a -> b) -> b -> DocH mod a -> b
$cfoldl :: forall mod b a. (b -> a -> b) -> b -> DocH mod a -> b
foldr' :: forall a b. (a -> b -> b) -> b -> DocH mod a -> b
$cfoldr' :: forall mod a b. (a -> b -> b) -> b -> DocH mod a -> b
foldr :: forall a b. (a -> b -> b) -> b -> DocH mod a -> b
$cfoldr :: forall mod a b. (a -> b -> b) -> b -> DocH mod a -> b
foldMap' :: forall m a. Monoid m => (a -> m) -> DocH mod a -> m
$cfoldMap' :: forall mod m a. Monoid m => (a -> m) -> DocH mod a -> m
foldMap :: forall m a. Monoid m => (a -> m) -> DocH mod a -> m
$cfoldMap :: forall mod m a. Monoid m => (a -> m) -> DocH mod a -> m
fold :: forall m. Monoid m => DocH mod m -> m
$cfold :: forall mod m. Monoid m => DocH mod m -> m
Foldable, forall mod. Functor (DocH mod)
forall mod. Foldable (DocH mod)
forall mod (m :: * -> *) a.
Monad m =>
DocH mod (m a) -> m (DocH mod a)
forall mod (f :: * -> *) a.
Applicative f =>
DocH mod (f a) -> f (DocH mod a)
forall mod (m :: * -> *) a b.
Monad m =>
(a -> m b) -> DocH mod a -> m (DocH mod b)
forall mod (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> DocH mod a -> f (DocH mod b)
forall (t :: * -> *).
Functor t
-> Foldable t
-> (forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> t a -> f (t b))
-> (forall (f :: * -> *) a. Applicative f => t (f a) -> f (t a))
-> (forall (m :: * -> *) a b.
Monad m =>
(a -> m b) -> t a -> m (t b))
-> (forall (m :: * -> *) a. Monad m => t (m a) -> m (t a))
-> Traversable t
forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> DocH mod a -> f (DocH mod b)
sequence :: forall (m :: * -> *) a. Monad m => DocH mod (m a) -> m (DocH mod a)
$csequence :: forall mod (m :: * -> *) a.
Monad m =>
DocH mod (m a) -> m (DocH mod a)
mapM :: forall (m :: * -> *) a b.
Monad m =>
(a -> m b) -> DocH mod a -> m (DocH mod b)
$cmapM :: forall mod (m :: * -> *) a b.
Monad m =>
(a -> m b) -> DocH mod a -> m (DocH mod b)
sequenceA :: forall (f :: * -> *) a.
Applicative f =>
DocH mod (f a) -> f (DocH mod a)
$csequenceA :: forall mod (f :: * -> *) a.
Applicative f =>
DocH mod (f a) -> f (DocH mod a)
traverse :: forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> DocH mod a -> f (DocH mod b)
$ctraverse :: forall mod (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> DocH mod a -> f (DocH mod b)
Traversable)
#if MIN_VERSION_base(4,8,0)
instance Bifunctor DocH where
bimap :: forall a b c d. (a -> b) -> (c -> d) -> DocH a c -> DocH b d
bimap a -> b
_ c -> d
_ DocH a c
DocEmpty = forall mod id. DocH mod id
DocEmpty
bimap a -> b
f c -> d
g (DocAppend DocH a c
docA DocH a c
docB) = forall mod id. DocH mod id -> DocH mod id -> DocH mod id
DocAppend (forall (p :: * -> * -> *) a b c d.
Bifunctor p =>
(a -> b) -> (c -> d) -> p a c -> p b d
bimap a -> b
f c -> d
g DocH a c
docA) (forall (p :: * -> * -> *) a b c d.
Bifunctor p =>
(a -> b) -> (c -> d) -> p a c -> p b d
bimap a -> b
f c -> d
g DocH a c
docB)
bimap a -> b
_ c -> d
_ (DocString Package
s) = forall mod id. Package -> DocH mod id
DocString Package
s
bimap a -> b
f c -> d
g (DocParagraph DocH a c
doc) = forall mod id. DocH mod id -> DocH mod id
DocParagraph (forall (p :: * -> * -> *) a b c d.
Bifunctor p =>
(a -> b) -> (c -> d) -> p a c -> p b d
bimap a -> b
f c -> d
g DocH a c
doc)
bimap a -> b
_ c -> d
g (DocIdentifier c
i) = forall mod id. id -> DocH mod id
DocIdentifier (c -> d
g c
i)
bimap a -> b
f c -> d
_ (DocIdentifierUnchecked a
m) = forall mod id. mod -> DocH mod id
DocIdentifierUnchecked (a -> b
f a
m)
bimap a -> b
f c -> d
g (DocModule (ModLink Package
m Maybe (DocH a c)
lbl)) = forall mod id. ModLink (DocH mod id) -> DocH mod id
DocModule (forall id. Package -> Maybe id -> ModLink id
ModLink Package
m (forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (forall (p :: * -> * -> *) a b c d.
Bifunctor p =>
(a -> b) -> (c -> d) -> p a c -> p b d
bimap a -> b
f c -> d
g) Maybe (DocH a c)
lbl))
bimap a -> b
f c -> d
g (DocWarning DocH a c
doc) = forall mod id. DocH mod id -> DocH mod id
DocWarning (forall (p :: * -> * -> *) a b c d.
Bifunctor p =>
(a -> b) -> (c -> d) -> p a c -> p b d
bimap a -> b
f c -> d
g DocH a c
doc)
bimap a -> b
f c -> d
g (DocEmphasis DocH a c
doc) = forall mod id. DocH mod id -> DocH mod id
DocEmphasis (forall (p :: * -> * -> *) a b c d.
Bifunctor p =>
(a -> b) -> (c -> d) -> p a c -> p b d
bimap a -> b
f c -> d
g DocH a c
doc)
bimap a -> b
f c -> d
g (DocMonospaced DocH a c
doc) = forall mod id. DocH mod id -> DocH mod id
DocMonospaced (forall (p :: * -> * -> *) a b c d.
Bifunctor p =>
(a -> b) -> (c -> d) -> p a c -> p b d
bimap a -> b
f c -> d
g DocH a c
doc)
bimap a -> b
f c -> d
g (DocBold DocH a c
doc) = forall mod id. DocH mod id -> DocH mod id
DocBold (forall (p :: * -> * -> *) a b c d.
Bifunctor p =>
(a -> b) -> (c -> d) -> p a c -> p b d
bimap a -> b
f c -> d
g DocH a c
doc)
bimap a -> b
f c -> d
g (DocUnorderedList [DocH a c]
docs) = forall mod id. [DocH mod id] -> DocH mod id
DocUnorderedList (forall a b. (a -> b) -> [a] -> [b]
map (forall (p :: * -> * -> *) a b c d.
Bifunctor p =>
(a -> b) -> (c -> d) -> p a c -> p b d
bimap a -> b
f c -> d
g) [DocH a c]
docs)
bimap a -> b
f c -> d
g (DocOrderedList [(Int, DocH a c)]
docs) = forall mod id. [(Int, DocH mod id)] -> DocH mod id
DocOrderedList (forall a b. (a -> b) -> [a] -> [b]
map (\(Int
index, DocH a c
a) -> (Int
index, forall (p :: * -> * -> *) a b c d.
Bifunctor p =>
(a -> b) -> (c -> d) -> p a c -> p b d
bimap a -> b
f c -> d
g DocH a c
a)) [(Int, DocH a c)]
docs)
bimap a -> b
f c -> d
g (DocDefList [(DocH a c, DocH a c)]
docs) = forall mod id. [(DocH mod id, DocH mod id)] -> DocH mod id
DocDefList (forall a b. (a -> b) -> [a] -> [b]
map (forall (p :: * -> * -> *) a b c d.
Bifunctor p =>
(a -> b) -> (c -> d) -> p a c -> p b d
bimap a -> b
f c -> d
g forall (a :: * -> * -> *) b c b' c'.
Arrow a =>
a b c -> a b' c' -> a (b, b') (c, c')
*** forall (p :: * -> * -> *) a b c d.
Bifunctor p =>
(a -> b) -> (c -> d) -> p a c -> p b d
bimap a -> b
f c -> d
g) [(DocH a c, DocH a c)]
docs)
bimap a -> b
f c -> d
g (DocCodeBlock DocH a c
doc) = forall mod id. DocH mod id -> DocH mod id
DocCodeBlock (forall (p :: * -> * -> *) a b c d.
Bifunctor p =>
(a -> b) -> (c -> d) -> p a c -> p b d
bimap a -> b
f c -> d
g DocH a c
doc)
bimap a -> b
f c -> d
g (DocHyperlink (Hyperlink Package
url Maybe (DocH a c)
lbl)) = forall mod id. Hyperlink (DocH mod id) -> DocH mod id
DocHyperlink (forall id. Package -> Maybe id -> Hyperlink id
Hyperlink Package
url (forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (forall (p :: * -> * -> *) a b c d.
Bifunctor p =>
(a -> b) -> (c -> d) -> p a c -> p b d
bimap a -> b
f c -> d
g) Maybe (DocH a c)
lbl))
bimap a -> b
_ c -> d
_ (DocPic Picture
picture) = forall mod id. Picture -> DocH mod id
DocPic Picture
picture
bimap a -> b
_ c -> d
_ (DocMathInline Package
s) = forall mod id. Package -> DocH mod id
DocMathInline Package
s
bimap a -> b
_ c -> d
_ (DocMathDisplay Package
s) = forall mod id. Package -> DocH mod id
DocMathDisplay Package
s
bimap a -> b
_ c -> d
_ (DocAName Package
s) = forall mod id. Package -> DocH mod id
DocAName Package
s
bimap a -> b
_ c -> d
_ (DocProperty Package
s) = forall mod id. Package -> DocH mod id
DocProperty Package
s
bimap a -> b
_ c -> d
_ (DocExamples [Example]
examples) = forall mod id. [Example] -> DocH mod id
DocExamples [Example]
examples
bimap a -> b
f c -> d
g (DocHeader (Header Int
level DocH a c
title)) = forall mod id. Header (DocH mod id) -> DocH mod id
DocHeader (forall id. Int -> id -> Header id
Header Int
level (forall (p :: * -> * -> *) a b c d.
Bifunctor p =>
(a -> b) -> (c -> d) -> p a c -> p b d
bimap a -> b
f c -> d
g DocH a c
title))
bimap a -> b
f c -> d
g (DocTable (Table [TableRow (DocH a c)]
header [TableRow (DocH a c)]
body)) = forall mod id. Table (DocH mod id) -> DocH mod id
DocTable (forall id. [TableRow id] -> [TableRow id] -> Table id
Table (forall a b. (a -> b) -> [a] -> [b]
map (forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (forall (p :: * -> * -> *) a b c d.
Bifunctor p =>
(a -> b) -> (c -> d) -> p a c -> p b d
bimap a -> b
f c -> d
g)) [TableRow (DocH a c)]
header) (forall a b. (a -> b) -> [a] -> [b]
map (forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (forall (p :: * -> * -> *) a b c d.
Bifunctor p =>
(a -> b) -> (c -> d) -> p a c -> p b d
bimap a -> b
f c -> d
g)) [TableRow (DocH a c)]
body))
#endif
#if MIN_VERSION_base(4,10,0)
instance Bifoldable DocH where
bifoldr :: forall a c b. (a -> c -> c) -> (b -> c -> c) -> c -> DocH a b -> c
bifoldr a -> c -> c
f b -> c -> c
g c
z (DocAppend DocH a b
docA DocH a b
docB) = forall (p :: * -> * -> *) a c b.
Bifoldable p =>
(a -> c -> c) -> (b -> c -> c) -> c -> p a b -> c
bifoldr a -> c -> c
f b -> c -> c
g (forall (p :: * -> * -> *) a c b.
Bifoldable p =>
(a -> c -> c) -> (b -> c -> c) -> c -> p a b -> c
bifoldr a -> c -> c
f b -> c -> c
g c
z DocH a b
docA) DocH a b
docB
bifoldr a -> c -> c
f b -> c -> c
g c
z (DocParagraph DocH a b
doc) = forall (p :: * -> * -> *) a c b.
Bifoldable p =>
(a -> c -> c) -> (b -> c -> c) -> c -> p a b -> c
bifoldr a -> c -> c
f b -> c -> c
g c
z DocH a b
doc
bifoldr a -> c -> c
_ b -> c -> c
g c
z (DocIdentifier b
i) = b -> c -> c
g b
i c
z
bifoldr a -> c -> c
f b -> c -> c
_ c
z (DocIdentifierUnchecked a
m) = a -> c -> c
f a
m c
z
bifoldr a -> c -> c
f b -> c -> c
g c
z (DocWarning DocH a b
doc) = forall (p :: * -> * -> *) a c b.
Bifoldable p =>
(a -> c -> c) -> (b -> c -> c) -> c -> p a b -> c
bifoldr a -> c -> c
f b -> c -> c
g c
z DocH a b
doc
bifoldr a -> c -> c
f b -> c -> c
g c
z (DocEmphasis DocH a b
doc) = forall (p :: * -> * -> *) a c b.
Bifoldable p =>
(a -> c -> c) -> (b -> c -> c) -> c -> p a b -> c
bifoldr a -> c -> c
f b -> c -> c
g c
z DocH a b
doc
bifoldr a -> c -> c
f b -> c -> c
g c
z (DocMonospaced DocH a b
doc) = forall (p :: * -> * -> *) a c b.
Bifoldable p =>
(a -> c -> c) -> (b -> c -> c) -> c -> p a b -> c
bifoldr a -> c -> c
f b -> c -> c
g c
z DocH a b
doc
bifoldr a -> c -> c
f b -> c -> c
g c
z (DocBold DocH a b
doc) = forall (p :: * -> * -> *) a c b.
Bifoldable p =>
(a -> c -> c) -> (b -> c -> c) -> c -> p a b -> c
bifoldr a -> c -> c
f b -> c -> c
g c
z DocH a b
doc
bifoldr a -> c -> c
f b -> c -> c
g c
z (DocUnorderedList [DocH a b]
docs) = forall (t :: * -> *) a b.
Foldable t =>
(a -> b -> b) -> b -> t a -> b
foldr (forall a b c. (a -> b -> c) -> b -> a -> c
flip (forall (p :: * -> * -> *) a c b.
Bifoldable p =>
(a -> c -> c) -> (b -> c -> c) -> c -> p a b -> c
bifoldr a -> c -> c
f b -> c -> c
g)) c
z [DocH a b]
docs
bifoldr a -> c -> c
f b -> c -> c
g c
z (DocOrderedList [(Int, DocH a b)]
docs) = forall (t :: * -> *) a b.
Foldable t =>
(a -> b -> b) -> b -> t a -> b
foldr (forall a b c. (a -> b -> c) -> b -> a -> c
flip (forall (p :: * -> * -> *) a c b.
Bifoldable p =>
(a -> c -> c) -> (b -> c -> c) -> c -> p a b -> c
bifoldr a -> c -> c
f b -> c -> c
g)) c
z (forall a b. (a -> b) -> [a] -> [b]
map forall a b. (a, b) -> b
snd [(Int, DocH a b)]
docs)
bifoldr a -> c -> c
f b -> c -> c
g c
z (DocDefList [(DocH a b, DocH a b)]
docs) = forall (t :: * -> *) a b.
Foldable t =>
(a -> b -> b) -> b -> t a -> b
foldr (\(DocH a b
l, DocH a b
r) c
acc -> forall (p :: * -> * -> *) a c b.
Bifoldable p =>
(a -> c -> c) -> (b -> c -> c) -> c -> p a b -> c
bifoldr a -> c -> c
f b -> c -> c
g (forall (p :: * -> * -> *) a c b.
Bifoldable p =>
(a -> c -> c) -> (b -> c -> c) -> c -> p a b -> c
bifoldr a -> c -> c
f b -> c -> c
g c
acc DocH a b
l) DocH a b
r) c
z [(DocH a b, DocH a b)]
docs
bifoldr a -> c -> c
f b -> c -> c
g c
z (DocCodeBlock DocH a b
doc) = forall (p :: * -> * -> *) a c b.
Bifoldable p =>
(a -> c -> c) -> (b -> c -> c) -> c -> p a b -> c
bifoldr a -> c -> c
f b -> c -> c
g c
z DocH a b
doc
bifoldr a -> c -> c
f b -> c -> c
g c
z (DocHeader (Header Int
_ DocH a b
title)) = forall (p :: * -> * -> *) a c b.
Bifoldable p =>
(a -> c -> c) -> (b -> c -> c) -> c -> p a b -> c
bifoldr a -> c -> c
f b -> c -> c
g c
z DocH a b
title
bifoldr a -> c -> c
f b -> c -> c
g c
z (DocTable (Table [TableRow (DocH a b)]
header [TableRow (DocH a b)]
body)) = forall (t :: * -> *) a b.
Foldable t =>
(a -> b -> b) -> b -> t a -> b
foldr (\TableRow (DocH a b)
r c
acc -> forall (t :: * -> *) a b.
Foldable t =>
(a -> b -> b) -> b -> t a -> b
foldr (forall a b c. (a -> b -> c) -> b -> a -> c
flip (forall (p :: * -> * -> *) a c b.
Bifoldable p =>
(a -> c -> c) -> (b -> c -> c) -> c -> p a b -> c
bifoldr a -> c -> c
f b -> c -> c
g)) c
acc TableRow (DocH a b)
r) (forall (t :: * -> *) a b.
Foldable t =>
(a -> b -> b) -> b -> t a -> b
foldr (\TableRow (DocH a b)
r c
acc -> forall (t :: * -> *) a b.
Foldable t =>
(a -> b -> b) -> b -> t a -> b
foldr (forall a b c. (a -> b -> c) -> b -> a -> c
flip (forall (p :: * -> * -> *) a c b.
Bifoldable p =>
(a -> c -> c) -> (b -> c -> c) -> c -> p a b -> c
bifoldr a -> c -> c
f b -> c -> c
g)) c
acc TableRow (DocH a b)
r) c
z [TableRow (DocH a b)]
body) [TableRow (DocH a b)]
header
bifoldr a -> c -> c
_ b -> c -> c
_ c
z DocH a b
_ = c
z
instance Bitraversable DocH where
bitraverse :: forall (f :: * -> *) a c b d.
Applicative f =>
(a -> f c) -> (b -> f d) -> DocH a b -> f (DocH c d)
bitraverse a -> f c
_ b -> f d
_ DocH a b
DocEmpty = forall (f :: * -> *) a. Applicative f => a -> f a
pure forall mod id. DocH mod id
DocEmpty
bitraverse a -> f c
f b -> f d
g (DocAppend DocH a b
docA DocH a b
docB) = forall mod id. DocH mod id -> DocH mod id -> DocH mod id
DocAppend forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> forall (t :: * -> * -> *) (f :: * -> *) a c b d.
(Bitraversable t, Applicative f) =>
(a -> f c) -> (b -> f d) -> t a b -> f (t c d)
bitraverse a -> f c
f b -> f d
g DocH a b
docA forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> forall (t :: * -> * -> *) (f :: * -> *) a c b d.
(Bitraversable t, Applicative f) =>
(a -> f c) -> (b -> f d) -> t a b -> f (t c d)
bitraverse a -> f c
f b -> f d
g DocH a b
docB
bitraverse a -> f c
_ b -> f d
_ (DocString Package
s) = forall (f :: * -> *) a. Applicative f => a -> f a
pure (forall mod id. Package -> DocH mod id
DocString Package
s)
bitraverse a -> f c
f b -> f d
g (DocParagraph DocH a b
doc) = forall mod id. DocH mod id -> DocH mod id
DocParagraph forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> forall (t :: * -> * -> *) (f :: * -> *) a c b d.
(Bitraversable t, Applicative f) =>
(a -> f c) -> (b -> f d) -> t a b -> f (t c d)
bitraverse a -> f c
f b -> f d
g DocH a b
doc
bitraverse a -> f c
_ b -> f d
g (DocIdentifier b
i) = forall mod id. id -> DocH mod id
DocIdentifier forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> b -> f d
g b
i
bitraverse a -> f c
f b -> f d
_ (DocIdentifierUnchecked a
m) = forall mod id. mod -> DocH mod id
DocIdentifierUnchecked forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> a -> f c
f a
m
bitraverse a -> f c
f b -> f d
g (DocModule (ModLink Package
m Maybe (DocH a b)
lbl)) = forall mod id. ModLink (DocH mod id) -> DocH mod id
DocModule forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (forall id. Package -> Maybe id -> ModLink id
ModLink Package
m forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> forall (t :: * -> *) (f :: * -> *) a b.
(Traversable t, Applicative f) =>
(a -> f b) -> t a -> f (t b)
traverse (forall (t :: * -> * -> *) (f :: * -> *) a c b d.
(Bitraversable t, Applicative f) =>
(a -> f c) -> (b -> f d) -> t a b -> f (t c d)
bitraverse a -> f c
f b -> f d
g) Maybe (DocH a b)
lbl)
bitraverse a -> f c
f b -> f d
g (DocWarning DocH a b
doc) = forall mod id. DocH mod id -> DocH mod id
DocWarning forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> forall (t :: * -> * -> *) (f :: * -> *) a c b d.
(Bitraversable t, Applicative f) =>
(a -> f c) -> (b -> f d) -> t a b -> f (t c d)
bitraverse a -> f c
f b -> f d
g DocH a b
doc
bitraverse a -> f c
f b -> f d
g (DocEmphasis DocH a b
doc) = forall mod id. DocH mod id -> DocH mod id
DocEmphasis forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> forall (t :: * -> * -> *) (f :: * -> *) a c b d.
(Bitraversable t, Applicative f) =>
(a -> f c) -> (b -> f d) -> t a b -> f (t c d)
bitraverse a -> f c
f b -> f d
g DocH a b
doc
bitraverse a -> f c
f b -> f d
g (DocMonospaced DocH a b
doc) = forall mod id. DocH mod id -> DocH mod id
DocMonospaced forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> forall (t :: * -> * -> *) (f :: * -> *) a c b d.
(Bitraversable t, Applicative f) =>
(a -> f c) -> (b -> f d) -> t a b -> f (t c d)
bitraverse a -> f c
f b -> f d
g DocH a b
doc
bitraverse a -> f c
f b -> f d
g (DocBold DocH a b
doc) = forall mod id. DocH mod id -> DocH mod id
DocBold forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> forall (t :: * -> * -> *) (f :: * -> *) a c b d.
(Bitraversable t, Applicative f) =>
(a -> f c) -> (b -> f d) -> t a b -> f (t c d)
bitraverse a -> f c
f b -> f d
g DocH a b
doc
bitraverse a -> f c
f b -> f d
g (DocUnorderedList [DocH a b]
docs) = forall mod id. [DocH mod id] -> DocH mod id
DocUnorderedList forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> forall (t :: * -> *) (f :: * -> *) a b.
(Traversable t, Applicative f) =>
(a -> f b) -> t a -> f (t b)
traverse (forall (t :: * -> * -> *) (f :: * -> *) a c b d.
(Bitraversable t, Applicative f) =>
(a -> f c) -> (b -> f d) -> t a b -> f (t c d)
bitraverse a -> f c
f b -> f d
g) [DocH a b]
docs
bitraverse a -> f c
f b -> f d
g (DocOrderedList [(Int, DocH a b)]
docs) = forall mod id. [(Int, DocH mod id)] -> DocH mod id
DocOrderedList forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> forall {t :: * -> *} {f :: * -> *} {t} {b} {a}.
(Traversable t, Applicative f) =>
(t -> f b) -> t (a, t) -> f (t (a, b))
traverseSnd (forall (t :: * -> * -> *) (f :: * -> *) a c b d.
(Bitraversable t, Applicative f) =>
(a -> f c) -> (b -> f d) -> t a b -> f (t c d)
bitraverse a -> f c
f b -> f d
g) [(Int, DocH a b)]
docs
where traverseSnd :: (t -> f b) -> t (a, t) -> f (t (a, b))
traverseSnd t -> f b
f' = forall (t :: * -> *) (f :: * -> *) a b.
(Traversable t, Applicative f) =>
(a -> f b) -> t a -> f (t b)
traverse (\(a
x, t
a) -> (\b
b -> (a
x, b
b)) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> t -> f b
f' t
a)
bitraverse a -> f c
f b -> f d
g (DocDefList [(DocH a b, DocH a b)]
docs) = forall mod id. [(DocH mod id, DocH mod id)] -> DocH mod id
DocDefList forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> forall (t :: * -> *) (f :: * -> *) a b.
(Traversable t, Applicative f) =>
(a -> f b) -> t a -> f (t b)
traverse (forall (t :: * -> * -> *) (f :: * -> *) a c b d.
(Bitraversable t, Applicative f) =>
(a -> f c) -> (b -> f d) -> t a b -> f (t c d)
bitraverse (forall (t :: * -> * -> *) (f :: * -> *) a c b d.
(Bitraversable t, Applicative f) =>
(a -> f c) -> (b -> f d) -> t a b -> f (t c d)
bitraverse a -> f c
f b -> f d
g) (forall (t :: * -> * -> *) (f :: * -> *) a c b d.
(Bitraversable t, Applicative f) =>
(a -> f c) -> (b -> f d) -> t a b -> f (t c d)
bitraverse a -> f c
f b -> f d
g)) [(DocH a b, DocH a b)]
docs
bitraverse a -> f c
f b -> f d
g (DocCodeBlock DocH a b
doc) = forall mod id. DocH mod id -> DocH mod id
DocCodeBlock forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> forall (t :: * -> * -> *) (f :: * -> *) a c b d.
(Bitraversable t, Applicative f) =>
(a -> f c) -> (b -> f d) -> t a b -> f (t c d)
bitraverse a -> f c
f b -> f d
g DocH a b
doc
bitraverse a -> f c
f b -> f d
g (DocHyperlink (Hyperlink Package
url Maybe (DocH a b)
lbl)) = forall mod id. Hyperlink (DocH mod id) -> DocH mod id
DocHyperlink forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (forall id. Package -> Maybe id -> Hyperlink id
Hyperlink Package
url forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> forall (t :: * -> *) (f :: * -> *) a b.
(Traversable t, Applicative f) =>
(a -> f b) -> t a -> f (t b)
traverse (forall (t :: * -> * -> *) (f :: * -> *) a c b d.
(Bitraversable t, Applicative f) =>
(a -> f c) -> (b -> f d) -> t a b -> f (t c d)
bitraverse a -> f c
f b -> f d
g) Maybe (DocH a b)
lbl)
bitraverse a -> f c
_ b -> f d
_ (DocPic Picture
picture) = forall (f :: * -> *) a. Applicative f => a -> f a
pure (forall mod id. Picture -> DocH mod id
DocPic Picture
picture)
bitraverse a -> f c
_ b -> f d
_ (DocMathInline Package
s) = forall (f :: * -> *) a. Applicative f => a -> f a
pure (forall mod id. Package -> DocH mod id
DocMathInline Package
s)
bitraverse a -> f c
_ b -> f d
_ (DocMathDisplay Package
s) = forall (f :: * -> *) a. Applicative f => a -> f a
pure (forall mod id. Package -> DocH mod id
DocMathDisplay Package
s)
bitraverse a -> f c
_ b -> f d
_ (DocAName Package
s) = forall (f :: * -> *) a. Applicative f => a -> f a
pure (forall mod id. Package -> DocH mod id
DocAName Package
s)
bitraverse a -> f c
_ b -> f d
_ (DocProperty Package
s) = forall (f :: * -> *) a. Applicative f => a -> f a
pure (forall mod id. Package -> DocH mod id
DocProperty Package
s)
bitraverse a -> f c
_ b -> f d
_ (DocExamples [Example]
examples) = forall (f :: * -> *) a. Applicative f => a -> f a
pure (forall mod id. [Example] -> DocH mod id
DocExamples [Example]
examples)
bitraverse a -> f c
f b -> f d
g (DocHeader (Header Int
level DocH a b
title)) = (forall mod id. Header (DocH mod id) -> DocH mod id
DocHeader forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall id. Int -> id -> Header id
Header Int
level) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> forall (t :: * -> * -> *) (f :: * -> *) a c b d.
(Bitraversable t, Applicative f) =>
(a -> f c) -> (b -> f d) -> t a b -> f (t c d)
bitraverse a -> f c
f b -> f d
g DocH a b
title
bitraverse a -> f c
f b -> f d
g (DocTable (Table [TableRow (DocH a b)]
header [TableRow (DocH a b)]
body)) = (\[TableRow (DocH c d)]
h [TableRow (DocH c d)]
b -> forall mod id. Table (DocH mod id) -> DocH mod id
DocTable (forall id. [TableRow id] -> [TableRow id] -> Table id
Table [TableRow (DocH c d)]
h [TableRow (DocH c d)]
b)) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> forall (t :: * -> *) (f :: * -> *) a b.
(Traversable t, Applicative f) =>
(a -> f b) -> t a -> f (t b)
traverse (forall (t :: * -> *) (f :: * -> *) a b.
(Traversable t, Applicative f) =>
(a -> f b) -> t a -> f (t b)
traverse (forall (t :: * -> * -> *) (f :: * -> *) a c b d.
(Bitraversable t, Applicative f) =>
(a -> f c) -> (b -> f d) -> t a b -> f (t c d)
bitraverse a -> f c
f b -> f d
g)) [TableRow (DocH a b)]
header forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> forall (t :: * -> *) (f :: * -> *) a b.
(Traversable t, Applicative f) =>
(a -> f b) -> t a -> f (t b)
traverse (forall (t :: * -> *) (f :: * -> *) a b.
(Traversable t, Applicative f) =>
(a -> f b) -> t a -> f (t b)
traverse (forall (t :: * -> * -> *) (f :: * -> *) a c b d.
(Bitraversable t, Applicative f) =>
(a -> f c) -> (b -> f d) -> t a b -> f (t c d)
bitraverse a -> f c
f b -> f d
g)) [TableRow (DocH a b)]
body
#endif
data Namespace = Value | Type | None deriving (Namespace -> Namespace -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Namespace -> Namespace -> Bool
$c/= :: Namespace -> Namespace -> Bool
== :: Namespace -> Namespace -> Bool
$c== :: Namespace -> Namespace -> Bool
Eq, Eq Namespace
Namespace -> Namespace -> Bool
Namespace -> Namespace -> Ordering
Namespace -> Namespace -> Namespace
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: Namespace -> Namespace -> Namespace
$cmin :: Namespace -> Namespace -> Namespace
max :: Namespace -> Namespace -> Namespace
$cmax :: Namespace -> Namespace -> Namespace
>= :: Namespace -> Namespace -> Bool
$c>= :: Namespace -> Namespace -> Bool
> :: Namespace -> Namespace -> Bool
$c> :: Namespace -> Namespace -> Bool
<= :: Namespace -> Namespace -> Bool
$c<= :: Namespace -> Namespace -> Bool
< :: Namespace -> Namespace -> Bool
$c< :: Namespace -> Namespace -> Bool
compare :: Namespace -> Namespace -> Ordering
$ccompare :: Namespace -> Namespace -> Ordering
Ord, Int -> Namespace
Namespace -> Int
Namespace -> [Namespace]
Namespace -> Namespace
Namespace -> Namespace -> [Namespace]
Namespace -> Namespace -> Namespace -> [Namespace]
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: Namespace -> Namespace -> Namespace -> [Namespace]
$cenumFromThenTo :: Namespace -> Namespace -> Namespace -> [Namespace]
enumFromTo :: Namespace -> Namespace -> [Namespace]
$cenumFromTo :: Namespace -> Namespace -> [Namespace]
enumFromThen :: Namespace -> Namespace -> [Namespace]
$cenumFromThen :: Namespace -> Namespace -> [Namespace]
enumFrom :: Namespace -> [Namespace]
$cenumFrom :: Namespace -> [Namespace]
fromEnum :: Namespace -> Int
$cfromEnum :: Namespace -> Int
toEnum :: Int -> Namespace
$ctoEnum :: Int -> Namespace
pred :: Namespace -> Namespace
$cpred :: Namespace -> Namespace
succ :: Namespace -> Namespace
$csucc :: Namespace -> Namespace
Enum, Int -> Namespace -> ShowS
[Namespace] -> ShowS
Namespace -> Package
forall a.
(Int -> a -> ShowS) -> (a -> Package) -> ([a] -> ShowS) -> Show a
showList :: [Namespace] -> ShowS
$cshowList :: [Namespace] -> ShowS
show :: Namespace -> Package
$cshow :: Namespace -> Package
showsPrec :: Int -> Namespace -> ShowS
$cshowsPrec :: Int -> Namespace -> ShowS
Show)
renderNs :: Namespace -> String
renderNs :: Namespace -> Package
renderNs Namespace
Value = Package
"v"
renderNs Namespace
Type = Package
"t"
renderNs Namespace
None = Package
""
data DocMarkupH mod id a = Markup
{ forall mod id a. DocMarkupH mod id a -> a
markupEmpty :: a
, forall mod id a. DocMarkupH mod id a -> Package -> a
markupString :: String -> a
, forall mod id a. DocMarkupH mod id a -> a -> a
markupParagraph :: a -> a
, forall mod id a. DocMarkupH mod id a -> a -> a -> a
markupAppend :: a -> a -> a
, forall mod id a. DocMarkupH mod id a -> id -> a
markupIdentifier :: id -> a
, forall mod id a. DocMarkupH mod id a -> mod -> a
markupIdentifierUnchecked :: mod -> a
, forall mod id a. DocMarkupH mod id a -> ModLink a -> a
markupModule :: ModLink a -> a
, forall mod id a. DocMarkupH mod id a -> a -> a
markupWarning :: a -> a
, forall mod id a. DocMarkupH mod id a -> a -> a
markupEmphasis :: a -> a
, forall mod id a. DocMarkupH mod id a -> a -> a
markupBold :: a -> a
, forall mod id a. DocMarkupH mod id a -> a -> a
markupMonospaced :: a -> a
, forall mod id a. DocMarkupH mod id a -> [a] -> a
markupUnorderedList :: [a] -> a
, forall mod id a. DocMarkupH mod id a -> [(Int, a)] -> a
markupOrderedList :: [(Int,a)] -> a
, forall mod id a. DocMarkupH mod id a -> [(a, a)] -> a
markupDefList :: [(a,a)] -> a
, forall mod id a. DocMarkupH mod id a -> a -> a
markupCodeBlock :: a -> a
, forall mod id a. DocMarkupH mod id a -> Hyperlink a -> a
markupHyperlink :: Hyperlink a -> a
, forall mod id a. DocMarkupH mod id a -> Package -> a
markupAName :: String -> a
, forall mod id a. DocMarkupH mod id a -> Picture -> a
markupPic :: Picture -> a
, forall mod id a. DocMarkupH mod id a -> Package -> a
markupMathInline :: String -> a
, forall mod id a. DocMarkupH mod id a -> Package -> a
markupMathDisplay :: String -> a
, forall mod id a. DocMarkupH mod id a -> Package -> a
markupProperty :: String -> a
, forall mod id a. DocMarkupH mod id a -> [Example] -> a
markupExample :: [Example] -> a
, :: Header a -> a
, forall mod id a. DocMarkupH mod id a -> Table a -> a
markupTable :: Table a -> a
}