-- | 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