123456789101112131415161718192021222324252627282930313233343536373839letequal_int(x:int)y=x=yletequal_string(x:string)y=x=yletequal_bool(x:bool)y=x=yletequal_float(x:float)y=x=yletequal_int64(x:int64)y=x=yletequal_optionfxy=matchxwith|None->y=None|Somex->beginmatchywith|None->false|Somey->fxyendletcompare_string(x:string)y=comparexyletcompare_optioncmpxy=matchxwith|None->(matchywith|None->0|Some_->-1)|Somex->(matchywith|None->1|Somey->cmpxy)letcompare_bool(x:bool)(y:bool)=comparexy(* TODO : turn it into externals *)modulePpx_compare_lib=structexternalpolymorphic_compare:'a->'a->int="%compare"externalphys_equal:'a->'a->bool="%eq"external(&&):bool->bool->bool="%sequand"externalpolymorphic_equal:'a->'a->bool="%equal"end