Module Costlang.Eval_to_vector

include S with type size = Hash_cons_vector.size
type 'a repr
val size_ty : size Ty.t

Runtime type for size

val true_ : bool repr
val false_ : bool repr
val int : int -> size repr
val float : float -> size repr
val (+) : size repr -> size repr -> size repr
val sat_sub : size repr -> size repr -> size repr
val (*) : size repr -> size repr -> size repr
val (/) : size repr -> size repr -> size repr
val max : size repr -> size repr -> size repr
val min : size repr -> size repr -> size repr
val log2 : size repr -> size repr
val sqrt : size repr -> size repr
val free : name:Free_variable.t -> size repr
val lt : size repr -> size repr -> bool repr
val eq : size repr -> size repr -> bool repr
val shift_left : size repr -> int -> size repr
val shift_right : size repr -> int -> size repr
val lam' : name:string -> 'a Ty.t -> ('a repr -> 'b repr) -> ('a -> 'b) repr
val lam : name:string -> (size repr -> 'a repr) -> (size -> 'a) repr

Instantiation of lam' for size repr argument

val app : ('a -> 'b) repr -> 'a repr -> 'b repr
val let_ : name:string -> 'a repr -> ('a repr -> 'b repr) -> 'b repr
val if_ : bool repr -> size repr -> size repr -> size repr
val prj : 'a repr -> 'a Hash_cons_vector.repr