| Copyright | (C) 2014-2017 Ryan Scott |
|---|---|
| License | BSD-style (see the file LICENSE) |
| Maintainer | Ryan Scott |
| Stability | Provisional |
| Portability | GHC |
| Safe Haskell | None |
| Language | Haskell2010 |
TextShow.Generic
Contents
Description
Generic versions of TextShow and TextShow1 class functions, as an alternative to
TextShow.TH, which uses Template Haskell. Because there is no Generic2
class, TextShow2 cannot be implemented generically.
This implementation is loosely based off of the Generics.Deriving.Show module
from the generic-deriving library.
Since: 2
Synopsis
- newtype FromGeneric a = FromGeneric {
- fromGeneric :: a
- newtype FromGeneric1 f a = FromGeneric1 {
- fromGeneric1 :: f a
- genericShowt :: (Generic a, GTextShowT Zero (Rep a)) => a -> Text
- genericShowtl :: (Generic a, GTextShowTL Zero (Rep a)) => a -> Text
- genericShowtPrec :: (Generic a, GTextShowT Zero (Rep a)) => Int -> a -> Text
- genericShowtlPrec :: (Generic a, GTextShowTL Zero (Rep a)) => Int -> a -> Text
- genericShowtList :: (Generic a, GTextShowT Zero (Rep a)) => [a] -> Text
- genericShowtlList :: (Generic a, GTextShowTL Zero (Rep a)) => [a] -> Text
- genericShowb :: (Generic a, GTextShowB Zero (Rep a)) => a -> Builder
- genericShowbPrec :: (Generic a, GTextShowB Zero (Rep a)) => Int -> a -> Builder
- genericShowbList :: (Generic a, GTextShowB Zero (Rep a)) => [a] -> Builder
- genericPrintT :: (Generic a, GTextShowT Zero (Rep a)) => a -> IO ()
- genericPrintTL :: (Generic a, GTextShowTL Zero (Rep a)) => a -> IO ()
- genericHPrintT :: (Generic a, GTextShowT Zero (Rep a)) => Handle -> a -> IO ()
- genericHPrintTL :: (Generic a, GTextShowTL Zero (Rep a)) => Handle -> a -> IO ()
- genericLiftShowbPrec :: (Generic1 f, GTextShowB One (Rep1 f)) => (Int -> a -> Builder) -> ([a] -> Builder) -> Int -> f a -> Builder
- genericShowbPrec1 :: (Generic a, Generic1 f, GTextShowB Zero (Rep a), GTextShowB One (Rep1 f)) => Int -> f a -> Builder
- class GTextShowB arity f where
- gShowbPrec :: ShowFunsB arity a -> Int -> f a -> Builder
- class GTextShowConB arity f where
- gShowbPrecCon :: ConType -> ShowFunsB arity a -> Int -> f a -> Builder
- data ShowFunsB arity a where
- NoShowFunsB :: ShowFunsB Zero a
- Show1FunsB :: (Int -> a -> Builder) -> ([a] -> Builder) -> ShowFunsB One a
- class GTextShowT arity f where
- gShowtPrec :: ShowFunsT arity a -> Int -> f a -> Text
- class GTextShowConT arity f where
- gShowtPrecCon :: ConType -> ShowFunsT arity a -> Int -> f a -> Text
- data ShowFunsT arity a where
- NoShowFunsT :: ShowFunsT Zero a
- Show1FunsT :: (Int -> a -> Text) -> ([a] -> Text) -> ShowFunsT One a
- class GTextShowTL arity f where
- gShowtlPrec :: ShowFunsTL arity a -> Int -> f a -> Text
- class GTextShowConTL arity f where
- gShowtlPrecCon :: ConType -> ShowFunsTL arity a -> Int -> f a -> Text
- data ShowFunsTL arity a where
- NoShowFunsTL :: ShowFunsTL Zero a
- Show1FunsTL :: (Int -> a -> Text) -> ([a] -> Text) -> ShowFunsTL One a
- class IsNullary f where
- data ConType
- data Zero
- data One
Generic adapter newtypes
newtype FromGeneric a #
An adapter newtype, suitable for DerivingVia.
The TextShow instance for FromGeneric leverages a Generic-based
default. That is,
showbPrecp (FromGenericx) =genericShowbPrecp x
Since: 3.7.4
Constructors
| FromGeneric | |
Fields
| |
Instances
newtype FromGeneric1 f a #
An adapter newtype, suitable for DerivingVia.
The TextShow1 instance for FromGeneric1 leverages a Generic1-based
default. That is,
liftShowbPrecsp sl p (FromGeneric1x) =genericLiftShowbPrecsp sl p x
Since: 3.7.4
Constructors
| FromGeneric1 | |
Fields
| |
Instances
| Generic1 (FromGeneric1 f :: k -> Type) # | |
Defined in TextShow.Generic Associated Types type Rep1 (FromGeneric1 f) :: k -> Type # Methods from1 :: FromGeneric1 f a -> Rep1 (FromGeneric1 f) a # to1 :: Rep1 (FromGeneric1 f) a -> FromGeneric1 f a # | |
| Functor f => Functor (FromGeneric1 f) # | |
Defined in TextShow.Generic Methods fmap :: (a -> b) -> FromGeneric1 f a -> FromGeneric1 f b # (<$) :: a -> FromGeneric1 f b -> FromGeneric1 f a # | |
| Foldable f => Foldable (FromGeneric1 f) # | |
Defined in TextShow.Generic Methods fold :: Monoid m => FromGeneric1 f m -> m # foldMap :: Monoid m => (a -> m) -> FromGeneric1 f a -> m # foldr :: (a -> b -> b) -> b -> FromGeneric1 f a -> b # foldr' :: (a -> b -> b) -> b -> FromGeneric1 f a -> b # foldl :: (b -> a -> b) -> b -> FromGeneric1 f a -> b # foldl' :: (b -> a -> b) -> b -> FromGeneric1 f a -> b # foldr1 :: (a -> a -> a) -> FromGeneric1 f a -> a # foldl1 :: (a -> a -> a) -> FromGeneric1 f a -> a # toList :: FromGeneric1 f a -> [a] # null :: FromGeneric1 f a -> Bool # length :: FromGeneric1 f a -> Int # elem :: Eq a => a -> FromGeneric1 f a -> Bool # maximum :: Ord a => FromGeneric1 f a -> a # minimum :: Ord a => FromGeneric1 f a -> a # sum :: Num a => FromGeneric1 f a -> a # product :: Num a => FromGeneric1 f a -> a # | |
| Traversable f => Traversable (FromGeneric1 f) # | |
Defined in TextShow.Generic Methods traverse :: Applicative f0 => (a -> f0 b) -> FromGeneric1 f a -> f0 (FromGeneric1 f b) # sequenceA :: Applicative f0 => FromGeneric1 f (f0 a) -> f0 (FromGeneric1 f a) # mapM :: Monad m => (a -> m b) -> FromGeneric1 f a -> m (FromGeneric1 f b) # sequence :: Monad m => FromGeneric1 f (m a) -> m (FromGeneric1 f a) # | |
| (Generic1 f, GTextShowB One (Rep1 f)) => TextShow1 (FromGeneric1 f) # | Since: 3.7.4 |
Defined in TextShow.Generic Methods liftShowbPrec :: (Int -> a -> Builder) -> ([a] -> Builder) -> Int -> FromGeneric1 f a -> Builder # liftShowbList :: (Int -> a -> Builder) -> ([a] -> Builder) -> [FromGeneric1 f a] -> Builder # | |
| Eq (f a) => Eq (FromGeneric1 f a) # | |
Defined in TextShow.Generic Methods (==) :: FromGeneric1 f a -> FromGeneric1 f a -> Bool # (/=) :: FromGeneric1 f a -> FromGeneric1 f a -> Bool # | |
| (Data (f a), Typeable f, Typeable a) => Data (FromGeneric1 f a) # | |
Defined in TextShow.Generic Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FromGeneric1 f a -> c (FromGeneric1 f a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (FromGeneric1 f a) # toConstr :: FromGeneric1 f a -> Constr # dataTypeOf :: FromGeneric1 f a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (FromGeneric1 f a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (FromGeneric1 f a)) # gmapT :: (forall b. Data b => b -> b) -> FromGeneric1 f a -> FromGeneric1 f a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FromGeneric1 f a -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FromGeneric1 f a -> r # gmapQ :: (forall d. Data d => d -> u) -> FromGeneric1 f a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> FromGeneric1 f a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> FromGeneric1 f a -> m (FromGeneric1 f a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FromGeneric1 f a -> m (FromGeneric1 f a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FromGeneric1 f a -> m (FromGeneric1 f a) # | |
| Ord (f a) => Ord (FromGeneric1 f a) # | |
Defined in TextShow.Generic Methods compare :: FromGeneric1 f a -> FromGeneric1 f a -> Ordering # (<) :: FromGeneric1 f a -> FromGeneric1 f a -> Bool # (<=) :: FromGeneric1 f a -> FromGeneric1 f a -> Bool # (>) :: FromGeneric1 f a -> FromGeneric1 f a -> Bool # (>=) :: FromGeneric1 f a -> FromGeneric1 f a -> Bool # max :: FromGeneric1 f a -> FromGeneric1 f a -> FromGeneric1 f a # min :: FromGeneric1 f a -> FromGeneric1 f a -> FromGeneric1 f a # | |
| Read (f a) => Read (FromGeneric1 f a) # | |
Defined in TextShow.Generic Methods readsPrec :: Int -> ReadS (FromGeneric1 f a) # readList :: ReadS [FromGeneric1 f a] # readPrec :: ReadPrec (FromGeneric1 f a) # readListPrec :: ReadPrec [FromGeneric1 f a] # | |
| Show (f a) => Show (FromGeneric1 f a) # | |
Defined in TextShow.Generic Methods showsPrec :: Int -> FromGeneric1 f a -> ShowS # show :: FromGeneric1 f a -> String # showList :: [FromGeneric1 f a] -> ShowS # | |
| Generic (FromGeneric1 f a) # | |
Defined in TextShow.Generic Associated Types type Rep (FromGeneric1 f a) :: Type -> Type # Methods from :: FromGeneric1 f a -> Rep (FromGeneric1 f a) x # to :: Rep (FromGeneric1 f a) x -> FromGeneric1 f a # | |
| Lift (f a) => Lift (FromGeneric1 f a) # | |
Defined in TextShow.Generic Methods lift :: FromGeneric1 f a -> Q Exp # | |
| type Rep1 (FromGeneric1 f :: k -> Type) # | |
Defined in TextShow.Generic type Rep1 (FromGeneric1 f :: k -> Type) = D1 (MetaData "FromGeneric1" "TextShow.Generic" "text-show-3.7.5-LbA925HAV7Y6CLjRgFEe4N" True) (C1 (MetaCons "FromGeneric1" PrefixI True) (S1 (MetaSel (Just "fromGeneric1") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec1 f))) | |
| type Rep (FromGeneric1 f a) # | |
Defined in TextShow.Generic type Rep (FromGeneric1 f a) = D1 (MetaData "FromGeneric1" "TextShow.Generic" "text-show-3.7.5-LbA925HAV7Y6CLjRgFEe4N" True) (C1 (MetaCons "FromGeneric1" PrefixI True) (S1 (MetaSel (Just "fromGeneric1") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (f a)))) | |
Generic show functions
TextShow instances can be easily defined for data types that are Generic instances.
If you are using GHC 8.6 or later, the easiest way to do this is to use the
DerivingVia extension.
{-# LANGUAGE DeriveGeneric, DerivingVia #-}
import GHC.Generics
import TextShow
import TextShow.Generic
data D a = D a
deriving (Generic, Generic1)
deriving TextShow via FromGeneric (D a)
deriving TextShow1 via FromGeneric1 D
Or, if you are using a version of GHC older than 8.6, one can alternatively define these instances like so:
instanceTextShowa =>TextShow(D a) whereshowbPrec=genericShowbPrecinstanceTextShow1D whereliftShowbPrec=genericLiftShowbPrec
Understanding a compiler error
Suppose you intend to define a TextShow instance via FromGeneric:
data Oops = Oops derivingTextShowviaFromGenericOops -- forgot to add "deriving Generic" here!
If you forget to add a deriving clause to your data type, at
compile-time, you might get an error message that begins roughly as follows:Generic
No instance for (GTextShowBZero(RepOops))
This error can be confusing, but don't let it intimidate you. The correct fix is
simply to add the missing "deriving " clause.Generic
Similarly, if the compiler complains about not having an instance for (, add a "GTextShowB
One (Rep1 Oops1))deriving " clause.Generic1
genericShowt :: (Generic a, GTextShowT Zero (Rep a)) => a -> Text #
genericShowtl :: (Generic a, GTextShowTL Zero (Rep a)) => a -> Text #
genericShowtPrec :: (Generic a, GTextShowT Zero (Rep a)) => Int -> a -> Text #
A Generic implementation of showPrect.
Since: 2
genericShowtlPrec :: (Generic a, GTextShowTL Zero (Rep a)) => Int -> a -> Text #
A Generic implementation of showtlPrec.
Since: 2
genericShowtList :: (Generic a, GTextShowT Zero (Rep a)) => [a] -> Text #
genericShowtlList :: (Generic a, GTextShowTL Zero (Rep a)) => [a] -> Text #
A Generic implementation of showtlList.
Since: 2
genericShowb :: (Generic a, GTextShowB Zero (Rep a)) => a -> Builder #
genericShowbPrec :: (Generic a, GTextShowB Zero (Rep a)) => Int -> a -> Builder #
genericShowbList :: (Generic a, GTextShowB Zero (Rep a)) => [a] -> Builder #
genericPrintT :: (Generic a, GTextShowT Zero (Rep a)) => a -> IO () #
A Generic implementation of printT.
Since: 2
genericPrintTL :: (Generic a, GTextShowTL Zero (Rep a)) => a -> IO () #
A Generic implementation of printTL.
Since: 2
genericHPrintT :: (Generic a, GTextShowT Zero (Rep a)) => Handle -> a -> IO () #
A Generic implementation of hPrintT.
Since: 2
genericHPrintTL :: (Generic a, GTextShowTL Zero (Rep a)) => Handle -> a -> IO () #
A Generic implementation of hPrintTL.
Since: 2
genericLiftShowbPrec :: (Generic1 f, GTextShowB One (Rep1 f)) => (Int -> a -> Builder) -> ([a] -> Builder) -> Int -> f a -> Builder #
A Generic1 implementation of genericLiftShowbPrec.
Since: 2
genericShowbPrec1 :: (Generic a, Generic1 f, GTextShowB Zero (Rep a), GTextShowB One (Rep1 f)) => Int -> f a -> Builder #
A 'Generic'/'Generic1' implementation of showbPrec1.
Since: 2
Internals
Builder
class GTextShowB arity f where #
Class of generic representation types that can be converted to a Builder. The arity type variable indicates which type class is used. indicates GTextShowB ZeroTextShow behavior, and indicates GTextShowB OneTextShow1 behavior. Since: 3.4
Methods
gShowbPrec :: ShowFunsB arity a -> Int -> f a -> Builder #
This is used as the default generic implementation of showbPrec (if the arity is Zero) or liftShowbPrec (if the arity is One).
Instances
| GTextShowB One (V1 :: Type -> Type) # | |
Defined in TextShow.Generic | |
| GTextShowB Zero (V1 :: Type -> Type) # | |
Defined in TextShow.Generic | |
| (Constructor c, GTextShowConB arity f, IsNullary f) => GTextShowB arity (C1 c f) # | |
Defined in TextShow.Generic | |
| (GTextShowB arity f, GTextShowB arity g) => GTextShowB arity (f :+: g) # | |
Defined in TextShow.Generic | |
| GTextShowB arity f => GTextShowB arity (D1 d f) # | |
Defined in TextShow.Generic | |
class GTextShowConB arity f where #
Class of generic representation types for which the ConType has been determined. The arity type variable indicates which type class is used. indicates GTextShowConB ZeroTextShow behavior, and indicates GTextShowConB OneTextShow1 behavior.
Instances
| GTextShowConB One Par1 # | |
Defined in TextShow.Generic | |
| GTextShowConB arity (UWord :: Type -> Type) # | |
Defined in TextShow.Generic | |
| GTextShowConB arity (UInt :: Type -> Type) # | |
Defined in TextShow.Generic | |
| GTextShowConB arity (UFloat :: Type -> Type) # | |
Defined in TextShow.Generic | |
| GTextShowConB arity (UDouble :: Type -> Type) # | |
Defined in TextShow.Generic | |
| GTextShowConB arity (UChar :: Type -> Type) # | |
Defined in TextShow.Generic | |
| GTextShowConB arity (U1 :: Type -> Type) # | |
Defined in TextShow.Generic | |
| TextShow1 f => GTextShowConB One (Rec1 f) # | |
Defined in TextShow.Generic | |
| (GTextShowConB arity f, GTextShowConB arity g) => GTextShowConB arity (f :*: g) # | |
Defined in TextShow.Generic | |
| (Selector s, GTextShowConB arity f) => GTextShowConB arity (S1 s f) # | |
Defined in TextShow.Generic | |
| TextShow c => GTextShowConB arity (K1 i c :: Type -> Type) # | |
Defined in TextShow.Generic | |
| (TextShow1 f, GTextShowConB One g) => GTextShowConB One (f :.: g) # | |
Defined in TextShow.Generic | |
data ShowFunsB arity a where #
A ShowFunsB value either stores nothing (for TextShow) or it stores the two function arguments that show occurrences of the type parameter (for TextShow1). Since: 3.4
Constructors
| NoShowFunsB :: ShowFunsB Zero a | |
| Show1FunsB :: (Int -> a -> Builder) -> ([a] -> Builder) -> ShowFunsB One a |
Strict Text
class GTextShowT arity f where #
Class of generic representation types that can be converted to a Text. The arity type variable indicates which type class is used. indicates GTextShowT ZeroTextShow behavior, and indicates GTextShowT OneTextShow1 behavior. Since: 3.4
Methods
gShowtPrec :: ShowFunsT arity a -> Int -> f a -> Text #
This is used as the default generic implementation of showtPrec (if the arity is Zero) or liftShowtPrec (if the arity is One).
Instances
| GTextShowT One (V1 :: Type -> Type) # | |
Defined in TextShow.Generic | |
| GTextShowT Zero (V1 :: Type -> Type) # | |
Defined in TextShow.Generic | |
| (Constructor c, GTextShowConT arity f, IsNullary f) => GTextShowT arity (C1 c f) # | |
Defined in TextShow.Generic | |
| (GTextShowT arity f, GTextShowT arity g) => GTextShowT arity (f :+: g) # | |
Defined in TextShow.Generic | |
| GTextShowT arity f => GTextShowT arity (D1 d f) # | |
Defined in TextShow.Generic | |
class GTextShowConT arity f where #
Class of generic representation types for which the ConType has been determined. The arity type variable indicates which type class is used. indicates GTextShowConT ZeroTextShow behavior, and indicates GTextShowConT OneTextShow1 behavior.
Instances
| GTextShowConT One Par1 # | |
Defined in TextShow.Generic | |
| GTextShowConT arity (UWord :: Type -> Type) # | |
Defined in TextShow.Generic | |
| GTextShowConT arity (UInt :: Type -> Type) # | |
Defined in TextShow.Generic | |
| GTextShowConT arity (UFloat :: Type -> Type) # | |
Defined in TextShow.Generic | |
| GTextShowConT arity (UDouble :: Type -> Type) # | |
Defined in TextShow.Generic | |
| GTextShowConT arity (UChar :: Type -> Type) # | |
Defined in TextShow.Generic | |
| GTextShowConT arity (U1 :: Type -> Type) # | |
Defined in TextShow.Generic | |
| TextShow1 f => GTextShowConT One (Rec1 f) # | |
Defined in TextShow.Generic | |
| (GTextShowConT arity f, GTextShowConT arity g) => GTextShowConT arity (f :*: g) # | |
Defined in TextShow.Generic | |
| (Selector s, GTextShowConT arity f) => GTextShowConT arity (S1 s f) # | |
Defined in TextShow.Generic | |
| TextShow c => GTextShowConT arity (K1 i c :: Type -> Type) # | |
Defined in TextShow.Generic | |
| (TextShow1 f, GTextShowConT One g) => GTextShowConT One (f :.: g) # | |
Defined in TextShow.Generic | |
data ShowFunsT arity a where #
A ShowFunsT value either stores nothing (for TextShow) or it stores the two function arguments that show occurrences of the type parameter (for TextShow1). Since: 3.4
Constructors
| NoShowFunsT :: ShowFunsT Zero a | |
| Show1FunsT :: (Int -> a -> Text) -> ([a] -> Text) -> ShowFunsT One a |
Lazy Text
class GTextShowTL arity f where #
Class of generic representation types that can be converted to a Text. The arity type variable indicates which type class is used. indicates GTextShowTL ZeroTextShow behavior, and indicates GTextShowTL OneTextShow1 behavior. Since: 3.4
Methods
gShowtlPrec :: ShowFunsTL arity a -> Int -> f a -> Text #
This is used as the default generic implementation of showtlPrec (if the arity is Zero) or liftShowtlPrec (if the arity is One).
Instances
| GTextShowTL One (V1 :: Type -> Type) # | |
Defined in TextShow.Generic Methods gShowtlPrec :: ShowFunsTL One a -> Int -> V1 a -> Text # | |
| GTextShowTL Zero (V1 :: Type -> Type) # | |
Defined in TextShow.Generic Methods gShowtlPrec :: ShowFunsTL Zero a -> Int -> V1 a -> Text # | |
| (Constructor c, GTextShowConTL arity f, IsNullary f) => GTextShowTL arity (C1 c f) # | |
Defined in TextShow.Generic Methods gShowtlPrec :: ShowFunsTL arity a -> Int -> C1 c f a -> Text # | |
| (GTextShowTL arity f, GTextShowTL arity g) => GTextShowTL arity (f :+: g) # | |
Defined in TextShow.Generic Methods gShowtlPrec :: ShowFunsTL arity a -> Int -> (f :+: g) a -> Text # | |
| GTextShowTL arity f => GTextShowTL arity (D1 d f) # | |
Defined in TextShow.Generic Methods gShowtlPrec :: ShowFunsTL arity a -> Int -> D1 d f a -> Text # | |
class GTextShowConTL arity f where #
Class of generic representation types for which the ConType has been determined. The arity type variable indicates which type class is used. indicates GTextShowConTL ZeroTextShow behavior, and indicates GTextShowConTL OneTextShow1 behavior.
Methods
gShowtlPrecCon :: ConType -> ShowFunsTL arity a -> Int -> f a -> Text #
Instances
data ShowFunsTL arity a where #
A ShowFunsTL value either stores nothing (for TextShow) or it stores the two function arguments that show occurrences of the type parameter (for TextShow1). Since: 3.4
Constructors
| NoShowFunsTL :: ShowFunsTL Zero a | |
| Show1FunsTL :: (Int -> a -> Text) -> ([a] -> Text) -> ShowFunsTL One a |
Instances
| Contravariant (ShowFunsTL arity) # | |
Defined in TextShow.Generic Methods contramap :: (a -> b) -> ShowFunsTL arity b -> ShowFunsTL arity a # (>$) :: b -> ShowFunsTL arity b -> ShowFunsTL arity a # | |
Other internals
Class of generic representation types that represent a constructor with zero or more fields.
Instances
| IsNullary (UWord :: k -> Type) # | |
Defined in TextShow.Generic | |
| IsNullary (UInt :: k -> Type) # | |
Defined in TextShow.Generic | |
| IsNullary (UFloat :: k -> Type) # | |
Defined in TextShow.Generic | |
| IsNullary (UDouble :: k -> Type) # | |
Defined in TextShow.Generic | |
| IsNullary (UChar :: k -> Type) # | |
Defined in TextShow.Generic | |
| IsNullary (U1 :: k -> Type) # | |
Defined in TextShow.Generic | |
| IsNullary (Rec1 f :: k -> Type) # | |
Defined in TextShow.Generic | |
| IsNullary (f :*: g :: k -> Type) # | |
Defined in TextShow.Generic | |
| IsNullary f => IsNullary (S1 s f :: k -> Type) # | |
Defined in TextShow.Generic | |
| IsNullary (K1 i c :: k -> Type) # | |
Defined in TextShow.Generic | |
| IsNullary (f :.: g :: k -> Type) # | |
Defined in TextShow.Generic | |
| IsNullary Par1 # | |
Defined in TextShow.Generic | |
Instances
| Eq ConType # | |
| Data ConType # | |
Defined in TextShow.Generic Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ConType -> c ConType # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ConType # toConstr :: ConType -> Constr # dataTypeOf :: ConType -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ConType) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ConType) # gmapT :: (forall b. Data b => b -> b) -> ConType -> ConType # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ConType -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ConType -> r # gmapQ :: (forall d. Data d => d -> u) -> ConType -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> ConType -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ConType -> m ConType # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ConType -> m ConType # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ConType -> m ConType # | |
| Ord ConType # | |
| Read ConType # | |
| Show ConType # | |
| Generic ConType # | |
| Lift ConType # | |
| TextShow ConType # | |
| type Rep ConType # | |
Defined in TextShow.Generic type Rep ConType = D1 (MetaData "ConType" "TextShow.Generic" "text-show-3.7.5-LbA925HAV7Y6CLjRgFEe4N" False) ((C1 (MetaCons "Rec" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Tup" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "Pref" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Inf" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String)))) | |
A type-level indicator that TextShow is being derived generically.
Since: 3.2
Instances
| GTextShowTL Zero (V1 :: Type -> Type) # | |
Defined in TextShow.Generic Methods gShowtlPrec :: ShowFunsTL Zero a -> Int -> V1 a -> Text # | |
| GTextShowT Zero (V1 :: Type -> Type) # | |
Defined in TextShow.Generic | |
| GTextShowB Zero (V1 :: Type -> Type) # | |
Defined in TextShow.Generic | |
A type-level indicator that TextShow1 is being derived generically.
Since: 3.2