@tellahq/rescript 10.1.4-republish-2 → 10.1.4-republish-3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (616) hide show
  1. package/darwin/bsb_helper.exe +0 -0
  2. package/darwin/bsc.exe +0 -0
  3. package/darwin/ninja.exe +0 -0
  4. package/darwin/rescript.exe +0 -0
  5. package/darwinarm64/bsb_helper.exe +0 -0
  6. package/darwinarm64/bsc.exe +0 -0
  7. package/darwinarm64/ninja.exe +0 -0
  8. package/darwinarm64/rescript.exe +0 -0
  9. package/lib/ocaml/arg.cmi +0 -0
  10. package/lib/ocaml/arg.cmt +0 -0
  11. package/lib/ocaml/arg.cmti +0 -0
  12. package/lib/ocaml/arg.ml +359 -0
  13. package/lib/ocaml/arg.mli +185 -0
  14. package/lib/ocaml/array.cmi +0 -0
  15. package/lib/ocaml/array.cmt +0 -0
  16. package/lib/ocaml/array.cmti +0 -0
  17. package/lib/ocaml/array.ml +307 -0
  18. package/lib/ocaml/array.mli +275 -0
  19. package/lib/ocaml/arrayLabels.cmi +0 -0
  20. package/lib/ocaml/arrayLabels.cmt +0 -0
  21. package/lib/ocaml/arrayLabels.cmti +0 -0
  22. package/lib/ocaml/arrayLabels.ml +307 -0
  23. package/lib/ocaml/arrayLabels.mli +276 -0
  24. package/lib/ocaml/belt.cmi +0 -0
  25. package/lib/ocaml/belt.cmt +0 -0
  26. package/lib/ocaml/belt.ml +352 -0
  27. package/lib/ocaml/belt_Array.cmi +0 -0
  28. package/lib/ocaml/belt_Array.cmt +0 -0
  29. package/lib/ocaml/belt_Array.cmti +0 -0
  30. package/lib/ocaml/belt_Array.ml +525 -0
  31. package/lib/ocaml/belt_Array.mli +707 -0
  32. package/lib/ocaml/belt_Float.cmi +0 -0
  33. package/lib/ocaml/belt_Float.cmt +0 -0
  34. package/lib/ocaml/belt_Float.cmti +0 -0
  35. package/lib/ocaml/belt_Float.ml +50 -0
  36. package/lib/ocaml/belt_Float.mli +106 -0
  37. package/lib/ocaml/belt_HashMap.cmi +0 -0
  38. package/lib/ocaml/belt_HashMap.cmt +0 -0
  39. package/lib/ocaml/belt_HashMap.cmti +0 -0
  40. package/lib/ocaml/belt_HashMap.ml +226 -0
  41. package/lib/ocaml/belt_HashMap.mli +436 -0
  42. package/lib/ocaml/belt_HashMapInt.cmi +0 -0
  43. package/lib/ocaml/belt_HashMapInt.cmt +0 -0
  44. package/lib/ocaml/belt_HashMapInt.cmti +0 -0
  45. package/lib/ocaml/belt_HashMapInt.ml +206 -0
  46. package/lib/ocaml/belt_HashMapInt.mli +50 -0
  47. package/lib/ocaml/belt_HashMapString.cmi +0 -0
  48. package/lib/ocaml/belt_HashMapString.cmt +0 -0
  49. package/lib/ocaml/belt_HashMapString.cmti +0 -0
  50. package/lib/ocaml/belt_HashMapString.ml +206 -0
  51. package/lib/ocaml/belt_HashMapString.mli +50 -0
  52. package/lib/ocaml/belt_HashSet.cmi +0 -0
  53. package/lib/ocaml/belt_HashSet.cmt +0 -0
  54. package/lib/ocaml/belt_HashSet.cmti +0 -0
  55. package/lib/ocaml/belt_HashSet.ml +196 -0
  56. package/lib/ocaml/belt_HashSet.mli +125 -0
  57. package/lib/ocaml/belt_HashSetInt.cmi +0 -0
  58. package/lib/ocaml/belt_HashSetInt.cmt +0 -0
  59. package/lib/ocaml/belt_HashSetInt.cmti +0 -0
  60. package/lib/ocaml/belt_HashSetInt.ml +155 -0
  61. package/lib/ocaml/belt_HashSetInt.mli +74 -0
  62. package/lib/ocaml/belt_HashSetString.cmi +0 -0
  63. package/lib/ocaml/belt_HashSetString.cmt +0 -0
  64. package/lib/ocaml/belt_HashSetString.cmti +0 -0
  65. package/lib/ocaml/belt_HashSetString.ml +156 -0
  66. package/lib/ocaml/belt_HashSetString.mli +74 -0
  67. package/lib/ocaml/belt_Id.cmi +0 -0
  68. package/lib/ocaml/belt_Id.cmt +0 -0
  69. package/lib/ocaml/belt_Id.cmti +0 -0
  70. package/lib/ocaml/belt_Id.ml +133 -0
  71. package/lib/ocaml/belt_Id.mli +171 -0
  72. package/lib/ocaml/belt_Int.cmi +0 -0
  73. package/lib/ocaml/belt_Int.cmt +0 -0
  74. package/lib/ocaml/belt_Int.cmti +0 -0
  75. package/lib/ocaml/belt_Int.ml +50 -0
  76. package/lib/ocaml/belt_Int.mli +103 -0
  77. package/lib/ocaml/belt_List.cmi +0 -0
  78. package/lib/ocaml/belt_List.cmt +0 -0
  79. package/lib/ocaml/belt_List.cmti +0 -0
  80. package/lib/ocaml/belt_List.ml +803 -0
  81. package/lib/ocaml/belt_List.mli +844 -0
  82. package/lib/ocaml/belt_Map.cmi +0 -0
  83. package/lib/ocaml/belt_Map.cmt +0 -0
  84. package/lib/ocaml/belt_Map.cmti +0 -0
  85. package/lib/ocaml/belt_Map.ml +170 -0
  86. package/lib/ocaml/belt_Map.mli +496 -0
  87. package/lib/ocaml/belt_MapDict.cmi +0 -0
  88. package/lib/ocaml/belt_MapDict.cmt +0 -0
  89. package/lib/ocaml/belt_MapDict.cmti +0 -0
  90. package/lib/ocaml/belt_MapDict.ml +278 -0
  91. package/lib/ocaml/belt_MapDict.mli +268 -0
  92. package/lib/ocaml/belt_MapInt.cmi +0 -0
  93. package/lib/ocaml/belt_MapInt.cmt +0 -0
  94. package/lib/ocaml/belt_MapInt.cmti +0 -0
  95. package/lib/ocaml/belt_MapInt.ml +169 -0
  96. package/lib/ocaml/belt_MapInt.mli +187 -0
  97. package/lib/ocaml/belt_MapString.cmi +0 -0
  98. package/lib/ocaml/belt_MapString.cmt +0 -0
  99. package/lib/ocaml/belt_MapString.cmti +0 -0
  100. package/lib/ocaml/belt_MapString.ml +169 -0
  101. package/lib/ocaml/belt_MapString.mli +187 -0
  102. package/lib/ocaml/belt_MutableMap.cmi +0 -0
  103. package/lib/ocaml/belt_MutableMap.cmt +0 -0
  104. package/lib/ocaml/belt_MutableMap.cmti +0 -0
  105. package/lib/ocaml/belt_MutableMap.ml +241 -0
  106. package/lib/ocaml/belt_MutableMap.mli +145 -0
  107. package/lib/ocaml/belt_MutableMapInt.cmi +0 -0
  108. package/lib/ocaml/belt_MutableMapInt.cmt +0 -0
  109. package/lib/ocaml/belt_MutableMapInt.cmti +0 -0
  110. package/lib/ocaml/belt_MutableMapInt.ml +172 -0
  111. package/lib/ocaml/belt_MutableMapInt.mli +135 -0
  112. package/lib/ocaml/belt_MutableMapString.cmi +0 -0
  113. package/lib/ocaml/belt_MutableMapString.cmt +0 -0
  114. package/lib/ocaml/belt_MutableMapString.cmti +0 -0
  115. package/lib/ocaml/belt_MutableMapString.ml +172 -0
  116. package/lib/ocaml/belt_MutableMapString.mli +135 -0
  117. package/lib/ocaml/belt_MutableQueue.cmi +0 -0
  118. package/lib/ocaml/belt_MutableQueue.cmt +0 -0
  119. package/lib/ocaml/belt_MutableQueue.cmti +0 -0
  120. package/lib/ocaml/belt_MutableQueue.ml +222 -0
  121. package/lib/ocaml/belt_MutableQueue.mli +116 -0
  122. package/lib/ocaml/belt_MutableSet.cmi +0 -0
  123. package/lib/ocaml/belt_MutableSet.cmt +0 -0
  124. package/lib/ocaml/belt_MutableSet.cmti +0 -0
  125. package/lib/ocaml/belt_MutableSet.ml +371 -0
  126. package/lib/ocaml/belt_MutableSet.mli +617 -0
  127. package/lib/ocaml/belt_MutableSetInt.cmi +0 -0
  128. package/lib/ocaml/belt_MutableSetInt.cmt +0 -0
  129. package/lib/ocaml/belt_MutableSetInt.cmti +0 -0
  130. package/lib/ocaml/belt_MutableSetInt.ml +342 -0
  131. package/lib/ocaml/belt_MutableSetInt.mli +124 -0
  132. package/lib/ocaml/belt_MutableSetString.cmi +0 -0
  133. package/lib/ocaml/belt_MutableSetString.cmt +0 -0
  134. package/lib/ocaml/belt_MutableSetString.cmti +0 -0
  135. package/lib/ocaml/belt_MutableSetString.ml +342 -0
  136. package/lib/ocaml/belt_MutableSetString.mli +124 -0
  137. package/lib/ocaml/belt_MutableStack.cmi +0 -0
  138. package/lib/ocaml/belt_MutableStack.cmt +0 -0
  139. package/lib/ocaml/belt_MutableStack.cmti +0 -0
  140. package/lib/ocaml/belt_MutableStack.ml +106 -0
  141. package/lib/ocaml/belt_MutableStack.mli +63 -0
  142. package/lib/ocaml/belt_Option.cmi +0 -0
  143. package/lib/ocaml/belt_Option.cmt +0 -0
  144. package/lib/ocaml/belt_Option.cmti +0 -0
  145. package/lib/ocaml/belt_Option.ml +93 -0
  146. package/lib/ocaml/belt_Option.mli +270 -0
  147. package/lib/ocaml/belt_Range.cmi +0 -0
  148. package/lib/ocaml/belt_Range.cmt +0 -0
  149. package/lib/ocaml/belt_Range.cmti +0 -0
  150. package/lib/ocaml/belt_Range.ml +76 -0
  151. package/lib/ocaml/belt_Range.mli +114 -0
  152. package/lib/ocaml/belt_Result.cmi +0 -0
  153. package/lib/ocaml/belt_Result.cmt +0 -0
  154. package/lib/ocaml/belt_Result.cmti +0 -0
  155. package/lib/ocaml/belt_Result.ml +75 -0
  156. package/lib/ocaml/belt_Result.mli +205 -0
  157. package/lib/ocaml/belt_Set.cmi +0 -0
  158. package/lib/ocaml/belt_Set.cmt +0 -0
  159. package/lib/ocaml/belt_Set.cmti +0 -0
  160. package/lib/ocaml/belt_Set.cppo.ml +205 -0
  161. package/lib/ocaml/belt_Set.cppo.mli +153 -0
  162. package/lib/ocaml/belt_Set.ml +164 -0
  163. package/lib/ocaml/belt_Set.mli +523 -0
  164. package/lib/ocaml/belt_SetDict.cmi +0 -0
  165. package/lib/ocaml/belt_SetDict.cmt +0 -0
  166. package/lib/ocaml/belt_SetDict.cmti +0 -0
  167. package/lib/ocaml/belt_SetDict.ml +237 -0
  168. package/lib/ocaml/belt_SetDict.mli +567 -0
  169. package/lib/ocaml/belt_SetInt.cmi +0 -0
  170. package/lib/ocaml/belt_SetInt.cmt +0 -0
  171. package/lib/ocaml/belt_SetInt.cmti +0 -0
  172. package/lib/ocaml/belt_SetInt.ml +201 -0
  173. package/lib/ocaml/belt_SetInt.mli +151 -0
  174. package/lib/ocaml/belt_SetString.cmi +0 -0
  175. package/lib/ocaml/belt_SetString.cmt +0 -0
  176. package/lib/ocaml/belt_SetString.cmti +0 -0
  177. package/lib/ocaml/belt_SetString.ml +201 -0
  178. package/lib/ocaml/belt_SetString.mli +151 -0
  179. package/lib/ocaml/belt_SortArray.cmi +0 -0
  180. package/lib/ocaml/belt_SortArray.cmt +0 -0
  181. package/lib/ocaml/belt_SortArray.cmti +0 -0
  182. package/lib/ocaml/belt_SortArray.ml +322 -0
  183. package/lib/ocaml/belt_SortArray.mli +146 -0
  184. package/lib/ocaml/belt_SortArrayInt.cmi +0 -0
  185. package/lib/ocaml/belt_SortArrayInt.cmt +0 -0
  186. package/lib/ocaml/belt_SortArrayInt.cmti +0 -0
  187. package/lib/ocaml/belt_SortArrayInt.ml +263 -0
  188. package/lib/ocaml/belt_SortArrayInt.mli +93 -0
  189. package/lib/ocaml/belt_SortArrayString.cmi +0 -0
  190. package/lib/ocaml/belt_SortArrayString.cmt +0 -0
  191. package/lib/ocaml/belt_SortArrayString.cmti +0 -0
  192. package/lib/ocaml/belt_SortArrayString.ml +263 -0
  193. package/lib/ocaml/belt_SortArrayString.mli +93 -0
  194. package/lib/ocaml/belt_internalAVLset.cmt +0 -0
  195. package/lib/ocaml/belt_internalAVLset.cmti +0 -0
  196. package/lib/ocaml/belt_internalAVLset.ml +665 -0
  197. package/lib/ocaml/belt_internalAVLset.mli +124 -0
  198. package/lib/ocaml/belt_internalAVLtree.cmt +0 -0
  199. package/lib/ocaml/belt_internalAVLtree.cmti +0 -0
  200. package/lib/ocaml/belt_internalAVLtree.ml +762 -0
  201. package/lib/ocaml/belt_internalAVLtree.mli +215 -0
  202. package/lib/ocaml/belt_internalBuckets.cmt +0 -0
  203. package/lib/ocaml/belt_internalBuckets.cmti +0 -0
  204. package/lib/ocaml/belt_internalBuckets.ml +218 -0
  205. package/lib/ocaml/belt_internalBuckets.mli +57 -0
  206. package/lib/ocaml/belt_internalBucketsType.cmt +0 -0
  207. package/lib/ocaml/belt_internalBucketsType.cmti +0 -0
  208. package/lib/ocaml/belt_internalBucketsType.ml +59 -0
  209. package/lib/ocaml/belt_internalBucketsType.mli +46 -0
  210. package/lib/ocaml/belt_internalMapInt.cmt +0 -0
  211. package/lib/ocaml/belt_internalMapInt.ml +227 -0
  212. package/lib/ocaml/belt_internalMapString.cmt +0 -0
  213. package/lib/ocaml/belt_internalMapString.ml +227 -0
  214. package/lib/ocaml/belt_internalSetBuckets.cmt +0 -0
  215. package/lib/ocaml/belt_internalSetBuckets.cmti +0 -0
  216. package/lib/ocaml/belt_internalSetBuckets.ml +157 -0
  217. package/lib/ocaml/belt_internalSetBuckets.mli +47 -0
  218. package/lib/ocaml/belt_internalSetInt.cmt +0 -0
  219. package/lib/ocaml/belt_internalSetInt.ml +129 -0
  220. package/lib/ocaml/belt_internalSetString.cmt +0 -0
  221. package/lib/ocaml/belt_internalSetString.ml +129 -0
  222. package/lib/ocaml/belt_internals.cmti +0 -0
  223. package/lib/ocaml/belt_internals.mli +79 -0
  224. package/lib/ocaml/buffer.cmi +0 -0
  225. package/lib/ocaml/buffer.cmt +0 -0
  226. package/lib/ocaml/buffer.cmti +0 -0
  227. package/lib/ocaml/buffer.ml +250 -0
  228. package/lib/ocaml/buffer.mli +149 -0
  229. package/lib/ocaml/bytes.cmi +0 -0
  230. package/lib/ocaml/bytes.cmt +0 -0
  231. package/lib/ocaml/bytes.cmti +0 -0
  232. package/lib/ocaml/bytes.ml +431 -0
  233. package/lib/ocaml/bytes.mli +430 -0
  234. package/lib/ocaml/bytesLabels.cmi +0 -0
  235. package/lib/ocaml/bytesLabels.cmt +0 -0
  236. package/lib/ocaml/bytesLabels.cmti +0 -0
  237. package/lib/ocaml/bytesLabels.ml +428 -0
  238. package/lib/ocaml/bytesLabels.mli +276 -0
  239. package/lib/ocaml/callback.cmi +0 -0
  240. package/lib/ocaml/callback.cmt +0 -0
  241. package/lib/ocaml/callback.cmti +0 -0
  242. package/lib/ocaml/callback.ml +20 -0
  243. package/lib/ocaml/callback.mli +34 -0
  244. package/lib/ocaml/camlinternalLazy.cmi +0 -0
  245. package/lib/ocaml/camlinternalLazy.cmt +0 -0
  246. package/lib/ocaml/camlinternalLazy.cmti +0 -0
  247. package/lib/ocaml/camlinternalLazy.ml +89 -0
  248. package/lib/ocaml/camlinternalLazy.mli +27 -0
  249. package/lib/ocaml/camlinternalMod.cmi +0 -0
  250. package/lib/ocaml/camlinternalMod.cmt +0 -0
  251. package/lib/ocaml/camlinternalMod.cmti +0 -0
  252. package/lib/ocaml/camlinternalMod.ml +21 -0
  253. package/lib/ocaml/camlinternalMod.mli +25 -0
  254. package/lib/ocaml/char.cmi +0 -0
  255. package/lib/ocaml/char.cmt +0 -0
  256. package/lib/ocaml/char.cmti +0 -0
  257. package/lib/ocaml/char.ml +76 -0
  258. package/lib/ocaml/char.mli +72 -0
  259. package/lib/ocaml/complex.cmi +0 -0
  260. package/lib/ocaml/complex.cmt +0 -0
  261. package/lib/ocaml/complex.cmti +0 -0
  262. package/lib/ocaml/complex.ml +87 -0
  263. package/lib/ocaml/complex.mli +86 -0
  264. package/lib/ocaml/digest.cmi +0 -0
  265. package/lib/ocaml/digest.cmt +0 -0
  266. package/lib/ocaml/digest.cmti +0 -0
  267. package/lib/ocaml/digest.ml +66 -0
  268. package/lib/ocaml/digest.mli +68 -0
  269. package/lib/ocaml/dom.cmi +0 -0
  270. package/lib/ocaml/dom.cmt +0 -0
  271. package/lib/ocaml/dom.ml +296 -0
  272. package/lib/ocaml/dom_storage.cmi +0 -0
  273. package/lib/ocaml/dom_storage.cmt +0 -0
  274. package/lib/ocaml/dom_storage.ml +22 -0
  275. package/lib/ocaml/dom_storage2.cmi +0 -0
  276. package/lib/ocaml/dom_storage2.cmt +0 -0
  277. package/lib/ocaml/dom_storage2.ml +11 -0
  278. package/lib/ocaml/filename.cmi +0 -0
  279. package/lib/ocaml/filename.cmt +0 -0
  280. package/lib/ocaml/filename.cmti +0 -0
  281. package/lib/ocaml/filename.ml +233 -0
  282. package/lib/ocaml/filename.mli +134 -0
  283. package/lib/ocaml/genlex.cmi +0 -0
  284. package/lib/ocaml/genlex.cmt +0 -0
  285. package/lib/ocaml/genlex.cmti +0 -0
  286. package/lib/ocaml/genlex.ml +201 -0
  287. package/lib/ocaml/genlex.mli +73 -0
  288. package/lib/ocaml/hashmap.cppo.ml +214 -0
  289. package/lib/ocaml/hashmap.cppo.mli +54 -0
  290. package/lib/ocaml/hashset.cppo.ml +165 -0
  291. package/lib/ocaml/hashset.cppo.mli +77 -0
  292. package/lib/ocaml/hashtbl.cmi +0 -0
  293. package/lib/ocaml/hashtbl.cmt +0 -0
  294. package/lib/ocaml/hashtbl.cmti +0 -0
  295. package/lib/ocaml/hashtbl.ml +541 -0
  296. package/lib/ocaml/hashtbl.mli +411 -0
  297. package/lib/ocaml/hashtblLabels.cmi +0 -0
  298. package/lib/ocaml/hashtblLabels.cmt +0 -0
  299. package/lib/ocaml/hashtblLabels.ml +130 -0
  300. package/lib/ocaml/int32.cmi +0 -0
  301. package/lib/ocaml/int32.cmt +0 -0
  302. package/lib/ocaml/int32.cmti +0 -0
  303. package/lib/ocaml/int32.ml +64 -0
  304. package/lib/ocaml/int32.mli +186 -0
  305. package/lib/ocaml/int64.cmi +0 -0
  306. package/lib/ocaml/int64.cmt +0 -0
  307. package/lib/ocaml/int64.cmti +0 -0
  308. package/lib/ocaml/int64.ml +72 -0
  309. package/lib/ocaml/int64.mli +197 -0
  310. package/lib/ocaml/internal_map.cppo.ml +230 -0
  311. package/lib/ocaml/internal_set.cppo.ml +134 -0
  312. package/lib/ocaml/js.cmi +0 -0
  313. package/lib/ocaml/js.cmt +0 -0
  314. package/lib/ocaml/js.ml +316 -0
  315. package/lib/ocaml/js_OO.cmi +0 -0
  316. package/lib/ocaml/js_OO.cmt +0 -0
  317. package/lib/ocaml/js_OO.ml +180 -0
  318. package/lib/ocaml/js_array.cmi +0 -0
  319. package/lib/ocaml/js_array.cmt +0 -0
  320. package/lib/ocaml/js_array.ml +970 -0
  321. package/lib/ocaml/js_array2.cmi +0 -0
  322. package/lib/ocaml/js_array2.cmt +0 -0
  323. package/lib/ocaml/js_array2.ml +1065 -0
  324. package/lib/ocaml/js_bigint.cmi +0 -0
  325. package/lib/ocaml/js_bigint.cmt +0 -0
  326. package/lib/ocaml/js_bigint.ml +3 -0
  327. package/lib/ocaml/js_cast.cmi +0 -0
  328. package/lib/ocaml/js_cast.cmt +0 -0
  329. package/lib/ocaml/js_cast.cmti +0 -0
  330. package/lib/ocaml/js_cast.ml +29 -0
  331. package/lib/ocaml/js_cast.mli +45 -0
  332. package/lib/ocaml/js_console.cmi +0 -0
  333. package/lib/ocaml/js_console.cmt +0 -0
  334. package/lib/ocaml/js_console.ml +51 -0
  335. package/lib/ocaml/js_date.cmi +0 -0
  336. package/lib/ocaml/js_date.cmt +0 -0
  337. package/lib/ocaml/js_date.ml +1263 -0
  338. package/lib/ocaml/js_dict.cmi +0 -0
  339. package/lib/ocaml/js_dict.cmt +0 -0
  340. package/lib/ocaml/js_dict.cmti +0 -0
  341. package/lib/ocaml/js_dict.ml +114 -0
  342. package/lib/ocaml/js_dict.mli +152 -0
  343. package/lib/ocaml/js_exn.cmi +0 -0
  344. package/lib/ocaml/js_exn.cmt +0 -0
  345. package/lib/ocaml/js_exn.cmti +0 -0
  346. package/lib/ocaml/js_exn.ml +102 -0
  347. package/lib/ocaml/js_exn.mli +79 -0
  348. package/lib/ocaml/js_float.cmi +0 -0
  349. package/lib/ocaml/js_float.cmt +0 -0
  350. package/lib/ocaml/js_float.ml +294 -0
  351. package/lib/ocaml/js_global.cmi +0 -0
  352. package/lib/ocaml/js_global.cmt +0 -0
  353. package/lib/ocaml/js_global.ml +185 -0
  354. package/lib/ocaml/js_int.cmi +0 -0
  355. package/lib/ocaml/js_int.cmt +0 -0
  356. package/lib/ocaml/js_int.ml +158 -0
  357. package/lib/ocaml/js_json.cmi +0 -0
  358. package/lib/ocaml/js_json.cmt +0 -0
  359. package/lib/ocaml/js_json.cmti +0 -0
  360. package/lib/ocaml/js_json.ml +195 -0
  361. package/lib/ocaml/js_json.mli +244 -0
  362. package/lib/ocaml/js_list.cmi +0 -0
  363. package/lib/ocaml/js_list.cmt +0 -0
  364. package/lib/ocaml/js_list.cmti +0 -0
  365. package/lib/ocaml/js_list.ml +174 -0
  366. package/lib/ocaml/js_list.mli +72 -0
  367. package/lib/ocaml/js_map.cmi +0 -0
  368. package/lib/ocaml/js_map.cmt +0 -0
  369. package/lib/ocaml/js_map.ml +3 -0
  370. package/lib/ocaml/js_mapperRt.cmi +0 -0
  371. package/lib/ocaml/js_mapperRt.cmt +0 -0
  372. package/lib/ocaml/js_mapperRt.cmti +0 -0
  373. package/lib/ocaml/js_mapperRt.ml +50 -0
  374. package/lib/ocaml/js_mapperRt.mli +44 -0
  375. package/lib/ocaml/js_math.cmi +0 -0
  376. package/lib/ocaml/js_math.cmt +0 -0
  377. package/lib/ocaml/js_math.ml +626 -0
  378. package/lib/ocaml/js_null.cmi +0 -0
  379. package/lib/ocaml/js_null.cmt +0 -0
  380. package/lib/ocaml/js_null.cmti +0 -0
  381. package/lib/ocaml/js_null.ml +57 -0
  382. package/lib/ocaml/js_null.mli +87 -0
  383. package/lib/ocaml/js_null_undefined.cmi +0 -0
  384. package/lib/ocaml/js_null_undefined.cmt +0 -0
  385. package/lib/ocaml/js_null_undefined.cmti +0 -0
  386. package/lib/ocaml/js_null_undefined.ml +50 -0
  387. package/lib/ocaml/js_null_undefined.mli +85 -0
  388. package/lib/ocaml/js_obj.cmi +0 -0
  389. package/lib/ocaml/js_obj.cmt +0 -0
  390. package/lib/ocaml/js_obj.ml +100 -0
  391. package/lib/ocaml/js_option.cmi +0 -0
  392. package/lib/ocaml/js_option.cmt +0 -0
  393. package/lib/ocaml/js_option.cmti +0 -0
  394. package/lib/ocaml/js_option.ml +203 -0
  395. package/lib/ocaml/js_option.mli +52 -0
  396. package/lib/ocaml/js_promise.cmi +0 -0
  397. package/lib/ocaml/js_promise.cmt +0 -0
  398. package/lib/ocaml/js_promise.ml +100 -0
  399. package/lib/ocaml/js_promise2.cmi +0 -0
  400. package/lib/ocaml/js_promise2.cmt +0 -0
  401. package/lib/ocaml/js_promise2.res +58 -0
  402. package/lib/ocaml/js_re.cmi +0 -0
  403. package/lib/ocaml/js_re.cmt +0 -0
  404. package/lib/ocaml/js_re.ml +184 -0
  405. package/lib/ocaml/js_result.cmi +0 -0
  406. package/lib/ocaml/js_result.cmt +0 -0
  407. package/lib/ocaml/js_result.cmti +0 -0
  408. package/lib/ocaml/js_result.ml +28 -0
  409. package/lib/ocaml/js_result.mli +28 -0
  410. package/lib/ocaml/js_set.cmi +0 -0
  411. package/lib/ocaml/js_set.cmt +0 -0
  412. package/lib/ocaml/js_set.ml +3 -0
  413. package/lib/ocaml/js_string.cmi +0 -0
  414. package/lib/ocaml/js_string.cmt +0 -0
  415. package/lib/ocaml/js_string.ml +914 -0
  416. package/lib/ocaml/js_string2.cmi +0 -0
  417. package/lib/ocaml/js_string2.cmt +0 -0
  418. package/lib/ocaml/js_string2.ml +912 -0
  419. package/lib/ocaml/js_typed_array.cmi +0 -0
  420. package/lib/ocaml/js_typed_array.cmt +0 -0
  421. package/lib/ocaml/js_typed_array.cppo.ml +429 -0
  422. package/lib/ocaml/js_typed_array.ml +1405 -0
  423. package/lib/ocaml/js_typed_array2.cmi +0 -0
  424. package/lib/ocaml/js_typed_array2.cmt +0 -0
  425. package/lib/ocaml/js_typed_array2.cppo.ml +296 -0
  426. package/lib/ocaml/js_typed_array2.ml +1269 -0
  427. package/lib/ocaml/js_types.cmi +0 -0
  428. package/lib/ocaml/js_types.cmt +0 -0
  429. package/lib/ocaml/js_types.cmti +0 -0
  430. package/lib/ocaml/js_types.ml +118 -0
  431. package/lib/ocaml/js_types.mli +78 -0
  432. package/lib/ocaml/js_undefined.cmi +0 -0
  433. package/lib/ocaml/js_undefined.cmt +0 -0
  434. package/lib/ocaml/js_undefined.cmti +0 -0
  435. package/lib/ocaml/js_undefined.ml +59 -0
  436. package/lib/ocaml/js_undefined.mli +92 -0
  437. package/lib/ocaml/js_vector.cmi +0 -0
  438. package/lib/ocaml/js_vector.cmt +0 -0
  439. package/lib/ocaml/js_vector.cmti +0 -0
  440. package/lib/ocaml/js_vector.ml +143 -0
  441. package/lib/ocaml/js_vector.mli +92 -0
  442. package/lib/ocaml/js_weakmap.cmi +0 -0
  443. package/lib/ocaml/js_weakmap.cmt +0 -0
  444. package/lib/ocaml/js_weakmap.ml +3 -0
  445. package/lib/ocaml/js_weakset.cmi +0 -0
  446. package/lib/ocaml/js_weakset.cmt +0 -0
  447. package/lib/ocaml/js_weakset.ml +3 -0
  448. package/lib/ocaml/jsx.cmi +0 -0
  449. package/lib/ocaml/jsx.cmt +0 -0
  450. package/lib/ocaml/jsx.res +40 -0
  451. package/lib/ocaml/jsxDOM.cmi +0 -0
  452. package/lib/ocaml/jsxDOM.cmt +0 -0
  453. package/lib/ocaml/jsxDOM.res +620 -0
  454. package/lib/ocaml/jsxDOMStyle.cmi +0 -0
  455. package/lib/ocaml/jsxDOMStyle.cmt +0 -0
  456. package/lib/ocaml/jsxDOMStyle.ml +781 -0
  457. package/lib/ocaml/jsxEvent.cmi +0 -0
  458. package/lib/ocaml/jsxEvent.cmt +0 -0
  459. package/lib/ocaml/jsxEvent.ml +358 -0
  460. package/lib/ocaml/jsxPPXReactSupport.cmi +0 -0
  461. package/lib/ocaml/jsxPPXReactSupport.cmt +0 -0
  462. package/lib/ocaml/jsxPPXReactSupport.res +48 -0
  463. package/lib/ocaml/lazy.cmi +0 -0
  464. package/lib/ocaml/lazy.cmt +0 -0
  465. package/lib/ocaml/lazy.cmti +0 -0
  466. package/lib/ocaml/lazy.ml +70 -0
  467. package/lib/ocaml/lazy.mli +95 -0
  468. package/lib/ocaml/lexing.cmi +0 -0
  469. package/lib/ocaml/lexing.cmt +0 -0
  470. package/lib/ocaml/lexing.cmti +0 -0
  471. package/lib/ocaml/lexing.ml +230 -0
  472. package/lib/ocaml/lexing.mli +172 -0
  473. package/lib/ocaml/list.cmi +0 -0
  474. package/lib/ocaml/list.cmt +0 -0
  475. package/lib/ocaml/list.cmti +0 -0
  476. package/lib/ocaml/list.ml +485 -0
  477. package/lib/ocaml/list.mli +347 -0
  478. package/lib/ocaml/listLabels.cmi +0 -0
  479. package/lib/ocaml/listLabels.cmt +0 -0
  480. package/lib/ocaml/listLabels.cmti +0 -0
  481. package/lib/ocaml/listLabels.ml +485 -0
  482. package/lib/ocaml/listLabels.mli +353 -0
  483. package/lib/ocaml/map.cmi +0 -0
  484. package/lib/ocaml/map.cmt +0 -0
  485. package/lib/ocaml/map.cmti +0 -0
  486. package/lib/ocaml/map.cppo.ml +174 -0
  487. package/lib/ocaml/map.cppo.mli +191 -0
  488. package/lib/ocaml/map.ml +480 -0
  489. package/lib/ocaml/map.mli +315 -0
  490. package/lib/ocaml/mapLabels.cmi +0 -0
  491. package/lib/ocaml/mapLabels.cmt +0 -0
  492. package/lib/ocaml/mapLabels.ml +480 -0
  493. package/lib/ocaml/mapm.cppo.ml +177 -0
  494. package/lib/ocaml/mapm.cppo.mli +138 -0
  495. package/lib/ocaml/moreLabels.cmi +0 -0
  496. package/lib/ocaml/moreLabels.cmt +0 -0
  497. package/lib/ocaml/moreLabels.cmti +0 -0
  498. package/lib/ocaml/moreLabels.ml +22 -0
  499. package/lib/ocaml/moreLabels.mli +198 -0
  500. package/lib/ocaml/node.cmi +0 -0
  501. package/lib/ocaml/node.cmt +0 -0
  502. package/lib/ocaml/node.ml +84 -0
  503. package/lib/ocaml/node_buffer.cmi +0 -0
  504. package/lib/ocaml/node_buffer.cmt +0 -0
  505. package/lib/ocaml/node_buffer.ml +47 -0
  506. package/lib/ocaml/node_child_process.cmi +0 -0
  507. package/lib/ocaml/node_child_process.cmt +0 -0
  508. package/lib/ocaml/node_child_process.ml +50 -0
  509. package/lib/ocaml/node_fs.cmi +0 -0
  510. package/lib/ocaml/node_fs.cmt +0 -0
  511. package/lib/ocaml/node_fs.ml +153 -0
  512. package/lib/ocaml/node_module.cmi +0 -0
  513. package/lib/ocaml/node_module.cmt +0 -0
  514. package/lib/ocaml/node_module.ml +29 -0
  515. package/lib/ocaml/node_path.cmi +0 -0
  516. package/lib/ocaml/node_path.cmt +0 -0
  517. package/lib/ocaml/node_path.ml +71 -0
  518. package/lib/ocaml/node_process.cmi +0 -0
  519. package/lib/ocaml/node_process.cmt +0 -0
  520. package/lib/ocaml/node_process.cmti +0 -0
  521. package/lib/ocaml/node_process.ml +59 -0
  522. package/lib/ocaml/node_process.mli +48 -0
  523. package/lib/ocaml/obj.cmi +0 -0
  524. package/lib/ocaml/obj.cmt +0 -0
  525. package/lib/ocaml/obj.cmti +0 -0
  526. package/lib/ocaml/obj.ml +29 -0
  527. package/lib/ocaml/obj.mli +62 -0
  528. package/lib/ocaml/parsing.cmi +0 -0
  529. package/lib/ocaml/parsing.cmt +0 -0
  530. package/lib/ocaml/parsing.cmti +0 -0
  531. package/lib/ocaml/parsing.ml +212 -0
  532. package/lib/ocaml/parsing.mli +105 -0
  533. package/lib/ocaml/pervasives.cmi +0 -0
  534. package/lib/ocaml/pervasives.cmt +0 -0
  535. package/lib/ocaml/pervasives.cmti +0 -0
  536. package/lib/ocaml/pervasives.ml +297 -0
  537. package/lib/ocaml/pervasives.mli +771 -0
  538. package/lib/ocaml/printexc.cmi +0 -0
  539. package/lib/ocaml/printexc.cmt +0 -0
  540. package/lib/ocaml/printexc.cmti +0 -0
  541. package/lib/ocaml/printexc.ml +75 -0
  542. package/lib/ocaml/printexc.mli +57 -0
  543. package/lib/ocaml/queue.cmi +0 -0
  544. package/lib/ocaml/queue.cmt +0 -0
  545. package/lib/ocaml/queue.cmti +0 -0
  546. package/lib/ocaml/queue.ml +132 -0
  547. package/lib/ocaml/queue.mli +82 -0
  548. package/lib/ocaml/random.cmi +0 -0
  549. package/lib/ocaml/random.cmt +0 -0
  550. package/lib/ocaml/random.cmti +0 -0
  551. package/lib/ocaml/random.ml +273 -0
  552. package/lib/ocaml/random.mli +102 -0
  553. package/lib/ocaml/set.cmi +0 -0
  554. package/lib/ocaml/set.cmt +0 -0
  555. package/lib/ocaml/set.cmti +0 -0
  556. package/lib/ocaml/set.ml +526 -0
  557. package/lib/ocaml/set.mli +266 -0
  558. package/lib/ocaml/setLabels.cmi +0 -0
  559. package/lib/ocaml/setLabels.cmt +0 -0
  560. package/lib/ocaml/setLabels.ml +526 -0
  561. package/lib/ocaml/setm.cppo.ml +346 -0
  562. package/lib/ocaml/setm.cppo.mli +126 -0
  563. package/lib/ocaml/sort.cmi +0 -0
  564. package/lib/ocaml/sort.cmt +0 -0
  565. package/lib/ocaml/sort.cmti +0 -0
  566. package/lib/ocaml/sort.cppo.ml +267 -0
  567. package/lib/ocaml/sort.cppo.mli +96 -0
  568. package/lib/ocaml/sort.ml +99 -0
  569. package/lib/ocaml/sort.mli +44 -0
  570. package/lib/ocaml/stack.cmi +0 -0
  571. package/lib/ocaml/stack.cmt +0 -0
  572. package/lib/ocaml/stack.cmti +0 -0
  573. package/lib/ocaml/stack.ml +44 -0
  574. package/lib/ocaml/stack.mli +63 -0
  575. package/lib/ocaml/stdLabels.cmi +0 -0
  576. package/lib/ocaml/stdLabels.cmt +0 -0
  577. package/lib/ocaml/stdLabels.cmti +0 -0
  578. package/lib/ocaml/stdLabels.ml +24 -0
  579. package/lib/ocaml/stdLabels.mli +29 -0
  580. package/lib/ocaml/stream.cmi +0 -0
  581. package/lib/ocaml/stream.cmt +0 -0
  582. package/lib/ocaml/stream.cmti +0 -0
  583. package/lib/ocaml/stream.ml +213 -0
  584. package/lib/ocaml/stream.mli +108 -0
  585. package/lib/ocaml/string.cmi +0 -0
  586. package/lib/ocaml/string.cmt +0 -0
  587. package/lib/ocaml/string.cmti +0 -0
  588. package/lib/ocaml/string.ml +190 -0
  589. package/lib/ocaml/string.mli +286 -0
  590. package/lib/ocaml/stringLabels.cmi +0 -0
  591. package/lib/ocaml/stringLabels.cmt +0 -0
  592. package/lib/ocaml/stringLabels.cmti +0 -0
  593. package/lib/ocaml/stringLabels.ml +190 -0
  594. package/lib/ocaml/stringLabels.mli +241 -0
  595. package/lib/ocaml/sys.cmi +0 -0
  596. package/lib/ocaml/sys.cmt +0 -0
  597. package/lib/ocaml/sys.cmti +0 -0
  598. package/lib/ocaml/sys.ml +135 -0
  599. package/lib/ocaml/sys.mli +333 -0
  600. package/lib/ocaml/uchar.cmi +0 -0
  601. package/lib/ocaml/uchar.cmt +0 -0
  602. package/lib/ocaml/uchar.cmti +0 -0
  603. package/lib/ocaml/uchar.ml +58 -0
  604. package/lib/ocaml/uchar.mli +98 -0
  605. package/linux/bsb_helper.exe +0 -0
  606. package/linux/bsc.exe +0 -0
  607. package/linux/ninja.exe +0 -0
  608. package/linux/rescript.exe +0 -0
  609. package/ninja.COPYING +202 -0
  610. package/package.json +1 -1
  611. package/vendor/ninja.tar.gz +0 -0
  612. package/win32/bsb_helper.exe +0 -0
  613. package/win32/bsc.exe +0 -0
  614. package/win32/ninja.exe +0 -0
  615. package/win32/refmt.exe +0 -0
  616. package/win32/rescript.exe +0 -0
@@ -0,0 +1,186 @@
1
+ (**************************************************************************)
2
+ (* *)
3
+ (* OCaml *)
4
+ (* *)
5
+ (* Xavier Leroy, projet Cristal, INRIA Rocquencourt *)
6
+ (* *)
7
+ (* Copyright 1996 Institut National de Recherche en Informatique et *)
8
+ (* en Automatique. *)
9
+ (* *)
10
+ (* All rights reserved. This file is distributed under the terms of *)
11
+ (* the GNU Lesser General Public License version 2.1, with the *)
12
+ (* special exception on linking described in the file LICENSE. *)
13
+ (* *)
14
+ (**************************************************************************)
15
+
16
+ (** 32-bit integers.
17
+
18
+ This module provides operations on the type [t]
19
+ of signed 32-bit integers. Unlike the built-in [int] type,
20
+ the type [t] is guaranteed to be exactly 32-bit wide on all
21
+ platforms. All arithmetic operations over [t] are taken
22
+ modulo 2{^32}.
23
+
24
+ Performance notice: values of type [t] occupy more memory
25
+ space than values of type [int], and arithmetic operations on
26
+ [t] are generally slower than those on [int]. Use [t]
27
+ only when the application requires exact 32-bit arithmetic. *)
28
+ type t = int
29
+ (** An alias for the type of 32-bit integers. *)
30
+
31
+ val zero : t
32
+ (** The 32-bit integer 0. *)
33
+
34
+ val one : t
35
+ (** The 32-bit integer 1. *)
36
+
37
+ val minus_one : t
38
+ (** The 32-bit integer -1. *)
39
+
40
+ external neg : t -> t = "%negint"
41
+ (** Unary negation. *)
42
+
43
+ external add : t -> t -> t = "%addint"
44
+ (** Addition. *)
45
+
46
+ external sub : t -> t -> t = "%subint"
47
+ (** Subtraction. *)
48
+
49
+ external mul : t -> t -> t = "%mulint"
50
+ (** Multiplication. *)
51
+
52
+ external div : t -> t -> t = "%divint"
53
+ (** Integer division. Raise [Division_by_zero] if the second
54
+ argument is zero. This division rounds the real quotient of
55
+ its arguments towards zero, as specified for {!Pervasives.(/)}. *)
56
+
57
+ external rem : t -> t -> t = "%modint"
58
+ (** Integer remainder. If [y] is not zero, the result
59
+ of [Int32.rem x y] satisfies the following property:
60
+ [x = Int32.add (Int32.mul (Int32.div x y) y) (Int32.rem x y)].
61
+ If [y = 0], [Int32.rem x y] raises [Division_by_zero]. *)
62
+
63
+ val succ : t -> t
64
+ (** Successor. [Int32.succ x] is [Int32.add x Int32.one]. *)
65
+
66
+ val pred : t -> t
67
+ (** Predecessor. [Int32.pred x] is [Int32.sub x Int32.one]. *)
68
+
69
+ val abs : t -> t
70
+ (** Return the absolute value of its argument. *)
71
+
72
+ val max_int : t
73
+ (** The greatest representable 32-bit integer, 2{^31} - 1. *)
74
+
75
+ val min_int : t
76
+ (** The smallest representable 32-bit integer, -2{^31}. *)
77
+
78
+
79
+ external logand : t -> t -> t = "%andint"
80
+ (** Bitwise logical and. *)
81
+
82
+ external logor : t -> t -> t = "%orint"
83
+ (** Bitwise logical or. *)
84
+
85
+ external logxor : t -> t -> t = "%xorint"
86
+ (** Bitwise logical exclusive or. *)
87
+
88
+ val lognot : t -> t
89
+ (** Bitwise logical negation. *)
90
+
91
+ external shift_left : t -> int -> t = "%lslint"
92
+ (** [Int32.shift_left x y] shifts [x] to the left by [y] bits.
93
+ The result is unspecified if [y < 0] or [y >= 32]. *)
94
+
95
+ external shift_right : t -> int -> t = "%asrint"
96
+ (** [Int32.shift_right x y] shifts [x] to the right by [y] bits.
97
+ This is an arithmetic shift: the sign bit of [x] is replicated
98
+ and inserted in the vacated bits.
99
+ The result is unspecified if [y < 0] or [y >= 32]. *)
100
+
101
+ external shift_right_logical : t -> int -> t = "%lsrint"
102
+ (** [Int32.shift_right_logical x y] shifts [x] to the right by [y] bits.
103
+ This is a logical shift: zeroes are inserted in the vacated bits
104
+ regardless of the sign of [x].
105
+ The result is unspecified if [y < 0] or [y >= 32]. *)
106
+
107
+ external of_int : int -> t = "%identity"
108
+ (** Convert the given integer (type [int]) to a 32-bit integer
109
+ (type [t]). *)
110
+
111
+ external to_int : t -> int = "%identity"
112
+ (** Convert the given 32-bit integer (type [t]) to an
113
+ integer (type [int]). On 32-bit platforms, the 32-bit integer
114
+ is taken modulo 2{^31}, i.e. the high-order bit is lost
115
+ during the conversion. On 64-bit platforms, the conversion
116
+ is exact. *)
117
+
118
+ external of_float : float -> t
119
+ = "?int_of_float"
120
+ (** Convert the given floating-point number to a 32-bit integer,
121
+ discarding the fractional part (truncate towards 0).
122
+ The result of the conversion is undefined if, after truncation,
123
+ the number is outside the range \[{!Int32.min_int}, {!Int32.max_int}\]. *)
124
+
125
+ external to_float : t -> float
126
+ = "?int_to_float"
127
+ (** Convert the given 32-bit integer to a floating-point number. *)
128
+
129
+ external of_string : string -> t = "?int_of_string"
130
+ (** Convert the given string to a 32-bit integer.
131
+ The string is read in decimal (by default, or if the string
132
+ begins with [0u]) or in hexadecimal, octal or binary if the
133
+ string begins with [0x], [0o] or [0b] respectively.
134
+
135
+ The [0u] prefix reads the input as an unsigned integer in the range
136
+ [[0, 2*Int32.max_int+1]]. If the input exceeds {!Int32.max_int}
137
+ it is converted to the signed integer
138
+ [Int32.min_int + input - Int32.max_int - 1].
139
+
140
+ The [_] (underscore) character can appear anywhere in the string
141
+ and is ignored.
142
+ Raise [Failure "Int32.of_string"] if the given string is not
143
+ a valid representation of an integer, or if the integer represented
144
+ exceeds the range of integers representable in type [t]. *)
145
+
146
+ val of_string_opt: string -> t option
147
+ (** Same as [of_string], but return [None] instead of raising.
148
+ @since 4.05 *)
149
+
150
+
151
+ val to_string : t -> string
152
+ (** Return the string representation of its argument, in signed decimal. *)
153
+
154
+ external bits_of_float : float -> t
155
+ = "?int_bits_of_float"
156
+ (** Return the internal representation of the given float according
157
+ to the IEEE 754 floating-point 'single format' bit layout.
158
+ Bit 31 of the result represents the sign of the float;
159
+ bits 30 to 23 represent the (biased) exponent; bits 22 to 0
160
+ represent the mantissa. *)
161
+
162
+ external float_of_bits : t -> float
163
+ = "?int_float_of_bits"
164
+ (** Return the floating-point number whose internal representation,
165
+ according to the IEEE 754 floating-point 'single format' bit layout,
166
+ is the given [t]. *)
167
+
168
+
169
+
170
+ val compare: t -> t -> int
171
+ (** The comparison function for 32-bit integers, with the same specification as
172
+ {!Pervasives.compare}. Along with the type [t], this function [compare]
173
+ allows the module [Int32] to be passed as argument to the functors
174
+ {!Set.Make} and {!Map.Make}. *)
175
+
176
+ val equal: t -> t -> bool
177
+ (** The equal function for int32s.
178
+ @since 4.03.0 *)
179
+
180
+ (**/**)
181
+
182
+ (** {1 Deprecated functions} *)
183
+
184
+ external format : string -> t -> string = "?format_int"
185
+ (** Do not use this deprecated function. Instead,
186
+ used {!Printf.sprintf} with a [%l...] format. *)
Binary file
Binary file
Binary file
@@ -0,0 +1,72 @@
1
+ (**************************************************************************)
2
+ (* *)
3
+ (* OCaml *)
4
+ (* *)
5
+ (* Xavier Leroy, projet Cristal, INRIA Rocquencourt *)
6
+ (* *)
7
+ (* Copyright 1996 Institut National de Recherche en Informatique et *)
8
+ (* en Automatique. *)
9
+ (* *)
10
+ (* All rights reserved. This file is distributed under the terms of *)
11
+ (* the GNU Lesser General Public License version 2.1, with the *)
12
+ (* special exception on linking described in the file LICENSE. *)
13
+ (* *)
14
+ (**************************************************************************)
15
+
16
+ (* Module [Int64]: 64-bit integers *)
17
+
18
+ external neg : int64 -> int64 = "%int64_neg"
19
+ external add : int64 -> int64 -> int64 = "%int64_add"
20
+ external sub : int64 -> int64 -> int64 = "%int64_sub"
21
+ external mul : int64 -> int64 -> int64 = "%int64_mul"
22
+ external div : int64 -> int64 -> int64 = "%int64_div"
23
+ external rem : int64 -> int64 -> int64 = "%int64_mod"
24
+ external logand : int64 -> int64 -> int64 = "%int64_and"
25
+ external logor : int64 -> int64 -> int64 = "%int64_or"
26
+ external logxor : int64 -> int64 -> int64 = "%int64_xor"
27
+ external shift_left : int64 -> int -> int64 = "%int64_lsl"
28
+ external shift_right : int64 -> int -> int64 = "%int64_asr"
29
+ external shift_right_logical : int64 -> int -> int64 = "%int64_lsr"
30
+ external of_int : int -> int64 = "%int64_of_int"
31
+ external to_int : int64 -> int = "%int64_to_int"
32
+ external of_float : float -> int64
33
+ = "?int64_of_float"
34
+ external to_float : int64 -> float
35
+ = "?int64_to_float"
36
+ external of_int32 : int -> int64 = "%int64_of_int32"
37
+ external to_int32 : int64 -> int = "%int64_to_int32"
38
+
39
+ let zero = 0L
40
+ let one = 1L
41
+ let minus_one = -1L
42
+ (* let succ n = add n 1L *)
43
+ external succ : int64 -> int64 = "?int64_succ"
44
+ let pred n = sub n 1L
45
+ let abs n = if n >= 0L then n else neg n
46
+ let min_int = 0x8000000000000000L
47
+ let max_int = 0x7FFFFFFFFFFFFFFFL
48
+ let lognot n = logxor n (-1L)
49
+
50
+ external format : string -> int64 -> string = "?int64_format"
51
+ external to_string : int64 -> string = "?int64_to_string"
52
+
53
+ external of_string : string -> int64 = "?int64_of_string"
54
+
55
+ let of_string_opt s =
56
+ (* TODO: expose a non-raising primitive directly. *)
57
+ try Some (of_string s)
58
+ with Failure _ -> None
59
+
60
+
61
+
62
+ external bits_of_float : float -> int64
63
+ = "?int64_bits_of_float"
64
+
65
+ external float_of_bits : int64 -> float
66
+ = "?int64_float_of_bits"
67
+
68
+
69
+ type t = int64
70
+
71
+ let compare (x: t) (y: t) = Pervasives.compare x y
72
+ let equal (x: t) (y: t) = compare x y = 0
@@ -0,0 +1,197 @@
1
+ (**************************************************************************)
2
+ (* *)
3
+ (* OCaml *)
4
+ (* *)
5
+ (* Xavier Leroy, projet Cristal, INRIA Rocquencourt *)
6
+ (* *)
7
+ (* Copyright 1996 Institut National de Recherche en Informatique et *)
8
+ (* en Automatique. *)
9
+ (* *)
10
+ (* All rights reserved. This file is distributed under the terms of *)
11
+ (* the GNU Lesser General Public License version 2.1, with the *)
12
+ (* special exception on linking described in the file LICENSE. *)
13
+ (* *)
14
+ (**************************************************************************)
15
+
16
+ (** 64-bit integers.
17
+
18
+ This module provides operations on the type [int64] of
19
+ signed 64-bit integers. Unlike the built-in [int] type,
20
+ the type [int64] is guaranteed to be exactly 64-bit wide on all
21
+ platforms. All arithmetic operations over [int64] are taken
22
+ modulo 2{^64}
23
+
24
+ Performance notice: values of type [int64] occupy more memory
25
+ space than values of type [int], and arithmetic operations on
26
+ [int64] are generally slower than those on [int]. Use [int64]
27
+ only when the application requires exact 64-bit arithmetic.
28
+ *)
29
+
30
+ val zero : int64
31
+ (** The 64-bit integer 0. *)
32
+
33
+ val one : int64
34
+ (** The 64-bit integer 1. *)
35
+
36
+ val minus_one : int64
37
+ (** The 64-bit integer -1. *)
38
+
39
+ external neg : int64 -> int64 = "%int64_neg"
40
+ (** Unary negation. *)
41
+
42
+ external add : int64 -> int64 -> int64 = "%int64_add"
43
+ (** Addition. *)
44
+
45
+ external sub : int64 -> int64 -> int64 = "%int64_sub"
46
+ (** Subtraction. *)
47
+
48
+ external mul : int64 -> int64 -> int64 = "%int64_mul"
49
+ (** Multiplication. *)
50
+
51
+ external div : int64 -> int64 -> int64 = "%int64_div"
52
+ (** Integer division. Raise [Division_by_zero] if the second
53
+ argument is zero. This division rounds the real quotient of
54
+ its arguments towards zero, as specified for {!Pervasives.(/)}. *)
55
+
56
+ external rem : int64 -> int64 -> int64 = "%int64_mod"
57
+ (** Integer remainder. If [y] is not zero, the result
58
+ of [Int64.rem x y] satisfies the following property:
59
+ [x = Int64.add (Int64.mul (Int64.div x y) y) (Int64.rem x y)].
60
+ If [y = 0], [Int64.rem x y] raises [Division_by_zero]. *)
61
+
62
+ val succ : int64 -> int64
63
+ (** Successor. [Int64.succ x] is [Int64.add x Int64.one]. *)
64
+
65
+ val pred : int64 -> int64
66
+ (** Predecessor. [Int64.pred x] is [Int64.sub x Int64.one]. *)
67
+
68
+ val abs : int64 -> int64
69
+ (** Return the absolute value of its argument. *)
70
+
71
+ val max_int : int64
72
+ (** The greatest representable 64-bit integer, 2{^63} - 1. *)
73
+
74
+ val min_int : int64
75
+ (** The smallest representable 64-bit integer, -2{^63}. *)
76
+
77
+ external logand : int64 -> int64 -> int64 = "%int64_and"
78
+ (** Bitwise logical and. *)
79
+
80
+ external logor : int64 -> int64 -> int64 = "%int64_or"
81
+ (** Bitwise logical or. *)
82
+
83
+ external logxor : int64 -> int64 -> int64 = "%int64_xor"
84
+ (** Bitwise logical exclusive or. *)
85
+
86
+ val lognot : int64 -> int64
87
+ (** Bitwise logical negation. *)
88
+
89
+ external shift_left : int64 -> int -> int64 = "%int64_lsl"
90
+ (** [Int64.shift_left x y] shifts [x] to the left by [y] bits.
91
+ The result is unspecified if [y < 0] or [y >= 64]. *)
92
+
93
+ external shift_right : int64 -> int -> int64 = "%int64_asr"
94
+ (** [Int64.shift_right x y] shifts [x] to the right by [y] bits.
95
+ This is an arithmetic shift: the sign bit of [x] is replicated
96
+ and inserted in the vacated bits.
97
+ The result is unspecified if [y < 0] or [y >= 64]. *)
98
+
99
+ external shift_right_logical : int64 -> int -> int64 = "%int64_lsr"
100
+ (** [Int64.shift_right_logical x y] shifts [x] to the right by [y] bits.
101
+ This is a logical shift: zeroes are inserted in the vacated bits
102
+ regardless of the sign of [x].
103
+ The result is unspecified if [y < 0] or [y >= 64]. *)
104
+
105
+ external of_int : int -> int64 = "%int64_of_int"
106
+ (** Convert the given integer (type [int]) to a 64-bit integer
107
+ (type [int64]). *)
108
+
109
+ external to_int : int64 -> int = "%int64_to_int"
110
+ (** Convert the given 64-bit integer (type [int64]) to an
111
+ integer (type [int]). On 64-bit platforms, the 64-bit integer
112
+ is taken modulo 2{^63}, i.e. the high-order bit is lost
113
+ during the conversion. On 32-bit platforms, the 64-bit integer
114
+ is taken modulo 2{^31}, i.e. the top 33 bits are lost
115
+ during the conversion. *)
116
+
117
+ external of_float : float -> int64
118
+ = "?int64_of_float"
119
+ (** Convert the given floating-point number to a 64-bit integer,
120
+ discarding the fractional part (truncate towards 0).
121
+ The result of the conversion is undefined if, after truncation,
122
+ the number is outside the range \[{!Int64.min_int}, {!Int64.max_int}\]. *)
123
+
124
+ external to_float : int64 -> float
125
+ = "?int64_to_float"
126
+ (** Convert the given 64-bit integer to a floating-point number. *)
127
+
128
+
129
+ external of_int32 : int -> int64 = "%int64_of_int32"
130
+ (** Convert the given 32-bit integer (type [int])
131
+ to a 64-bit integer (type [int64]). *)
132
+
133
+ external to_int32 : int64 -> int = "%int64_to_int32"
134
+ (** Convert the given 64-bit integer (type [int64]) to a
135
+ 32-bit integer (type [int]). The 64-bit integer
136
+ is taken modulo 2{^32}, i.e. the top 32 bits are lost
137
+ during the conversion. *)
138
+
139
+
140
+ external of_string : string -> int64 = "?int64_of_string"
141
+ (** Convert the given string to a 64-bit integer.
142
+ The string is read in decimal (by default, or if the string
143
+ begins with [0u]) or in hexadecimal, octal or binary if the
144
+ string begins with [0x], [0o] or [0b] respectively.
145
+
146
+ The [0u] prefix reads the input as an unsigned integer in the range
147
+ [[0, 2*Int64.max_int+1]]. If the input exceeds {!Int64.max_int}
148
+ it is converted to the signed integer
149
+ [Int64.min_int + input - Int64.max_int - 1].
150
+
151
+ The [_] (underscore) character can appear anywhere in the string
152
+ and is ignored.
153
+ Raise [Failure "Int64.of_string"] if the given string is not
154
+ a valid representation of an integer, or if the integer represented
155
+ exceeds the range of integers representable in type [int64]. *)
156
+
157
+ val of_string_opt: string -> int64 option
158
+ (** Same as [of_string], but return [None] instead of raising.
159
+ @since 4.05 *)
160
+
161
+ val to_string : int64 -> string
162
+ (** Return the string representation of its argument, in decimal. *)
163
+
164
+ external bits_of_float : float -> int64
165
+ = "?int64_bits_of_float"
166
+ (** Return the internal representation of the given float according
167
+ to the IEEE 754 floating-point 'double format' bit layout.
168
+ Bit 63 of the result represents the sign of the float;
169
+ bits 62 to 52 represent the (biased) exponent; bits 51 to 0
170
+ represent the mantissa. *)
171
+
172
+ external float_of_bits : int64 -> float
173
+ = "?int64_float_of_bits"
174
+ (** Return the floating-point number whose internal representation,
175
+ according to the IEEE 754 floating-point 'double format' bit layout,
176
+ is the given [int64]. *)
177
+
178
+ type t = int64
179
+ (** An alias for the type of 64-bit integers. *)
180
+
181
+ val compare: t -> t -> int
182
+ (** The comparison function for 64-bit integers, with the same specification as
183
+ {!Pervasives.compare}. Along with the type [t], this function [compare]
184
+ allows the module [Int64] to be passed as argument to the functors
185
+ {!Set.Make} and {!Map.Make}. *)
186
+
187
+ val equal: t -> t -> bool
188
+ (** The equal function for int64s.
189
+ @since 4.03.0 *)
190
+
191
+ (**/**)
192
+
193
+ (** {1 Deprecated functions} *)
194
+
195
+ external format : string -> int64 -> string = "?int64_format"
196
+ (** Do not use this deprecated function. Instead,
197
+ used {!Printf.sprintf} with a [%L...] format. *)
@@ -0,0 +1,230 @@
1
+ [@@@bs.config {flags = [| "-bs-noassertfalse" |]}]
2
+ #ifdef TYPE_STRING
3
+ type key = string
4
+ #elif defined TYPE_INT
5
+ type key = int
6
+ #else
7
+ [%error "unknown type"]
8
+ #endif
9
+
10
+ module N = Belt_internalAVLtree
11
+ module A = Belt_Array
12
+ module S = Belt_SortArray
13
+
14
+
15
+
16
+ type 'a t = (key,'a) N.t
17
+
18
+ let rec add t (x : key) (data : _) =
19
+ match t with
20
+ | None ->
21
+ N.singleton x data
22
+ | Some n ->
23
+ let k = n.N.key in
24
+ if x = k then
25
+ Some (N.updateValue n data)
26
+ else
27
+ let v = n.N.value in
28
+ if x < k then
29
+ N.bal (add n.N.left x data ) k v n.N.right
30
+ else
31
+ N.bal n.N.left k v (add n.N.right x data )
32
+
33
+ let rec get n (x : key) =
34
+ match n with
35
+ None -> None
36
+ | Some n ->
37
+ let v = n.N.key in
38
+ if x = v then Some n.N.value
39
+ else get (if x < v then n.N.left else n.N.right) x
40
+
41
+ let rec getUndefined n (x : key) =
42
+ match n with
43
+ | None ->
44
+ Js.undefined
45
+ | Some n ->
46
+ let v = n.N.key in
47
+ if x = v then Js.Undefined.return n.N.value
48
+ else getUndefined (if x < v then n.N.left else n.N.right) x
49
+
50
+ let rec getExn n (x : key) =
51
+ match n with
52
+ | None -> raise Not_found
53
+ | Some n ->
54
+ let v = n.N.key in
55
+ if x = v then n.N.value
56
+ else getExn (if x < v then n.N.left else n.N.right) x
57
+
58
+ let rec getWithDefault n (x : key) def =
59
+ match n with
60
+ | None -> def
61
+ | Some n ->
62
+ let v = n.N.key in
63
+ if x = v then n.N.value
64
+ else getWithDefault (if x < v then n.N.left else n.N.right) x def
65
+
66
+ let rec has n (x : key)=
67
+ match n with
68
+ None -> false
69
+ | Some n (* Node(l, v, d, r, _) *) ->
70
+ let v = n.N.key in
71
+ x = v || has (if x < v then n.N.left else n.N.right) x
72
+
73
+ let rec remove n (x : key) =
74
+ match n with
75
+ | None -> n
76
+ | Some n ->
77
+ let {N.left = l; key = v; right = r} = n in
78
+ if x = v then
79
+ match l, r with
80
+ | None, _ -> r
81
+ | _, None -> l
82
+ | _, Some rn ->
83
+ let kr, vr = ref rn.key, ref rn.value in
84
+ let r = N.removeMinAuxWithRef rn kr vr in
85
+ N.bal l kr.contents vr.contents r
86
+ else if x < v then
87
+ N.(bal (remove l x ) v n.value r)
88
+ else
89
+ N.(bal l v n.value (remove r x ))
90
+
91
+ let rec splitAux (x : key) (n : _ N.node) : _ t * _ option * _ t =
92
+ let {N.left = l; key = v; value = d; right = r} = n in
93
+ if x = v then (l, Some d, r)
94
+ else
95
+ if x < v then
96
+ match l with
97
+ | None ->
98
+ None, None, Some n
99
+ | Some l ->
100
+ let (ll, pres, rl) = splitAux x l in (ll, pres, N.join rl v d r)
101
+ else
102
+ match r with
103
+ | None ->
104
+ Some n, None, None
105
+ | Some r ->
106
+ let (lr, pres, rr) = splitAux x r in (N.join l v d lr, pres, rr)
107
+
108
+
109
+ let split (x : key) n =
110
+ match n with
111
+ None ->
112
+ None, None, None
113
+ | Some n ->
114
+ splitAux x n
115
+
116
+ let rec mergeU s1 s2 f =
117
+ match s1, s2 with
118
+ (None, None) -> None
119
+ | Some n (* (Node (l1, v1, d1, r1, h1), _)*), _
120
+ when (n.N.height >= (match s2 with None -> 0 | Some n -> n.N.height)) ->
121
+ let {N.left = l1; key = v1; value = d1; right = r1} = n in
122
+ let (l2, d2, r2) = split v1 s2 in
123
+ N.concatOrJoin (mergeU l1 l2 f) v1 (f v1 (Some d1) d2 [@bs]) (mergeU r1 r2 f)
124
+ | (_, Some n) (* Node (l2, v2, d2, r2, h2) *) ->
125
+ let {N.left = l2; key = v2; value = d2; right = r2} = n in
126
+ let (l1, d1, r1) = split v2 s1 in
127
+ N.concatOrJoin (mergeU l1 l2 f) v2 (f v2 d1 (Some d2) [@bs]) (mergeU r1 r2 f)
128
+ | _ ->
129
+ assert false
130
+
131
+ let merge s1 s2 f = mergeU s1 s2 (fun [@bs] a b c -> f a b c)
132
+
133
+ let rec compareAux e1 e2 vcmp =
134
+ match e1,e2 with
135
+ | h1::t1, h2::t2 ->
136
+ let c = Pervasives.compare (h1.N.key : key) h2.N.key in
137
+ if c = 0 then
138
+ let cx = vcmp h1.N.value h2.N.value [@bs] in
139
+ if cx = 0 then
140
+ compareAux
141
+ (N.stackAllLeft h1.N.right t1 )
142
+ (N.stackAllLeft h2.N.right t2)
143
+ vcmp
144
+ else cx
145
+ else c
146
+ | _, _ -> 0
147
+
148
+ let cmpU s1 s2 cmp =
149
+ let len1, len2 = N.size s1, N.size s2 in
150
+ if len1 = len2 then
151
+ compareAux
152
+ (N.stackAllLeft s1 [])
153
+ (N.stackAllLeft s2 [])
154
+ cmp
155
+ else if len1 < len2 then -1
156
+ else 1
157
+
158
+ let cmp s1 s2 f = cmpU s1 s2 (fun[@bs] a b -> f a b)
159
+
160
+ let rec eqAux e1 e2 eq =
161
+ match e1,e2 with
162
+ | h1::t1, h2::t2 ->
163
+ if (h1.N.key : key) = h2.N.key &&
164
+ eq h1.N.value h2.N.value [@bs] then
165
+ eqAux (
166
+ N.stackAllLeft h1.N.right t1 )
167
+ (N.stackAllLeft h2.N.right t2)
168
+ eq
169
+ else false
170
+ | _, _ -> true (*end *)
171
+
172
+ let eqU s1 s2 eq =
173
+ let len1,len2 = N.size s1, N.size s2 in
174
+ if len1 = len2 then
175
+ eqAux
176
+ (N.stackAllLeft s1 [])
177
+ (N.stackAllLeft s2 []) eq
178
+ else false
179
+
180
+ let eq s1 s2 f = eqU s1 s2 (fun[@bs] a b -> f a b)
181
+
182
+ let rec addMutate (t : _ t) x data : _ t =
183
+ match t with
184
+ | None -> N.singleton x data
185
+ | Some nt ->
186
+ let k = nt.N.key in
187
+ (* let c = (Belt_Cmp.getCmpInternal cmp) x k [@bs] in *)
188
+ if x = k then begin
189
+ nt.N.key <- x;
190
+ nt.value <- data;
191
+ Some nt
192
+ end
193
+ else
194
+ let l, r = (nt.N.left, nt.N.right) in
195
+ (if x < k then
196
+ let ll = addMutate l x data in
197
+ nt.left <- ll
198
+ else
199
+ nt.right <- (addMutate r x data);
200
+ );
201
+ Some (N.balMutate nt)
202
+
203
+ let fromArray (xs : (key * _) array) =
204
+ let len = A.length xs in
205
+ if len = 0 then None
206
+ else
207
+ let next =
208
+ ref (S.strictlySortedLengthU xs
209
+ (fun[@bs] (x0,_) (y0,_) ->
210
+ x0 < y0
211
+ ))
212
+ in
213
+ let result = ref (
214
+ if next.contents >= 0 then
215
+ N.fromSortedArrayAux xs 0 next.contents
216
+ else begin
217
+ next .contents<- - next.contents;
218
+ N.fromSortedArrayRevAux xs (next.contents - 1) (next.contents)
219
+ end
220
+ ) in
221
+ for i = next.contents to len - 1 do
222
+ let k, v = (A.getUnsafe xs i) in
223
+ result .contents<- addMutate result.contents k v
224
+ done ;
225
+ result.contents
226
+
227
+
228
+
229
+
230
+