Module
Data.Variant.Encodings.Flat
- Package
- purescript-variant-encodings
- Repository
- thought2/purescript-variant-encodings
#VariantEncodedFlat Source
data VariantEncodedFlat :: Symbol -> Row Type -> Type
data VariantEncodedFlat t0 t1
#CheckCases Source
class CheckCases :: Symbol -> Row Type -> Row Type -> Constraint
class CheckCases symTag rowVarEnc rowVar | symTag rowVar -> rowVarEnc
Instances
(RowToList rowVar rlVar, CheckCasesRL symTag rlVar rowVarEnc) => CheckCases symTag rowVarEnc rowVar
#CheckCasesRL Source
class CheckCasesRL :: Symbol -> RowList Type -> Row Type -> Constraint
class CheckCasesRL symTag rlVar rowVarEnc | symTag rlVar -> rowVarEnc
Instances
CheckCasesRL symTag Nil ()
(Cons sym a rowVarEncPrev rowVarEnc, IsRecordWithoutKey symTag a, CheckCasesRL symTag rlVar rowVarEncPrev) => CheckCasesRL symTag (Cons sym a rlVar) rowVarEnc
#IsRecordWithoutKey Source
class IsRecordWithoutKey :: forall k. Symbol -> k -> Constraint
class IsRecordWithoutKey sym r where
Members
isRecordWithoutKey :: Proxy sym -> Proxy r
Instances
(Lacks sym r) => IsRecordWithoutKey sym (Record r)
#IsVariantEncodedFlat Source
class IsVariantEncodedFlat :: Symbol -> Row Type -> Row Type -> Constraint
class IsVariantEncodedFlat symTag rowVarEnc rowVar | symTag rowVar -> rowVarEnc where
Members
customizeEncodingFlat :: Variant rowVar -> VariantEncodedFlat symTag rowVarEnc
normalizeEncodingFlat :: VariantEncodedFlat symTag rowVarEnc -> Variant rowVar
Instances
(IsSymbol symTag, CheckCases symTag rowVarEnc rowVar) => IsVariantEncodedFlat symTag rowVarEnc rowVar
#normalizeEncodingFlat' Source
normalizeEncodingFlat' :: forall symTag rowVarEnc rowVar. IsVariantEncodedFlat symTag rowVarEnc rowVar => Proxy (VariantEncodedFlat symTag rowVarEnc) -> Proxy (Variant rowVar)
#customizeEncodingFlat' Source
customizeEncodingFlat' :: forall symTag rowVarEnc rowVar. IsVariantEncodedFlat symTag rowVarEnc rowVar => Proxy symTag -> Proxy (Variant rowVar) -> Proxy (VariantEncodedFlat symTag rowVarEnc)