| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Data.TypedEncoding.Internal.Types.SomeEnc
Description
Module defines SomeEnc - existentially quantified version of Enc
and basic combinators
Synopsis
- data SomeEnc conf str where
- MkSomeEnc :: SymbolList xs => Enc xs conf str -> SomeEnc conf str
- withSomeEnc :: SomeEnc conf str -> (forall xs. SymbolList xs => Enc xs conf str -> r) -> r
- toSome :: SymbolList xs => Enc xs conf str -> SomeEnc conf str
- someToChecked :: SomeEnc conf str -> CheckedEnc conf str
- checkedToSome :: CheckedEnc conf str -> SomeEnc conf str
Documentation
>>>:set -XOverloadedStrings -XMultiParamTypeClasses -XDataKinds -XAllowAmbiguousTypes>>>import qualified Data.Text as T
data SomeEnc conf str where Source #
Existentially quantified quanitified Enc
effectively isomorphic to CheckedEnc
Constructors
| MkSomeEnc :: SymbolList xs => Enc xs conf str -> SomeEnc conf str |
withSomeEnc :: SomeEnc conf str -> (forall xs. SymbolList xs => Enc xs conf str -> r) -> r Source #
someToChecked :: SomeEnc conf str -> CheckedEnc conf str Source #
>>>let enctest = unsafeSetPayload () "hello" :: Enc '["TEST"] () T.Text>>>someToChecked . MkSomeEnc $ enctestMkCheckedEnc ["TEST"] () "hello"
checkedToSome :: CheckedEnc conf str -> SomeEnc conf str Source #
>>>let tst = unsafeCheckedEnc ["TEST"] () "test">>>displ $ checkedToSome tst"Some (MkEnc '[TEST] () test)"