multirec-0.7.6: Generic programming for families of recursive datatypes

Copyright(c) 2008--2010 Universiteit Utrecht
LicenseBSD3
Maintainergenerics@haskell.org
Stabilityexperimental
Portabilitynon-portable
Safe HaskellSafe
LanguageHaskell98

Generics.MultiRec.Show

Contents

Description

Generic show.

Synopsis

Generic show

class HFunctor phi f => HShow phi f where Source #

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.

Minimal complete definition

hShowsPrecAlg

Methods

hShowsPrecAlg :: Algebra' phi f [Int -> ShowS] Source #

Instances

HShow phi U Source # 

Methods

hShowsPrecAlg :: Algebra' phi U [Int -> ShowS] Source #

Show a => HShow phi (K a) Source #

For constant types, we make use of the standard show function.

Methods

hShowsPrecAlg :: Algebra' phi (K a) [Int -> ShowS] Source #

El phi xi => HShow phi (I xi) Source # 

Methods

hShowsPrecAlg :: Algebra' phi (I xi) [Int -> ShowS] Source #

(Constructor c, HShow phi f) => HShow phi (C c f) Source # 

Methods

hShowsPrecAlg :: Algebra' phi (C c f) [Int -> ShowS] Source #

(Show1 f, Traversable f, HShow phi g) => HShow phi ((:.:) f g) Source # 

Methods

hShowsPrecAlg :: Algebra' phi (f :.: g) [Int -> ShowS] Source #

HShow phi f => HShow phi ((:>:) f ix) Source # 

Methods

hShowsPrecAlg :: Algebra' phi (f :>: ix) [Int -> ShowS] Source #

(HShow phi f, HShow phi g) => HShow phi ((:*:) f g) Source # 

Methods

hShowsPrecAlg :: Algebra' phi (f :*: g) [Int -> ShowS] Source #

(HShow phi f, HShow phi g) => HShow phi ((:+:) f g) Source # 

Methods

hShowsPrecAlg :: Algebra' phi (f :+: g) [Int -> ShowS] Source #

class Show1 f where Source #

Minimal complete definition

show1

Methods

show1 :: f [Int -> ShowS] -> Int -> ShowS Source #

Instances

Show1 [] Source # 

Methods

show1 :: [[Int -> ShowS]] -> Int -> ShowS Source #

Show1 Maybe Source # 

Methods

show1 :: Maybe [Int -> ShowS] -> Int -> ShowS Source #

showsPrec :: (Fam phi, HShow phi (PF phi)) => phi ix -> Int -> ix -> ShowS Source #

show :: (Fam phi, HShow phi (PF phi)) => phi ix -> ix -> String Source #

Utilities