Portability | non-portable |
---|---|
Stability | experimental |
Maintainer | generics@haskell.org |
Safe Haskell | Safe-Inferred |
Generic show.
- class HFunctor phi f => HShow phi f where
- hShowsPrecAlg :: Algebra' phi f [Int -> ShowS]
- class Show1 f where
- showsPrec :: (Fam phi, HShow phi (PF phi)) => phi ix -> Int -> ix -> ShowS
- show :: (Fam phi, HShow phi (PF phi)) => phi ix -> ix -> String
- spaces :: [ShowS] -> ShowS
- commas :: [ShowS] -> ShowS
- intersperse :: String -> [ShowS] -> ShowS
Generic show
class HFunctor phi f => HShow phi f whereSource
The list in the result type allows us to get at the fields of a constructor individually, which in turn allows us to insert additional stuff in between if record notation is used.
hShowsPrecAlg :: Algebra' phi f [Int -> ShowS]Source
HShow phi U | |
Show a => HShow phi (K a) | For constant types, we make use of the standard show function. |
El phi xi => HShow phi (I xi) | |
(Constructor c, HShow phi f) => HShow phi (C c f) | |
(Show1 f, Traversable f, HShow phi g) => HShow phi (:.: f g) | |
HShow phi f => HShow phi (:>: f ix) | |
(HShow phi f, HShow phi g) => HShow phi (:*: f g) | |
(HShow phi f, HShow phi g) => HShow phi (:+: f g) |
Utilities
intersperse :: String -> [ShowS] -> ShowSSource