Module Lam_primitive

type ident = Ident.t
type record_representation =
  1. | Record_regular
  2. | Record_inlined of {
    1. tag : int;
    2. name : string;
    3. num_nonconsts : int;
    }
  3. | Record_extension
type t =
  1. | Pbytes_to_string
  2. | Pbytes_of_string
  3. | Pmakeblock of int * Lam_tag_info.t * Asttypes.mutable_flag
  4. | Pfield of int * Melange_compiler_libs.Lambda.field_dbg_info
  5. | Psetfield of int * Melange_compiler_libs.Lambda.set_field_dbg_info
  6. | Pduprecord of record_representation
  7. | Plazyforce
  8. | Pccall of {
    1. prim_name : string;
    }
  9. | Pjs_call of {
    1. prim_name : string;
    2. arg_types : External_arg_spec.params;
    3. ffi : External_ffi_types.external_spec;
    }
  10. | Pjs_object_create of External_arg_spec.obj_params
  11. | Praise
  12. | Psequand
  13. | Psequor
  14. | Pnot
  15. | Pnegint
  16. | Paddint
  17. | Psubint
  18. | Pmulint
  19. | Pdivint
  20. | Pmodint
  21. | Pandint
  22. | Porint
  23. | Pxorint
  24. | Plslint
  25. | Plsrint
  26. | Pasrint
  27. | Poffsetint of int
  28. | Poffsetref of int
  29. | Pintoffloat
  30. | Pfloatofint
  31. | Pnegfloat
  32. | Paddfloat
  33. | Psubfloat
  34. | Pmulfloat
  35. | Pdivfloat
  36. | Pintcomp of Lam_compat.integer_comparison
  37. | Pfloatcomp of Lam_compat.float_comparison
  38. | Pjscomp of Lam_compat.integer_comparison
  39. | Pint64comp of Lam_compat.integer_comparison
  40. | Pjs_apply
  41. | Pjs_runtime_apply
  42. | Pstringlength
  43. | Pstringrefu
  44. | Pstringrefs
  45. | Pstringadd
  46. | Pbyteslength
  47. | Pbytesrefu
  48. | Pbytessetu
  49. | Pbytesrefs
  50. | Pbytessets
  51. | Pbytes_load_16 of bool
  52. | Pbytes_load_32 of bool
  53. | Pbytes_load_64 of bool
  54. | Pbytes_set_16 of bool
  55. | Pbytes_set_32 of bool
  56. | Pbytes_set_64 of bool
  57. | Pmakearray
  58. | Parraylength
  59. | Parrayrefu
  60. | Parraysetu
  61. | Parrayrefs
  62. | Parraysets
  63. | Pisint
  64. | Pis_poly_var_const
  65. | Pisout of int
  66. | Pint64ofint
  67. | Pintofint64
  68. | Pnegint64
  69. | Paddint64
  70. | Psubint64
  71. | Pmulint64
  72. | Pdivint64
  73. | Pmodint64
  74. | Pandint64
  75. | Porint64
  76. | Pxorint64
  77. | Plslint64
  78. | Plsrint64
  79. | Pasrint64
  80. | Pctconst of Lam_compat.compile_time_constant
  81. | Pbswap16
  82. | Pbbswap of Lam_compat.boxed_integer
  83. | Pdebugger
  84. | Pjs_unsafe_downgrade of {
    1. name : string;
    2. setter : bool;
    3. loc : Melange_compiler_libs.Location.t;
    }
  85. | Pinit_mod
  86. | Pupdate_mod
  87. | Praw_js_code of Js_raw_info.t
  88. | Pjs_fn_make of int
  89. | Pvoid_run
  90. | Pfull_apply
  91. | Pjs_fn_method
  92. | Pundefined_to_opt
  93. | Pnull_to_opt
  94. | Pnull_undefined_to_opt
  95. | Pis_null
  96. | Pis_undefined
  97. | Pis_null_undefined
  98. | Pjs_typeof
  99. | Pjs_function_length
  100. | Pcaml_obj_length
  101. | Pwrap_exn
  102. | Pcreate_extension of string
  103. | Pis_not_none
  104. | Pval_from_option
  105. | Pval_from_option_not_nest
  106. | Psome
  107. | Psome_not_nest
  108. | Pfield_computed
  109. | Psetfield_computed
val eq_primitive_approx : t -> t -> bool