| Safe Haskell | Safe |
|---|---|
| Language | Haskell98 |
Data.GADT.Show
- class GShow t where
- gshows :: GShow t => t a -> ShowS
- gshow :: GShow t => t a -> String
- newtype GReadResult t = GReadResult {
- getGReadResult :: forall b. (forall a. t a -> b) -> b
- type GReadS t = String -> [(GReadResult t, String)]
- class GRead t where
- greads :: GRead t => GReadS t
- gread :: GRead t => String -> (forall a. t a -> b) -> b
Documentation
Show-like class for 1-type-parameter GADTs. GShow t => ... is equivalent to something
like (forall a. Show (t a)) => .... The easiest way to create instances would probably be
to write (or derive) an instance Show (T a), and then simply say:
instance GShow t where gshowsPrec = showsPrec
Minimal complete definition
Methods
gshowsPrec :: Int -> t a -> ShowS Source #
newtype GReadResult t Source #
Constructors
| GReadResult | |
Fields
| |
type GReadS t = String -> [(GReadResult t, String)] Source #
GReadS t is equivalent to ReadS (forall b. (forall a. t a -> b) -> b), which is
in turn equivalent to ReadS (Exists t) (with data Exists t where Exists :: t a -> Exists t)
Read-like class for 1-type-parameter GADTs. Unlike GShow, this one cannot be
mechanically derived from a Read instance because greadsPrec must choose the phantom
type based on the String being parsed.
Minimal complete definition
Methods
greadsPrec :: Int -> GReadS t Source #