typed-encoding-encoding-0.1.0.0: src/Data/TypedEncoding/Pkg/Encoding.hs
-- | This package is a thin layer over the /encoding/ package to create types compatible
-- with /type-encoding/.
--
-- == Naming conventions
--
-- @
-- "enc-pkg/encoding:[encoding]"
-- @
--
-- where @"[encoding]"@ is String name used by the 'Encoding.DynEncoding' in the /encoding/ package.
--
-- Example: @"enc-pkg/encoding:cyrillic"@
--
-- == Warnings / AS-IS type wrapping
--
-- The /encoding/ package can exhibit behavior that may not map well to
-- type level guarantees that /typed-encoding/ tries to enforce, examples of this are documented in
--
-- "Data.TypedEncoding.Pkg.Encoding.Conv"
--
-- In particular, it seems not possible to implement
-- 'Data.TypedEncoding.Common.Class.Validate.Validate' instance with a decent performance.
--
-- For this reason module defining it is annotated with WARNING pragma and is kept separate:
--
-- "Data.TypedEncoding.Pkg.Encoding.Warn.Instances" (/typed-encoding/ Validate instance for String encodings)
module Data.TypedEncoding.Pkg.Encoding (
-- * Type safe versions of encode and decode functions from /encoding/ package
module Data.TypedEncoding.Pkg.Encoding.Conv
-- * /typed-encoding/ class instances for /Encode/, /Decode/, /ToEncString/, and /FromEncString/
, module Data.TypedEncoding.Pkg.Encoding.Instances
) where
import Data.TypedEncoding.Pkg.Encoding.Conv
import Data.TypedEncoding.Pkg.Encoding.Instances