@@ -26,6 +26,15 @@ type bigint_data = {
2626 bigint_rep: string ,
2727};
2828
29+ [@ deriving (sexp, yojson)]
30+ type rational_data = {
31+ rational_negative: bool ,
32+ rational_num_limbs: array (int64 ),
33+ rational_den_limbs: array (int64 ),
34+ rational_num_rep: string ,
35+ rational_den_rep: string ,
36+ };
37+
2938[@ deriving (sexp, yojson)]
3039type constant =
3140 | Const_number (number_type )
@@ -43,20 +52,15 @@ type constant =
4352 | Const_wasmf32 (float )
4453 | Const_wasmf64 (float )
4554 | Const_bigint (bigint_data )
55+ | Const_rational (rational_data )
4656 | Const_bool (bool )
4757 | Const_void
4858
4959[@ deriving (sexp, yojson)]
5060and number_type =
5161 | Const_number_int (int64 )
5262 | Const_number_float (float )
53- | Const_number_rational ({
54- rational_negative: bool ,
55- rational_num_limbs: array (int64 ),
56- rational_den_limbs: array (int64 ),
57- rational_num_rep: string ,
58- rational_den_rep: string ,
59- })
63+ | Const_number_rational (rational_data )
6064 | Const_number_bigint (bigint_data );
6165
6266/** Marker for exported/nonexported let bindings */
0 commit comments