@@ -56,6 +56,72 @@ exception Value of Ty.t
5656
5757(* * {1 Evaluation Functions} *)
5858
59+ module Int : sig
60+ val unop : Ty.Unop .t -> Value .t -> Value .t
61+
62+ val binop : Ty.Binop .t -> Value .t -> Value .t -> Value .t
63+
64+ val relop : Ty.Relop .t -> Value .t -> Value .t -> bool
65+
66+ val cvtop : Ty.Cvtop .t -> Value .t -> Value .t
67+ end
68+
69+ module Real : sig
70+ val unop : Ty.Unop .t -> Value .t -> Value .t
71+
72+ val binop : Ty.Binop .t -> Value .t -> Value .t -> Value .t
73+
74+ val relop : Ty.Relop .t -> Value .t -> Value .t -> bool
75+
76+ val cvtop : Ty.Cvtop .t -> Value .t -> Value .t
77+ end
78+
79+ module Bool : sig
80+ val unop : Ty.Unop .t -> Value .t -> Value .t
81+
82+ val binop : Ty.Binop .t -> Value .t -> Value .t -> Value .t
83+
84+ val triop : Ty.Triop .t -> Value .t -> Value .t -> Value .t -> Value .t
85+
86+ val relop : Ty.Relop .t -> Value .t -> Value .t -> bool
87+
88+ val naryop : Ty.Naryop .t -> Value .t list -> Value .t
89+ end
90+
91+ module Str : sig
92+ val unop : Ty.Unop .t -> Value .t -> Value .t
93+
94+ val binop : Ty.Binop .t -> Value .t -> Value .t -> Value .t
95+
96+ val triop : Ty.Triop .t -> Value .t -> Value .t -> Value .t -> Value .t
97+
98+ val relop : Ty.Relop .t -> Value .t -> Value .t -> bool
99+
100+ val cvtop : Ty.Cvtop .t -> Value .t -> Value .t
101+
102+ val naryop : Ty.Naryop .t -> Value .t list -> Value .t
103+ end
104+
105+ module Lst : sig
106+ val unop : Ty.Unop .t -> Value .t -> Value .t
107+
108+ val binop : Ty.Binop .t -> Value .t -> Value .t -> Value .t
109+
110+ val triop : Ty.Triop .t -> Value .t -> Value .t -> Value .t -> Value .t
111+
112+ val naryop : Ty.Naryop .t -> Value .t list -> Value .t
113+ end
114+
115+ module Bitv : sig
116+ val unop : Ty.Unop .t -> Value .t -> Value .t
117+
118+ val binop : Ty.Binop .t -> Value .t -> Value .t -> Value .t
119+
120+ val relop : Ty.Relop .t -> Value .t -> Value .t -> bool
121+
122+ val cvtop : Ty.Cvtop .t -> Value .t -> Value .t
123+ end
124+
59125(* * [unop ty op v] applies a unary operation [op] on the value [v] of type [ty].
60126 Raises [Type_error] if the value does not match the expected type. *)
61127val unop : Ty .t -> Ty.Unop .t -> Value .t -> Value .t
0 commit comments