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(int, Lam_tag_info.t, Asttypes.mutable_flag)
  4. | Pfield(int, Melange_compiler_libs.Lambda.field_dbg_info)
  5. | Psetfield(int, Melange_compiler_libs.Lambda.set_field_dbg_info)
  6. | Pduprecord(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(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(int)
  28. | Poffsetref(int)
  29. | Pintoffloat
  30. | Pfloatofint
  31. | Pnegfloat
  32. | Paddfloat
  33. | Psubfloat
  34. | Pmulfloat
  35. | Pdivfloat
  36. | Pintcomp(Lam_compat.integer_comparison)
  37. | Pfloatcomp(Lam_compat.float_comparison)
  38. | Pjscomp(Lam_compat.integer_comparison)
  39. | Pint64comp(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(bool)
  52. | Pbytes_load_32(bool)
  53. | Pbytes_load_64(bool)
  54. | Pbytes_set_16(bool)
  55. | Pbytes_set_32(bool)
  56. | Pbytes_set_64(bool)
  57. | Pmakearray
  58. | Parraylength
  59. | Parrayrefu
  60. | Parraysetu
  61. | Parrayrefs
  62. | Parraysets
  63. | Pisint
  64. | Pis_poly_var_const
  65. | Pisout(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(Lam_compat.compile_time_constant)
  81. | Pbswap16
  82. | Pbbswap(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(Js_raw_info.t)
  88. | Pjs_fn_make(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(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
;
let eq_primitive_approx: t => t => bool;