| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Rel8.Internal.Generic.Table.ADT
Documentation
class GSerializeADT (_Serialize :: Type -> Type -> Exp Constraint) (_Columns :: Type -> Exp HTable) (exprs :: Type -> Type) (rep :: Type -> Type) Source #
Minimal complete definition
Instances
| (htable ~ HLabel "tag" (HIdentity Tag), GSerializeADT' _Serialize _Columns htable exprs rep) => GSerializeADT _Serialize _Columns (M1 D meta exprs) (M1 D meta rep) Source # | |
Defined in Rel8.Internal.Generic.Table.ADT Methods gfromResultADT :: (forall expr a (proxy :: Type -> Type). Eval (_Serialize expr a) => proxy expr -> Eval (_Columns expr) Result -> a) -> GColumnsADT _Columns (M1 D meta exprs) Result -> M1 D meta rep x Source # gtoResultADT :: (forall expr a (proxy :: Type -> Type). Eval (_Serialize expr a) => proxy expr -> a -> Eval (_Columns expr) Result) -> M1 D meta rep x -> GColumnsADT _Columns (M1 D meta exprs) Result Source # | |
type family GColumnsADT (_Columns :: Type -> Exp HTable) (rep :: Type -> Type) :: Context -> Type where ... Source #
Equations
| GColumnsADT _Columns (M1 D _1 rep) = GColumnsADT' _Columns (HLabel "tag" (HIdentity Tag)) rep |
gfromResultADT :: GSerializeADT _Serialize _Columns exprs rep => (forall expr a (proxy :: Type -> Type). Eval (_Serialize expr a) => proxy expr -> Eval (_Columns expr) Result -> a) -> GColumnsADT _Columns exprs Result -> rep x Source #
gtoResultADT :: GSerializeADT _Serialize _Columns exprs rep => (forall expr a (proxy :: Type -> Type). Eval (_Serialize expr a) => proxy expr -> a -> Eval (_Columns expr) Result) -> rep x -> GColumnsADT _Columns exprs Result Source #
class GSerializeADT' (_Serialize :: Type -> Type -> Exp Constraint) (_Columns :: Type -> Exp HTable) (htable :: HTable) (exprs :: Type -> Type) (rep :: Type -> Type) Source #
Minimal complete definition
gfromResultADT', gtoResultADT', extract
Instances
| (htable' ~ GColumnsADT' _Columns htable exprs1, GSerializeADT' _Serialize _Columns htable exprs1 a, GSerializeADT' _Serialize _Columns htable' exprs2 b) => GSerializeADT' _Serialize _Columns htable (exprs1 :+: exprs2) (a :+: b) Source # | |
Defined in Rel8.Internal.Generic.Table.ADT Methods gfromResultADT' :: forall (context :: Type -> Type) x. context ~ Result => (forall expr a0 (proxy :: Type -> Type). Eval (_Serialize expr a0) => proxy expr -> Eval (_Columns expr) context -> a0) -> (htable Result -> Tag) -> GColumnsADT' _Columns htable (exprs1 :+: exprs2) context -> Maybe ((a :+: b) x) gtoResultADT' :: forall (context :: Type -> Type) x. context ~ Result => (forall expr a0 (proxy :: Type -> Type). Eval (_Serialize expr a0) => proxy expr -> a0 -> Eval (_Columns expr) context) -> (Tag -> htable Result) -> Maybe ((a :+: b) x) -> GColumnsADT' _Columns htable (exprs1 :+: exprs2) context extract :: forall (context :: Context). GColumnsADT' _Columns htable (exprs1 :+: exprs2) context -> htable context | |
| (meta ~ 'MetaCons label _fixity _isRecord, KnownSymbol label) => GSerializeADT' _Serialize _Columns _htable (M1 C meta (U1 :: Type -> Type)) (M1 C meta (U1 :: Type -> Type)) Source # | |
Defined in Rel8.Internal.Generic.Table.ADT Methods gfromResultADT' :: forall (context :: Type -> Type) x. context ~ Result => (forall expr a (proxy :: Type -> Type). Eval (_Serialize expr a) => proxy expr -> Eval (_Columns expr) context -> a) -> (_htable Result -> Tag) -> GColumnsADT' _Columns _htable (M1 C meta (U1 :: Type -> Type)) context -> Maybe (M1 C meta (U1 :: Type -> Type) x) gtoResultADT' :: forall (context :: Type -> Type) x. context ~ Result => (forall expr a (proxy :: Type -> Type). Eval (_Serialize expr a) => proxy expr -> a -> Eval (_Columns expr) context) -> (Tag -> _htable Result) -> Maybe (M1 C meta (U1 :: Type -> Type) x) -> GColumnsADT' _Columns _htable (M1 C meta (U1 :: Type -> Type)) context extract :: forall (context :: Context). GColumnsADT' _Columns _htable (M1 C meta (U1 :: Type -> Type)) context -> _htable context | |
| (HTable (GColumns _Columns exprs), GSerialize _Serialize _Columns exprs rep, meta ~ 'MetaCons label _fixity _isRecord, KnownSymbol label, GColumnsADT' _Columns htable (M1 C ('MetaCons label _fixity _isRecord) exprs) ~ HProduct htable (HLabel label (HNullify (GColumns _Columns exprs)))) => GSerializeADT' _Serialize _Columns htable (M1 C meta exprs) (M1 C meta rep) Source # | |
Defined in Rel8.Internal.Generic.Table.ADT Methods gfromResultADT' :: forall (context :: Type -> Type) x. context ~ Result => (forall expr a (proxy :: Type -> Type). Eval (_Serialize expr a) => proxy expr -> Eval (_Columns expr) context -> a) -> (htable Result -> Tag) -> GColumnsADT' _Columns htable (M1 C meta exprs) context -> Maybe (M1 C meta rep x) gtoResultADT' :: forall (context :: Type -> Type) x. context ~ Result => (forall expr a (proxy :: Type -> Type). Eval (_Serialize expr a) => proxy expr -> a -> Eval (_Columns expr) context) -> (Tag -> htable Result) -> Maybe (M1 C meta rep x) -> GColumnsADT' _Columns htable (M1 C meta exprs) context extract :: forall (context :: Context). GColumnsADT' _Columns htable (M1 C meta exprs) context -> htable context | |
type family GColumnsADT' (_Columns :: Type -> Exp HTable) (htable :: HTable) (rep :: Type -> Type) :: Context -> Type where ... Source #
Equations
| GColumnsADT' _Columns htable (a :+: b) = GColumnsADT' _Columns (GColumnsADT' _Columns htable a) b | |
| GColumnsADT' _Columns htable (M1 C ('MetaCons _1 _2 _3) (U1 :: Type -> Type)) = htable | |
| GColumnsADT' _Columns htable (M1 C ('MetaCons label _1 _2) rep) = HProduct htable (HLabel label (HNullify (GColumns _Columns rep))) |