Copyright | (C) 2014-2016 Ryan Scott |
---|---|
License | BSD-style (see the file LICENSE) |
Maintainer | Ryan Scott |
Stability | Provisional |
Portability | GHC |
Safe Haskell | None |
Language | Haskell2010 |
Class re-exports
Conversion of values to Text
. Because there are both strict and lazy Text
variants, the TextShow
class deliberately avoids using Text
in its functions.
Instead, showbPrec
, showb
, and showbList
all return Builder
, an
efficient intermediate form that can be converted to either kind of Text
.
Builder
is a Monoid
, so it is useful to use the mappend
(or <>
) function
to combine Builder
s when creating TextShow
instances. As an example:
import Data.Monoid import TextShow data Example = Example Int Int instance TextShow Example where showb (Example i1 i2) = showb i1 <> showbSpace <> showb i2
If you do not want to create TextShow
instances manually, you can alternatively
use the TextShow.TH module to automatically generate default TextShow
instances using Template Haskell, or the TextShow.Generic module to
quickly define TextShow
instances using genericShowbPrec
.
Since: 2
Show a => TextShow (FromStringShow a) | |
TextShow a => TextShow (FromTextShow a) | |
(Show1 f, Show a) => TextShow (FromStringShow1 * f a) | Not available if using |
(TextShow1 f, TextShow a) => TextShow (FromTextShow1 * f a) | |
(Show2 f, Show a, Show b) => TextShow (FromStringShow2 * * f a b) | Not available if using |
(TextShow2 f, TextShow a, TextShow b) => TextShow (FromTextShow2 * * f a b) | |
Lifting of the TextShow
class to unary type constructors.
Since: 2
TextShow1 FromStringShow | |
TextShow1 FromTextShow | |
Show1 f => TextShow1 (FromStringShow1 * f) | Not available if using |
TextShow1 f => TextShow1 (FromTextShow1 * f) | |
(Show2 f, Show a) => TextShow1 (FromStringShow2 * * f a) | Not available if using |
(TextShow2 f, TextShow a) => TextShow1 (FromTextShow2 * * f a) | |
Lifting of the TextShow
class to binary type constructors.
Since: 2
Show2 f => TextShow2 (FromStringShow2 * * f) | Not available if using |
TextShow2 f => TextShow2 (FromTextShow2 * * f) | |
Module re-export
module TextShow