Rel_query.Private
Low-level private representations.
For the language extender and backend writer. Subject to change even between minor versions of the library.
The type for unary operations on base values of type 'a
returning values of type 'b
.
Predefined unary operations.
The type for binary operations on base values of type 'a
returning values of type 'b
.
type binop +=
| Arith : arith * 'a Rel.Type.Repr.t -> ('a, 'a) binop
| Cmp : cmp * 'a Rel.Type.Repr.t -> ('a, bool) binop
| And : (bool, bool) binop
| Or : (bool, bool) binop
Predefined binary operations.
type 'a value' = 'a value
See Rel_query.value
.
type 'a value =
| Var : string -> 'a value
| Const : 'a Rel.Type.Repr.t * 'a -> 'a value
| Unop : ('a, 'b) unop * 'a value -> 'b value
| Binop : ('a, 'b) binop * 'a value * 'a value -> 'b value
| Proj : 'b value * ('b, 'a) Rel.Col.t -> 'a value
| Row : 'a -> 'a value
| Tuple : ('a -> 'b) value * 'a value -> 'b value
| Exists : ('b, 'e) bag -> bool value
The type for values of type 'a
. This represents an expression computing a value of type 'a
.
The type for bags. See Bag.t
.
val pp_value : Stdlib.Format.formatter -> 'a value -> unit
pp_value
formats values.
val pp_bag : Stdlib.Format.formatter -> ('a, 'e) bag -> unit
pp_bag
formats bags.