rel8-internal
Safe HaskellNone
LanguageHaskell2010

Rel8.Internal.Table.Serialize

Synopsis

Documentation

class (ToExprs exprs a, a ~ FromExprs exprs) => Serializable exprs a | exprs -> a Source #

Serializable witnesses the one-to-one correspondence between the type sql, which contains SQL expressions, and the type haskell, which contains the Haskell decoding of rows containing sql SQL expressions.

Instances

Instances details
(ToExprs exprs a, a ~ FromExprs exprs) => Serializable exprs a Source # 
Instance details

Defined in Rel8.Internal.Table.Serialize

Sql DBType a => Serializable (Expr a) a Source # 
Instance details

Defined in Rel8.Internal.Table.Serialize

lit :: Serializable exprs a => a -> exprs Source #

Use lit to turn literal Haskell values into expressions. lit is capable of lifting single Exprs to full tables.

parse :: Serializable exprs a => Row a Source #

class Table Expr exprs => ToExprs exprs a Source #

ToExprs exprs a is evidence that the types exprs and a describe essentially the same type, but exprs is in the Expr context, and a is a normal Haskell type.

Instances

Instances details
(Sql DBType a, x ~ Expr a) => ToExprs x a Source # 
Instance details

Defined in Rel8.Internal.Table.Serialize

(Rel8able t', t' ~ Choose (Algebra t) t, x ~ t' Expr, result ~ Result) => ToExprs x (t result) Source # 
Instance details

Defined in Rel8.Internal.Table.Rel8able

(ToExprs exprs1 a, ToExprs exprs2 b, x ~ EitherTable Expr exprs1 exprs2) => ToExprs x (Either a b) Source # 
Instance details

Defined in Rel8.Internal.Table.Either

(ToExprs exprs1 a, ToExprs exprs2 b, x ~ TheseTable Expr exprs1 exprs2) => ToExprs x (These a b) Source # 
Instance details

Defined in Rel8.Internal.Table.These

(ToExprs exprs1 a, ToExprs exprs2 b, x ~ (exprs1, exprs2)) => ToExprs x (a, b) Source # 
Instance details

Defined in Rel8.Internal.Table.Serialize

(ToExprs exprs1 a, ToExprs exprs2 b, ToExprs exprs3 c, x ~ (exprs1, exprs2, exprs3)) => ToExprs x (a, b, c) Source # 
Instance details

Defined in Rel8.Internal.Table.Serialize

(ToExprs exprs1 a, ToExprs exprs2 b, ToExprs exprs3 c, ToExprs exprs4 d, x ~ (exprs1, exprs2, exprs3, exprs4)) => ToExprs x (a, b, c, d) Source # 
Instance details

Defined in Rel8.Internal.Table.Serialize

(ToExprs exprs1 a, ToExprs exprs2 b, ToExprs exprs3 c, ToExprs exprs4 d, ToExprs exprs5 e, x ~ (exprs1, exprs2, exprs3, exprs4, exprs5)) => ToExprs x (a, b, c, d, e) Source # 
Instance details

Defined in Rel8.Internal.Table.Serialize

(ToExprs exprs1 a, ToExprs exprs2 b, ToExprs exprs3 c, ToExprs exprs4 d, ToExprs exprs5 e, ToExprs exprs6 f, x ~ (exprs1, exprs2, exprs3, exprs4, exprs5, exprs6)) => ToExprs x (a, b, c, d, e, f) Source # 
Instance details

Defined in Rel8.Internal.Table.Serialize

(ToExprs exprs1 a, ToExprs exprs2 b, ToExprs exprs3 c, ToExprs exprs4 d, ToExprs exprs5 e, ToExprs exprs6 f, ToExprs exprs7 g, x ~ (exprs1, exprs2, exprs3, exprs4, exprs5, exprs6, exprs7)) => ToExprs x (a, b, c, d, e, f, g) Source # 
Instance details

Defined in Rel8.Internal.Table.Serialize

(Sql DBType a, NotNull a, x ~ NonEmpty a) => ToExprs (Expr x) (NonEmpty a) Source # 
Instance details

Defined in Rel8.Internal.Table.Serialize

(Sql DBType a, NotNull a, x ~ Maybe a) => ToExprs (Expr x) (Maybe a) Source # 
Instance details

Defined in Rel8.Internal.Table.Serialize

(Sql DBType a, x ~ [a]) => ToExprs (Expr x) [a] Source # 
Instance details

Defined in Rel8.Internal.Table.Serialize

(ToExprs exprs a, context ~ Expr) => ToExprs (ListTable context exprs) [a] Source # 
Instance details

Defined in Rel8.Internal.Table.List

(ToExprs exprs a, context ~ Expr) => ToExprs (MaybeTable context exprs) (Maybe a) Source # 
Instance details

Defined in Rel8.Internal.Table.Maybe

(ToExprs exprs a, context ~ Expr) => ToExprs (NonEmptyTable context exprs) (NonEmpty a) Source # 
Instance details

Defined in Rel8.Internal.Table.NonEmpty

(ToExprs exprs a, context ~ Expr) => ToExprs (NullTable context exprs) (Maybe a) Source # 
Instance details

Defined in Rel8.Internal.Table.Null