Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell98 |
- class StringConv a b where
- toS :: StringConv a b => a -> b
- toSL :: StringConv a b => a -> b
- convS :: (StringConv a b, StringConv b a, Functor f) => (b -> f b) -> a -> f a
- convSL :: (StringConv a b, StringConv b a, Functor f) => (b -> f b) -> a -> f a
- data Leniency
Documentation
class StringConv a b where Source
A type class to standardize string conversions. With this type class you only need to remember one function for converting between any two string variants. This package includes support for String, ByteString, and Text as well as the Lazy and Strict variants where necessary.
This type class lets you control how conversion should behave when failure is possible. Strict mode will cause an exception to be thrown when decoding fails. Lenient mode will attempt to recover, inserting a replacement character for invalid bytes.
StringConv's toS
function is most useful when you have a fully defined
string conversion with a fixed (non-polymorphic) input and output type. Of
course you can still use it when you don't have a fixed type. In that case
you might need to specify a type class constraint such as StringConv
s String
.
StringConv String String | |
StringConv String ByteString | |
StringConv String ByteString | |
StringConv String Text | |
StringConv String Text | |
StringConv ByteString String | |
StringConv ByteString ByteString | |
StringConv ByteString ByteString | |
StringConv ByteString Text | |
StringConv ByteString Text | |
StringConv ByteString String | |
StringConv ByteString ByteString | |
StringConv ByteString ByteString | |
StringConv ByteString Text | |
StringConv ByteString Text | |
StringConv Text String | |
StringConv Text ByteString | |
StringConv Text ByteString | |
StringConv Text Text | |
StringConv Text Text | |
StringConv Text String | |
StringConv Text ByteString | |
StringConv Text ByteString | |
StringConv Text Text | |
StringConv Text Text |
toS :: StringConv a b => a -> b Source
Universal string conversion function for strict decoding.
toSL :: StringConv a b => a -> b Source
Universal string conversion function for lenient decoding.
convS :: (StringConv a b, StringConv b a, Functor f) => (b -> f b) -> a -> f a Source
A lens for toS
to make it slightly more convenient in some scenarios.
convSL :: (StringConv a b, StringConv b a, Functor f) => (b -> f b) -> a -> f a Source
A lens for toSL
to make it slightly more convenient in some scenarios.