Module Ask.Syntax

Query syntax support.

Open this module to streamline query definition.

module Bool : sig ... end

Booleans.

module Int : sig ... end

Integers.

module Int64 : sig ... end
module Float : sig ... end
module String : sig ... end

Strings.

module Option : sig ... end

Option.

Boolean operators

val (&&) : bool value -> bool value -> bool value

( && ) is Bool.( && ).

val (||) : bool value -> bool value -> bool value

( || ) is Bool.( || ).

val not : bool value -> bool value

not is Bool.not.

Integer operators

val (~-) : int value -> int value

~-x is the negation of x.

val (+) : int value -> int value -> int value

x + y is integer addition.

val (-) : int value -> int value -> int value

x + y is integer subtraction.

val (*) : int value -> int value -> int value

x * y is integer addition.

val (/) : int value -> int value -> int value

x / y is integer division.

Integer operators

val (~-.) : float value -> float value

~-.x is the floating point negation of x.

val (+.) : float value -> float value -> float value

x +. y is floating point addition.

val (-.) : float value -> float value -> float value

x +. y is floating point subtraction.

val (*.) : float value -> float value -> float value

x *. y is floating point addition.

val (/.) : float value -> float value -> float value

x *. y is floating point division.

Row operators

val ($) : ('a -> 'b) value -> 'a value -> 'b value

f $ v applies v to row constructor f.

val (#.) : 'r value -> ('r'a) Col.t -> 'a value

r #. c projects r on column c.

Bag operators

val (++) : ('a'e) Bag.t -> ('a'e) Bag.t -> ('a'e) Bag.t

b0 ++ b1 is the union of bag b0 and bag b1.

Enumeration

val let* : ('a_) Bag.t -> ('a value -> ('b'e) Bag.t) -> ('b'e) Bag.t

let* binds bag values for foreach.