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

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 (598) hide show
  1. package/darwinarm64/ninja.exe +0 -0
  2. package/package.json +1 -1
  3. package/lib/ocaml/arg.cmi +0 -0
  4. package/lib/ocaml/arg.cmt +0 -0
  5. package/lib/ocaml/arg.cmti +0 -0
  6. package/lib/ocaml/arg.ml +0 -359
  7. package/lib/ocaml/arg.mli +0 -185
  8. package/lib/ocaml/array.cmi +0 -0
  9. package/lib/ocaml/array.cmt +0 -0
  10. package/lib/ocaml/array.cmti +0 -0
  11. package/lib/ocaml/array.ml +0 -307
  12. package/lib/ocaml/array.mli +0 -275
  13. package/lib/ocaml/arrayLabels.cmi +0 -0
  14. package/lib/ocaml/arrayLabels.cmt +0 -0
  15. package/lib/ocaml/arrayLabels.cmti +0 -0
  16. package/lib/ocaml/arrayLabels.ml +0 -307
  17. package/lib/ocaml/arrayLabels.mli +0 -276
  18. package/lib/ocaml/belt.cmi +0 -0
  19. package/lib/ocaml/belt.cmt +0 -0
  20. package/lib/ocaml/belt.ml +0 -352
  21. package/lib/ocaml/belt_Array.cmi +0 -0
  22. package/lib/ocaml/belt_Array.cmt +0 -0
  23. package/lib/ocaml/belt_Array.cmti +0 -0
  24. package/lib/ocaml/belt_Array.ml +0 -525
  25. package/lib/ocaml/belt_Array.mli +0 -707
  26. package/lib/ocaml/belt_Float.cmi +0 -0
  27. package/lib/ocaml/belt_Float.cmt +0 -0
  28. package/lib/ocaml/belt_Float.cmti +0 -0
  29. package/lib/ocaml/belt_Float.ml +0 -50
  30. package/lib/ocaml/belt_Float.mli +0 -106
  31. package/lib/ocaml/belt_HashMap.cmi +0 -0
  32. package/lib/ocaml/belt_HashMap.cmt +0 -0
  33. package/lib/ocaml/belt_HashMap.cmti +0 -0
  34. package/lib/ocaml/belt_HashMap.ml +0 -226
  35. package/lib/ocaml/belt_HashMap.mli +0 -436
  36. package/lib/ocaml/belt_HashMapInt.cmi +0 -0
  37. package/lib/ocaml/belt_HashMapInt.cmt +0 -0
  38. package/lib/ocaml/belt_HashMapInt.cmti +0 -0
  39. package/lib/ocaml/belt_HashMapInt.ml +0 -206
  40. package/lib/ocaml/belt_HashMapInt.mli +0 -50
  41. package/lib/ocaml/belt_HashMapString.cmi +0 -0
  42. package/lib/ocaml/belt_HashMapString.cmt +0 -0
  43. package/lib/ocaml/belt_HashMapString.cmti +0 -0
  44. package/lib/ocaml/belt_HashMapString.ml +0 -206
  45. package/lib/ocaml/belt_HashMapString.mli +0 -50
  46. package/lib/ocaml/belt_HashSet.cmi +0 -0
  47. package/lib/ocaml/belt_HashSet.cmt +0 -0
  48. package/lib/ocaml/belt_HashSet.cmti +0 -0
  49. package/lib/ocaml/belt_HashSet.ml +0 -196
  50. package/lib/ocaml/belt_HashSet.mli +0 -125
  51. package/lib/ocaml/belt_HashSetInt.cmi +0 -0
  52. package/lib/ocaml/belt_HashSetInt.cmt +0 -0
  53. package/lib/ocaml/belt_HashSetInt.cmti +0 -0
  54. package/lib/ocaml/belt_HashSetInt.ml +0 -155
  55. package/lib/ocaml/belt_HashSetInt.mli +0 -74
  56. package/lib/ocaml/belt_HashSetString.cmi +0 -0
  57. package/lib/ocaml/belt_HashSetString.cmt +0 -0
  58. package/lib/ocaml/belt_HashSetString.cmti +0 -0
  59. package/lib/ocaml/belt_HashSetString.ml +0 -156
  60. package/lib/ocaml/belt_HashSetString.mli +0 -74
  61. package/lib/ocaml/belt_Id.cmi +0 -0
  62. package/lib/ocaml/belt_Id.cmt +0 -0
  63. package/lib/ocaml/belt_Id.cmti +0 -0
  64. package/lib/ocaml/belt_Id.ml +0 -133
  65. package/lib/ocaml/belt_Id.mli +0 -171
  66. package/lib/ocaml/belt_Int.cmi +0 -0
  67. package/lib/ocaml/belt_Int.cmt +0 -0
  68. package/lib/ocaml/belt_Int.cmti +0 -0
  69. package/lib/ocaml/belt_Int.ml +0 -50
  70. package/lib/ocaml/belt_Int.mli +0 -103
  71. package/lib/ocaml/belt_List.cmi +0 -0
  72. package/lib/ocaml/belt_List.cmt +0 -0
  73. package/lib/ocaml/belt_List.cmti +0 -0
  74. package/lib/ocaml/belt_List.ml +0 -803
  75. package/lib/ocaml/belt_List.mli +0 -844
  76. package/lib/ocaml/belt_Map.cmi +0 -0
  77. package/lib/ocaml/belt_Map.cmt +0 -0
  78. package/lib/ocaml/belt_Map.cmti +0 -0
  79. package/lib/ocaml/belt_Map.ml +0 -170
  80. package/lib/ocaml/belt_Map.mli +0 -496
  81. package/lib/ocaml/belt_MapDict.cmi +0 -0
  82. package/lib/ocaml/belt_MapDict.cmt +0 -0
  83. package/lib/ocaml/belt_MapDict.cmti +0 -0
  84. package/lib/ocaml/belt_MapDict.ml +0 -278
  85. package/lib/ocaml/belt_MapDict.mli +0 -268
  86. package/lib/ocaml/belt_MapInt.cmi +0 -0
  87. package/lib/ocaml/belt_MapInt.cmt +0 -0
  88. package/lib/ocaml/belt_MapInt.cmti +0 -0
  89. package/lib/ocaml/belt_MapInt.ml +0 -169
  90. package/lib/ocaml/belt_MapInt.mli +0 -187
  91. package/lib/ocaml/belt_MapString.cmi +0 -0
  92. package/lib/ocaml/belt_MapString.cmt +0 -0
  93. package/lib/ocaml/belt_MapString.cmti +0 -0
  94. package/lib/ocaml/belt_MapString.ml +0 -169
  95. package/lib/ocaml/belt_MapString.mli +0 -187
  96. package/lib/ocaml/belt_MutableMap.cmi +0 -0
  97. package/lib/ocaml/belt_MutableMap.cmt +0 -0
  98. package/lib/ocaml/belt_MutableMap.cmti +0 -0
  99. package/lib/ocaml/belt_MutableMap.ml +0 -241
  100. package/lib/ocaml/belt_MutableMap.mli +0 -145
  101. package/lib/ocaml/belt_MutableMapInt.cmi +0 -0
  102. package/lib/ocaml/belt_MutableMapInt.cmt +0 -0
  103. package/lib/ocaml/belt_MutableMapInt.cmti +0 -0
  104. package/lib/ocaml/belt_MutableMapInt.ml +0 -172
  105. package/lib/ocaml/belt_MutableMapInt.mli +0 -135
  106. package/lib/ocaml/belt_MutableMapString.cmi +0 -0
  107. package/lib/ocaml/belt_MutableMapString.cmt +0 -0
  108. package/lib/ocaml/belt_MutableMapString.cmti +0 -0
  109. package/lib/ocaml/belt_MutableMapString.ml +0 -172
  110. package/lib/ocaml/belt_MutableMapString.mli +0 -135
  111. package/lib/ocaml/belt_MutableQueue.cmi +0 -0
  112. package/lib/ocaml/belt_MutableQueue.cmt +0 -0
  113. package/lib/ocaml/belt_MutableQueue.cmti +0 -0
  114. package/lib/ocaml/belt_MutableQueue.ml +0 -222
  115. package/lib/ocaml/belt_MutableQueue.mli +0 -116
  116. package/lib/ocaml/belt_MutableSet.cmi +0 -0
  117. package/lib/ocaml/belt_MutableSet.cmt +0 -0
  118. package/lib/ocaml/belt_MutableSet.cmti +0 -0
  119. package/lib/ocaml/belt_MutableSet.ml +0 -371
  120. package/lib/ocaml/belt_MutableSet.mli +0 -617
  121. package/lib/ocaml/belt_MutableSetInt.cmi +0 -0
  122. package/lib/ocaml/belt_MutableSetInt.cmt +0 -0
  123. package/lib/ocaml/belt_MutableSetInt.cmti +0 -0
  124. package/lib/ocaml/belt_MutableSetInt.ml +0 -342
  125. package/lib/ocaml/belt_MutableSetInt.mli +0 -124
  126. package/lib/ocaml/belt_MutableSetString.cmi +0 -0
  127. package/lib/ocaml/belt_MutableSetString.cmt +0 -0
  128. package/lib/ocaml/belt_MutableSetString.cmti +0 -0
  129. package/lib/ocaml/belt_MutableSetString.ml +0 -342
  130. package/lib/ocaml/belt_MutableSetString.mli +0 -124
  131. package/lib/ocaml/belt_MutableStack.cmi +0 -0
  132. package/lib/ocaml/belt_MutableStack.cmt +0 -0
  133. package/lib/ocaml/belt_MutableStack.cmti +0 -0
  134. package/lib/ocaml/belt_MutableStack.ml +0 -106
  135. package/lib/ocaml/belt_MutableStack.mli +0 -63
  136. package/lib/ocaml/belt_Option.cmi +0 -0
  137. package/lib/ocaml/belt_Option.cmt +0 -0
  138. package/lib/ocaml/belt_Option.cmti +0 -0
  139. package/lib/ocaml/belt_Option.ml +0 -93
  140. package/lib/ocaml/belt_Option.mli +0 -270
  141. package/lib/ocaml/belt_Range.cmi +0 -0
  142. package/lib/ocaml/belt_Range.cmt +0 -0
  143. package/lib/ocaml/belt_Range.cmti +0 -0
  144. package/lib/ocaml/belt_Range.ml +0 -76
  145. package/lib/ocaml/belt_Range.mli +0 -114
  146. package/lib/ocaml/belt_Result.cmi +0 -0
  147. package/lib/ocaml/belt_Result.cmt +0 -0
  148. package/lib/ocaml/belt_Result.cmti +0 -0
  149. package/lib/ocaml/belt_Result.ml +0 -75
  150. package/lib/ocaml/belt_Result.mli +0 -205
  151. package/lib/ocaml/belt_Set.cmi +0 -0
  152. package/lib/ocaml/belt_Set.cmt +0 -0
  153. package/lib/ocaml/belt_Set.cmti +0 -0
  154. package/lib/ocaml/belt_Set.cppo.ml +0 -205
  155. package/lib/ocaml/belt_Set.cppo.mli +0 -153
  156. package/lib/ocaml/belt_Set.ml +0 -164
  157. package/lib/ocaml/belt_Set.mli +0 -523
  158. package/lib/ocaml/belt_SetDict.cmi +0 -0
  159. package/lib/ocaml/belt_SetDict.cmt +0 -0
  160. package/lib/ocaml/belt_SetDict.cmti +0 -0
  161. package/lib/ocaml/belt_SetDict.ml +0 -237
  162. package/lib/ocaml/belt_SetDict.mli +0 -567
  163. package/lib/ocaml/belt_SetInt.cmi +0 -0
  164. package/lib/ocaml/belt_SetInt.cmt +0 -0
  165. package/lib/ocaml/belt_SetInt.cmti +0 -0
  166. package/lib/ocaml/belt_SetInt.ml +0 -201
  167. package/lib/ocaml/belt_SetInt.mli +0 -151
  168. package/lib/ocaml/belt_SetString.cmi +0 -0
  169. package/lib/ocaml/belt_SetString.cmt +0 -0
  170. package/lib/ocaml/belt_SetString.cmti +0 -0
  171. package/lib/ocaml/belt_SetString.ml +0 -201
  172. package/lib/ocaml/belt_SetString.mli +0 -151
  173. package/lib/ocaml/belt_SortArray.cmi +0 -0
  174. package/lib/ocaml/belt_SortArray.cmt +0 -0
  175. package/lib/ocaml/belt_SortArray.cmti +0 -0
  176. package/lib/ocaml/belt_SortArray.ml +0 -322
  177. package/lib/ocaml/belt_SortArray.mli +0 -146
  178. package/lib/ocaml/belt_SortArrayInt.cmi +0 -0
  179. package/lib/ocaml/belt_SortArrayInt.cmt +0 -0
  180. package/lib/ocaml/belt_SortArrayInt.cmti +0 -0
  181. package/lib/ocaml/belt_SortArrayInt.ml +0 -263
  182. package/lib/ocaml/belt_SortArrayInt.mli +0 -93
  183. package/lib/ocaml/belt_SortArrayString.cmi +0 -0
  184. package/lib/ocaml/belt_SortArrayString.cmt +0 -0
  185. package/lib/ocaml/belt_SortArrayString.cmti +0 -0
  186. package/lib/ocaml/belt_SortArrayString.ml +0 -263
  187. package/lib/ocaml/belt_SortArrayString.mli +0 -93
  188. package/lib/ocaml/belt_internalAVLset.cmt +0 -0
  189. package/lib/ocaml/belt_internalAVLset.cmti +0 -0
  190. package/lib/ocaml/belt_internalAVLset.ml +0 -665
  191. package/lib/ocaml/belt_internalAVLset.mli +0 -124
  192. package/lib/ocaml/belt_internalAVLtree.cmt +0 -0
  193. package/lib/ocaml/belt_internalAVLtree.cmti +0 -0
  194. package/lib/ocaml/belt_internalAVLtree.ml +0 -762
  195. package/lib/ocaml/belt_internalAVLtree.mli +0 -215
  196. package/lib/ocaml/belt_internalBuckets.cmt +0 -0
  197. package/lib/ocaml/belt_internalBuckets.cmti +0 -0
  198. package/lib/ocaml/belt_internalBuckets.ml +0 -218
  199. package/lib/ocaml/belt_internalBuckets.mli +0 -57
  200. package/lib/ocaml/belt_internalBucketsType.cmt +0 -0
  201. package/lib/ocaml/belt_internalBucketsType.cmti +0 -0
  202. package/lib/ocaml/belt_internalBucketsType.ml +0 -59
  203. package/lib/ocaml/belt_internalBucketsType.mli +0 -46
  204. package/lib/ocaml/belt_internalMapInt.cmt +0 -0
  205. package/lib/ocaml/belt_internalMapInt.ml +0 -227
  206. package/lib/ocaml/belt_internalMapString.cmt +0 -0
  207. package/lib/ocaml/belt_internalMapString.ml +0 -227
  208. package/lib/ocaml/belt_internalSetBuckets.cmt +0 -0
  209. package/lib/ocaml/belt_internalSetBuckets.cmti +0 -0
  210. package/lib/ocaml/belt_internalSetBuckets.ml +0 -157
  211. package/lib/ocaml/belt_internalSetBuckets.mli +0 -47
  212. package/lib/ocaml/belt_internalSetInt.cmt +0 -0
  213. package/lib/ocaml/belt_internalSetInt.ml +0 -129
  214. package/lib/ocaml/belt_internalSetString.cmt +0 -0
  215. package/lib/ocaml/belt_internalSetString.ml +0 -129
  216. package/lib/ocaml/belt_internals.cmti +0 -0
  217. package/lib/ocaml/belt_internals.mli +0 -79
  218. package/lib/ocaml/buffer.cmi +0 -0
  219. package/lib/ocaml/buffer.cmt +0 -0
  220. package/lib/ocaml/buffer.cmti +0 -0
  221. package/lib/ocaml/buffer.ml +0 -250
  222. package/lib/ocaml/buffer.mli +0 -149
  223. package/lib/ocaml/bytes.cmi +0 -0
  224. package/lib/ocaml/bytes.cmt +0 -0
  225. package/lib/ocaml/bytes.cmti +0 -0
  226. package/lib/ocaml/bytes.ml +0 -431
  227. package/lib/ocaml/bytes.mli +0 -430
  228. package/lib/ocaml/bytesLabels.cmi +0 -0
  229. package/lib/ocaml/bytesLabels.cmt +0 -0
  230. package/lib/ocaml/bytesLabels.cmti +0 -0
  231. package/lib/ocaml/bytesLabels.ml +0 -428
  232. package/lib/ocaml/bytesLabels.mli +0 -276
  233. package/lib/ocaml/callback.cmi +0 -0
  234. package/lib/ocaml/callback.cmt +0 -0
  235. package/lib/ocaml/callback.cmti +0 -0
  236. package/lib/ocaml/callback.ml +0 -20
  237. package/lib/ocaml/callback.mli +0 -34
  238. package/lib/ocaml/camlinternalLazy.cmi +0 -0
  239. package/lib/ocaml/camlinternalLazy.cmt +0 -0
  240. package/lib/ocaml/camlinternalLazy.cmti +0 -0
  241. package/lib/ocaml/camlinternalLazy.ml +0 -89
  242. package/lib/ocaml/camlinternalLazy.mli +0 -27
  243. package/lib/ocaml/camlinternalMod.cmi +0 -0
  244. package/lib/ocaml/camlinternalMod.cmt +0 -0
  245. package/lib/ocaml/camlinternalMod.cmti +0 -0
  246. package/lib/ocaml/camlinternalMod.ml +0 -21
  247. package/lib/ocaml/camlinternalMod.mli +0 -25
  248. package/lib/ocaml/char.cmi +0 -0
  249. package/lib/ocaml/char.cmt +0 -0
  250. package/lib/ocaml/char.cmti +0 -0
  251. package/lib/ocaml/char.ml +0 -76
  252. package/lib/ocaml/char.mli +0 -72
  253. package/lib/ocaml/complex.cmi +0 -0
  254. package/lib/ocaml/complex.cmt +0 -0
  255. package/lib/ocaml/complex.cmti +0 -0
  256. package/lib/ocaml/complex.ml +0 -87
  257. package/lib/ocaml/complex.mli +0 -86
  258. package/lib/ocaml/digest.cmi +0 -0
  259. package/lib/ocaml/digest.cmt +0 -0
  260. package/lib/ocaml/digest.cmti +0 -0
  261. package/lib/ocaml/digest.ml +0 -66
  262. package/lib/ocaml/digest.mli +0 -68
  263. package/lib/ocaml/dom.cmi +0 -0
  264. package/lib/ocaml/dom.cmt +0 -0
  265. package/lib/ocaml/dom.ml +0 -296
  266. package/lib/ocaml/dom_storage.cmi +0 -0
  267. package/lib/ocaml/dom_storage.cmt +0 -0
  268. package/lib/ocaml/dom_storage.ml +0 -22
  269. package/lib/ocaml/dom_storage2.cmi +0 -0
  270. package/lib/ocaml/dom_storage2.cmt +0 -0
  271. package/lib/ocaml/dom_storage2.ml +0 -11
  272. package/lib/ocaml/filename.cmi +0 -0
  273. package/lib/ocaml/filename.cmt +0 -0
  274. package/lib/ocaml/filename.cmti +0 -0
  275. package/lib/ocaml/filename.ml +0 -233
  276. package/lib/ocaml/filename.mli +0 -134
  277. package/lib/ocaml/genlex.cmi +0 -0
  278. package/lib/ocaml/genlex.cmt +0 -0
  279. package/lib/ocaml/genlex.cmti +0 -0
  280. package/lib/ocaml/genlex.ml +0 -201
  281. package/lib/ocaml/genlex.mli +0 -73
  282. package/lib/ocaml/hashmap.cppo.ml +0 -214
  283. package/lib/ocaml/hashmap.cppo.mli +0 -54
  284. package/lib/ocaml/hashset.cppo.ml +0 -165
  285. package/lib/ocaml/hashset.cppo.mli +0 -77
  286. package/lib/ocaml/hashtbl.cmi +0 -0
  287. package/lib/ocaml/hashtbl.cmt +0 -0
  288. package/lib/ocaml/hashtbl.cmti +0 -0
  289. package/lib/ocaml/hashtbl.ml +0 -541
  290. package/lib/ocaml/hashtbl.mli +0 -411
  291. package/lib/ocaml/hashtblLabels.cmi +0 -0
  292. package/lib/ocaml/hashtblLabels.cmt +0 -0
  293. package/lib/ocaml/hashtblLabels.ml +0 -130
  294. package/lib/ocaml/int32.cmi +0 -0
  295. package/lib/ocaml/int32.cmt +0 -0
  296. package/lib/ocaml/int32.cmti +0 -0
  297. package/lib/ocaml/int32.ml +0 -64
  298. package/lib/ocaml/int32.mli +0 -186
  299. package/lib/ocaml/int64.cmi +0 -0
  300. package/lib/ocaml/int64.cmt +0 -0
  301. package/lib/ocaml/int64.cmti +0 -0
  302. package/lib/ocaml/int64.ml +0 -72
  303. package/lib/ocaml/int64.mli +0 -197
  304. package/lib/ocaml/internal_map.cppo.ml +0 -230
  305. package/lib/ocaml/internal_set.cppo.ml +0 -134
  306. package/lib/ocaml/js.cmi +0 -0
  307. package/lib/ocaml/js.cmt +0 -0
  308. package/lib/ocaml/js.ml +0 -316
  309. package/lib/ocaml/js_OO.cmi +0 -0
  310. package/lib/ocaml/js_OO.cmt +0 -0
  311. package/lib/ocaml/js_OO.ml +0 -180
  312. package/lib/ocaml/js_array.cmi +0 -0
  313. package/lib/ocaml/js_array.cmt +0 -0
  314. package/lib/ocaml/js_array.ml +0 -970
  315. package/lib/ocaml/js_array2.cmi +0 -0
  316. package/lib/ocaml/js_array2.cmt +0 -0
  317. package/lib/ocaml/js_array2.ml +0 -1065
  318. package/lib/ocaml/js_bigint.cmi +0 -0
  319. package/lib/ocaml/js_bigint.cmt +0 -0
  320. package/lib/ocaml/js_bigint.ml +0 -3
  321. package/lib/ocaml/js_cast.cmi +0 -0
  322. package/lib/ocaml/js_cast.cmt +0 -0
  323. package/lib/ocaml/js_cast.cmti +0 -0
  324. package/lib/ocaml/js_cast.ml +0 -29
  325. package/lib/ocaml/js_cast.mli +0 -45
  326. package/lib/ocaml/js_console.cmi +0 -0
  327. package/lib/ocaml/js_console.cmt +0 -0
  328. package/lib/ocaml/js_console.ml +0 -51
  329. package/lib/ocaml/js_date.cmi +0 -0
  330. package/lib/ocaml/js_date.cmt +0 -0
  331. package/lib/ocaml/js_date.ml +0 -1263
  332. package/lib/ocaml/js_dict.cmi +0 -0
  333. package/lib/ocaml/js_dict.cmt +0 -0
  334. package/lib/ocaml/js_dict.cmti +0 -0
  335. package/lib/ocaml/js_dict.ml +0 -114
  336. package/lib/ocaml/js_dict.mli +0 -152
  337. package/lib/ocaml/js_exn.cmi +0 -0
  338. package/lib/ocaml/js_exn.cmt +0 -0
  339. package/lib/ocaml/js_exn.cmti +0 -0
  340. package/lib/ocaml/js_exn.ml +0 -102
  341. package/lib/ocaml/js_exn.mli +0 -79
  342. package/lib/ocaml/js_float.cmi +0 -0
  343. package/lib/ocaml/js_float.cmt +0 -0
  344. package/lib/ocaml/js_float.ml +0 -294
  345. package/lib/ocaml/js_global.cmi +0 -0
  346. package/lib/ocaml/js_global.cmt +0 -0
  347. package/lib/ocaml/js_global.ml +0 -185
  348. package/lib/ocaml/js_int.cmi +0 -0
  349. package/lib/ocaml/js_int.cmt +0 -0
  350. package/lib/ocaml/js_int.ml +0 -158
  351. package/lib/ocaml/js_json.cmi +0 -0
  352. package/lib/ocaml/js_json.cmt +0 -0
  353. package/lib/ocaml/js_json.cmti +0 -0
  354. package/lib/ocaml/js_json.ml +0 -195
  355. package/lib/ocaml/js_json.mli +0 -244
  356. package/lib/ocaml/js_list.cmi +0 -0
  357. package/lib/ocaml/js_list.cmt +0 -0
  358. package/lib/ocaml/js_list.cmti +0 -0
  359. package/lib/ocaml/js_list.ml +0 -174
  360. package/lib/ocaml/js_list.mli +0 -72
  361. package/lib/ocaml/js_map.cmi +0 -0
  362. package/lib/ocaml/js_map.cmt +0 -0
  363. package/lib/ocaml/js_map.ml +0 -3
  364. package/lib/ocaml/js_mapperRt.cmi +0 -0
  365. package/lib/ocaml/js_mapperRt.cmt +0 -0
  366. package/lib/ocaml/js_mapperRt.cmti +0 -0
  367. package/lib/ocaml/js_mapperRt.ml +0 -50
  368. package/lib/ocaml/js_mapperRt.mli +0 -44
  369. package/lib/ocaml/js_math.cmi +0 -0
  370. package/lib/ocaml/js_math.cmt +0 -0
  371. package/lib/ocaml/js_math.ml +0 -626
  372. package/lib/ocaml/js_null.cmi +0 -0
  373. package/lib/ocaml/js_null.cmt +0 -0
  374. package/lib/ocaml/js_null.cmti +0 -0
  375. package/lib/ocaml/js_null.ml +0 -57
  376. package/lib/ocaml/js_null.mli +0 -87
  377. package/lib/ocaml/js_null_undefined.cmi +0 -0
  378. package/lib/ocaml/js_null_undefined.cmt +0 -0
  379. package/lib/ocaml/js_null_undefined.cmti +0 -0
  380. package/lib/ocaml/js_null_undefined.ml +0 -50
  381. package/lib/ocaml/js_null_undefined.mli +0 -85
  382. package/lib/ocaml/js_obj.cmi +0 -0
  383. package/lib/ocaml/js_obj.cmt +0 -0
  384. package/lib/ocaml/js_obj.ml +0 -100
  385. package/lib/ocaml/js_option.cmi +0 -0
  386. package/lib/ocaml/js_option.cmt +0 -0
  387. package/lib/ocaml/js_option.cmti +0 -0
  388. package/lib/ocaml/js_option.ml +0 -203
  389. package/lib/ocaml/js_option.mli +0 -52
  390. package/lib/ocaml/js_promise.cmi +0 -0
  391. package/lib/ocaml/js_promise.cmt +0 -0
  392. package/lib/ocaml/js_promise.ml +0 -100
  393. package/lib/ocaml/js_promise2.cmi +0 -0
  394. package/lib/ocaml/js_promise2.cmt +0 -0
  395. package/lib/ocaml/js_promise2.res +0 -58
  396. package/lib/ocaml/js_re.cmi +0 -0
  397. package/lib/ocaml/js_re.cmt +0 -0
  398. package/lib/ocaml/js_re.ml +0 -184
  399. package/lib/ocaml/js_result.cmi +0 -0
  400. package/lib/ocaml/js_result.cmt +0 -0
  401. package/lib/ocaml/js_result.cmti +0 -0
  402. package/lib/ocaml/js_result.ml +0 -28
  403. package/lib/ocaml/js_result.mli +0 -28
  404. package/lib/ocaml/js_set.cmi +0 -0
  405. package/lib/ocaml/js_set.cmt +0 -0
  406. package/lib/ocaml/js_set.ml +0 -3
  407. package/lib/ocaml/js_string.cmi +0 -0
  408. package/lib/ocaml/js_string.cmt +0 -0
  409. package/lib/ocaml/js_string.ml +0 -914
  410. package/lib/ocaml/js_string2.cmi +0 -0
  411. package/lib/ocaml/js_string2.cmt +0 -0
  412. package/lib/ocaml/js_string2.ml +0 -912
  413. package/lib/ocaml/js_typed_array.cmi +0 -0
  414. package/lib/ocaml/js_typed_array.cmt +0 -0
  415. package/lib/ocaml/js_typed_array.cppo.ml +0 -429
  416. package/lib/ocaml/js_typed_array.ml +0 -1405
  417. package/lib/ocaml/js_typed_array2.cmi +0 -0
  418. package/lib/ocaml/js_typed_array2.cmt +0 -0
  419. package/lib/ocaml/js_typed_array2.cppo.ml +0 -296
  420. package/lib/ocaml/js_typed_array2.ml +0 -1269
  421. package/lib/ocaml/js_types.cmi +0 -0
  422. package/lib/ocaml/js_types.cmt +0 -0
  423. package/lib/ocaml/js_types.cmti +0 -0
  424. package/lib/ocaml/js_types.ml +0 -118
  425. package/lib/ocaml/js_types.mli +0 -78
  426. package/lib/ocaml/js_undefined.cmi +0 -0
  427. package/lib/ocaml/js_undefined.cmt +0 -0
  428. package/lib/ocaml/js_undefined.cmti +0 -0
  429. package/lib/ocaml/js_undefined.ml +0 -59
  430. package/lib/ocaml/js_undefined.mli +0 -92
  431. package/lib/ocaml/js_vector.cmi +0 -0
  432. package/lib/ocaml/js_vector.cmt +0 -0
  433. package/lib/ocaml/js_vector.cmti +0 -0
  434. package/lib/ocaml/js_vector.ml +0 -143
  435. package/lib/ocaml/js_vector.mli +0 -92
  436. package/lib/ocaml/js_weakmap.cmi +0 -0
  437. package/lib/ocaml/js_weakmap.cmt +0 -0
  438. package/lib/ocaml/js_weakmap.ml +0 -3
  439. package/lib/ocaml/js_weakset.cmi +0 -0
  440. package/lib/ocaml/js_weakset.cmt +0 -0
  441. package/lib/ocaml/js_weakset.ml +0 -3
  442. package/lib/ocaml/jsx.cmi +0 -0
  443. package/lib/ocaml/jsx.cmt +0 -0
  444. package/lib/ocaml/jsx.res +0 -40
  445. package/lib/ocaml/jsxDOM.cmi +0 -0
  446. package/lib/ocaml/jsxDOM.cmt +0 -0
  447. package/lib/ocaml/jsxDOM.res +0 -620
  448. package/lib/ocaml/jsxDOMStyle.cmi +0 -0
  449. package/lib/ocaml/jsxDOMStyle.cmt +0 -0
  450. package/lib/ocaml/jsxDOMStyle.ml +0 -781
  451. package/lib/ocaml/jsxEvent.cmi +0 -0
  452. package/lib/ocaml/jsxEvent.cmt +0 -0
  453. package/lib/ocaml/jsxEvent.ml +0 -358
  454. package/lib/ocaml/jsxPPXReactSupport.cmi +0 -0
  455. package/lib/ocaml/jsxPPXReactSupport.cmt +0 -0
  456. package/lib/ocaml/jsxPPXReactSupport.res +0 -48
  457. package/lib/ocaml/lazy.cmi +0 -0
  458. package/lib/ocaml/lazy.cmt +0 -0
  459. package/lib/ocaml/lazy.cmti +0 -0
  460. package/lib/ocaml/lazy.ml +0 -70
  461. package/lib/ocaml/lazy.mli +0 -95
  462. package/lib/ocaml/lexing.cmi +0 -0
  463. package/lib/ocaml/lexing.cmt +0 -0
  464. package/lib/ocaml/lexing.cmti +0 -0
  465. package/lib/ocaml/lexing.ml +0 -230
  466. package/lib/ocaml/lexing.mli +0 -172
  467. package/lib/ocaml/list.cmi +0 -0
  468. package/lib/ocaml/list.cmt +0 -0
  469. package/lib/ocaml/list.cmti +0 -0
  470. package/lib/ocaml/list.ml +0 -485
  471. package/lib/ocaml/list.mli +0 -347
  472. package/lib/ocaml/listLabels.cmi +0 -0
  473. package/lib/ocaml/listLabels.cmt +0 -0
  474. package/lib/ocaml/listLabels.cmti +0 -0
  475. package/lib/ocaml/listLabels.ml +0 -485
  476. package/lib/ocaml/listLabels.mli +0 -353
  477. package/lib/ocaml/map.cmi +0 -0
  478. package/lib/ocaml/map.cmt +0 -0
  479. package/lib/ocaml/map.cmti +0 -0
  480. package/lib/ocaml/map.cppo.ml +0 -174
  481. package/lib/ocaml/map.cppo.mli +0 -191
  482. package/lib/ocaml/map.ml +0 -480
  483. package/lib/ocaml/map.mli +0 -315
  484. package/lib/ocaml/mapLabels.cmi +0 -0
  485. package/lib/ocaml/mapLabels.cmt +0 -0
  486. package/lib/ocaml/mapLabels.ml +0 -480
  487. package/lib/ocaml/mapm.cppo.ml +0 -177
  488. package/lib/ocaml/mapm.cppo.mli +0 -138
  489. package/lib/ocaml/moreLabels.cmi +0 -0
  490. package/lib/ocaml/moreLabels.cmt +0 -0
  491. package/lib/ocaml/moreLabels.cmti +0 -0
  492. package/lib/ocaml/moreLabels.ml +0 -22
  493. package/lib/ocaml/moreLabels.mli +0 -198
  494. package/lib/ocaml/node.cmi +0 -0
  495. package/lib/ocaml/node.cmt +0 -0
  496. package/lib/ocaml/node.ml +0 -84
  497. package/lib/ocaml/node_buffer.cmi +0 -0
  498. package/lib/ocaml/node_buffer.cmt +0 -0
  499. package/lib/ocaml/node_buffer.ml +0 -47
  500. package/lib/ocaml/node_child_process.cmi +0 -0
  501. package/lib/ocaml/node_child_process.cmt +0 -0
  502. package/lib/ocaml/node_child_process.ml +0 -50
  503. package/lib/ocaml/node_fs.cmi +0 -0
  504. package/lib/ocaml/node_fs.cmt +0 -0
  505. package/lib/ocaml/node_fs.ml +0 -153
  506. package/lib/ocaml/node_module.cmi +0 -0
  507. package/lib/ocaml/node_module.cmt +0 -0
  508. package/lib/ocaml/node_module.ml +0 -29
  509. package/lib/ocaml/node_path.cmi +0 -0
  510. package/lib/ocaml/node_path.cmt +0 -0
  511. package/lib/ocaml/node_path.ml +0 -71
  512. package/lib/ocaml/node_process.cmi +0 -0
  513. package/lib/ocaml/node_process.cmt +0 -0
  514. package/lib/ocaml/node_process.cmti +0 -0
  515. package/lib/ocaml/node_process.ml +0 -59
  516. package/lib/ocaml/node_process.mli +0 -48
  517. package/lib/ocaml/obj.cmi +0 -0
  518. package/lib/ocaml/obj.cmt +0 -0
  519. package/lib/ocaml/obj.cmti +0 -0
  520. package/lib/ocaml/obj.ml +0 -29
  521. package/lib/ocaml/obj.mli +0 -62
  522. package/lib/ocaml/parsing.cmi +0 -0
  523. package/lib/ocaml/parsing.cmt +0 -0
  524. package/lib/ocaml/parsing.cmti +0 -0
  525. package/lib/ocaml/parsing.ml +0 -212
  526. package/lib/ocaml/parsing.mli +0 -105
  527. package/lib/ocaml/pervasives.cmi +0 -0
  528. package/lib/ocaml/pervasives.cmt +0 -0
  529. package/lib/ocaml/pervasives.cmti +0 -0
  530. package/lib/ocaml/pervasives.ml +0 -297
  531. package/lib/ocaml/pervasives.mli +0 -771
  532. package/lib/ocaml/printexc.cmi +0 -0
  533. package/lib/ocaml/printexc.cmt +0 -0
  534. package/lib/ocaml/printexc.cmti +0 -0
  535. package/lib/ocaml/printexc.ml +0 -75
  536. package/lib/ocaml/printexc.mli +0 -57
  537. package/lib/ocaml/queue.cmi +0 -0
  538. package/lib/ocaml/queue.cmt +0 -0
  539. package/lib/ocaml/queue.cmti +0 -0
  540. package/lib/ocaml/queue.ml +0 -132
  541. package/lib/ocaml/queue.mli +0 -82
  542. package/lib/ocaml/random.cmi +0 -0
  543. package/lib/ocaml/random.cmt +0 -0
  544. package/lib/ocaml/random.cmti +0 -0
  545. package/lib/ocaml/random.ml +0 -273
  546. package/lib/ocaml/random.mli +0 -102
  547. package/lib/ocaml/set.cmi +0 -0
  548. package/lib/ocaml/set.cmt +0 -0
  549. package/lib/ocaml/set.cmti +0 -0
  550. package/lib/ocaml/set.ml +0 -526
  551. package/lib/ocaml/set.mli +0 -266
  552. package/lib/ocaml/setLabels.cmi +0 -0
  553. package/lib/ocaml/setLabels.cmt +0 -0
  554. package/lib/ocaml/setLabels.ml +0 -526
  555. package/lib/ocaml/setm.cppo.ml +0 -346
  556. package/lib/ocaml/setm.cppo.mli +0 -126
  557. package/lib/ocaml/sort.cmi +0 -0
  558. package/lib/ocaml/sort.cmt +0 -0
  559. package/lib/ocaml/sort.cmti +0 -0
  560. package/lib/ocaml/sort.cppo.ml +0 -267
  561. package/lib/ocaml/sort.cppo.mli +0 -96
  562. package/lib/ocaml/sort.ml +0 -99
  563. package/lib/ocaml/sort.mli +0 -44
  564. package/lib/ocaml/stack.cmi +0 -0
  565. package/lib/ocaml/stack.cmt +0 -0
  566. package/lib/ocaml/stack.cmti +0 -0
  567. package/lib/ocaml/stack.ml +0 -44
  568. package/lib/ocaml/stack.mli +0 -63
  569. package/lib/ocaml/stdLabels.cmi +0 -0
  570. package/lib/ocaml/stdLabels.cmt +0 -0
  571. package/lib/ocaml/stdLabels.cmti +0 -0
  572. package/lib/ocaml/stdLabels.ml +0 -24
  573. package/lib/ocaml/stdLabels.mli +0 -29
  574. package/lib/ocaml/stream.cmi +0 -0
  575. package/lib/ocaml/stream.cmt +0 -0
  576. package/lib/ocaml/stream.cmti +0 -0
  577. package/lib/ocaml/stream.ml +0 -213
  578. package/lib/ocaml/stream.mli +0 -108
  579. package/lib/ocaml/string.cmi +0 -0
  580. package/lib/ocaml/string.cmt +0 -0
  581. package/lib/ocaml/string.cmti +0 -0
  582. package/lib/ocaml/string.ml +0 -190
  583. package/lib/ocaml/string.mli +0 -286
  584. package/lib/ocaml/stringLabels.cmi +0 -0
  585. package/lib/ocaml/stringLabels.cmt +0 -0
  586. package/lib/ocaml/stringLabels.cmti +0 -0
  587. package/lib/ocaml/stringLabels.ml +0 -190
  588. package/lib/ocaml/stringLabels.mli +0 -241
  589. package/lib/ocaml/sys.cmi +0 -0
  590. package/lib/ocaml/sys.cmt +0 -0
  591. package/lib/ocaml/sys.cmti +0 -0
  592. package/lib/ocaml/sys.ml +0 -135
  593. package/lib/ocaml/sys.mli +0 -333
  594. package/lib/ocaml/uchar.cmi +0 -0
  595. package/lib/ocaml/uchar.cmt +0 -0
  596. package/lib/ocaml/uchar.cmti +0 -0
  597. package/lib/ocaml/uchar.ml +0 -58
  598. package/lib/ocaml/uchar.mli +0 -98
@@ -1,206 +0,0 @@
1
- # 1 "others/hashmap.cppo.ml"
2
- (***********************************************************************)
3
- (* *)
4
- (* OCaml *)
5
- (* *)
6
- (* Xavier Leroy, projet Cristal, INRIA Rocquencourt *)
7
- (* *)
8
- (* Copyright 1996 Institut National de Recherche en Informatique et *)
9
- (* en Automatique. All rights reserved. This file is distributed *)
10
- (* under the terms of the GNU Library General Public License, with *)
11
- (* the special exception on linking described in file ../LICENSE. *)
12
- (* *)
13
- (***********************************************************************)
14
- (** Adapted by Hongbo Zhang, Authors of ReScript 2017 *)
15
-
16
- # 16 "others/hashmap.cppo.ml"
17
- type key = string
18
- type seed = int
19
- external caml_hash_mix_string : seed -> string -> seed = "?hash_mix_string"
20
- external final_mix : seed -> seed = "?hash_final_mix"
21
- let hash (s : key) =
22
- final_mix (caml_hash_mix_string 0 s )
23
-
24
- # 33 "others/hashmap.cppo.ml"
25
- module N = Belt_internalBuckets
26
- module C = Belt_internalBucketsType
27
- module A = Belt_Array
28
-
29
-
30
- type 'b t = (unit, unit, key,'b) N.t
31
-
32
-
33
- let rec copyBucketReHash ~h_buckets ~ndata_tail (old_bucket : _ N.bucket C.opt ) =
34
- match C.toOpt old_bucket with
35
- | None -> ()
36
- | Some cell ->
37
- let nidx = hash cell.key land (A.length h_buckets - 1) in
38
- let v = C.return cell in
39
- begin match C.toOpt (A.getUnsafe ndata_tail nidx) with
40
- | None ->
41
- A.setUnsafe h_buckets nidx v
42
- | Some tail ->
43
- tail.N.next <- v (* cell put at the end *)
44
- end;
45
- A.setUnsafe ndata_tail nidx v;
46
- copyBucketReHash ~h_buckets ~ndata_tail cell.next
47
-
48
-
49
- let resize h =
50
- let odata = h.C.buckets in
51
- let osize = A.length odata in
52
- let nsize = osize * 2 in
53
- if nsize >= osize then begin (* no overflow *)
54
- let h_buckets = A.makeUninitialized nsize in
55
- let ndata_tail = A.makeUninitialized nsize in (* keep track of tail *)
56
- h.C.buckets <- h_buckets; (* so that indexfun sees the new bucket count *)
57
- for i = 0 to osize - 1 do
58
- copyBucketReHash ~h_buckets ~ndata_tail (A.getUnsafe odata i)
59
- done;
60
- for i = 0 to nsize - 1 do
61
- match C.toOpt (A.getUnsafe ndata_tail i) with
62
- | None -> ()
63
- | Some tail -> tail.next <- C.emptyOpt
64
- done
65
- end
66
-
67
-
68
- let rec replaceInBucket (key : key) info cell =
69
- if cell.N.key = key
70
- then
71
- begin
72
- cell.N.value <- info;
73
- false
74
- end
75
- else
76
- match C.toOpt cell.next with
77
- | None -> true
78
- | Some cell ->
79
- replaceInBucket key info cell
80
-
81
- let set h (key : key) value =
82
- let h_buckets = h.C.buckets in
83
- let buckets_len = A.length h_buckets in
84
- let i = hash key land (buckets_len - 1) in
85
- let l = A.getUnsafe h_buckets i in
86
- (match C.toOpt l with
87
- | None ->
88
- A.setUnsafe h_buckets i (C.return {N.key; value; next = C.emptyOpt});
89
- h.C.size <- (h.C.size + 1);
90
- | Some bucket ->
91
- if replaceInBucket key value bucket then begin
92
- A.setUnsafe h_buckets i (C.return {N.key; value; next = l});
93
- h.C.size <- (h.C.size + 1);
94
- end
95
- );
96
- if h.C.size > buckets_len lsl 1 then resize h
97
-
98
-
99
-
100
- let rec removeInBucket h h_buckets i (key : key) prec buckets =
101
- match C.toOpt buckets with
102
- | None -> ()
103
- | Some cell ->
104
- let cell_next = cell.N.next in
105
- if cell.N.key = key
106
- then
107
- begin
108
- prec.N.next <-cell_next;
109
- h.C.size <- (h.C.size - 1);
110
- end
111
- else removeInBucket h h_buckets i key cell cell_next
112
-
113
- let remove h key =
114
- let h_buckets = h.C.buckets in
115
- let i = hash key land (A.length h_buckets - 1) in
116
- let bucket = (A.getUnsafe h_buckets i) in
117
- match C.toOpt bucket with
118
- | None -> ()
119
- | Some cell ->
120
- if cell.N.key = key then
121
- begin
122
- A.setUnsafe h_buckets i cell.next;
123
- h.C.size <- (h.C.size - 1)
124
- end
125
- else
126
- removeInBucket h h_buckets i key cell cell.next
127
-
128
-
129
-
130
- let rec getAux (key : key) buckets =
131
- match C.toOpt buckets with
132
- | None ->
133
- None
134
- | Some cell ->
135
- if key = cell.N.key then Some cell.N.value
136
- else getAux key cell.next
137
-
138
- let get h (key : key) =
139
- let h_buckets = h.C.buckets in
140
- let nid = hash key land (A.length h_buckets - 1) in
141
- match C.toOpt (A.getUnsafe h_buckets nid) with
142
- | None -> None
143
- | Some cell1 ->
144
- if key = cell1.N.key then Some cell1.N.value else
145
- match C.toOpt cell1.N.next with
146
- | None -> None
147
- | Some cell2 ->
148
- if key = cell2.N.key then Some cell2.N.value else
149
- match C.toOpt cell2.N.next with
150
- | None -> None
151
- | Some cell3 ->
152
- if key = cell3.N.key then Some cell3.N.value
153
- else getAux key cell3.N.next
154
-
155
-
156
- let rec memInBucket (key : key) cell =
157
- cell.N.key = key ||
158
- (match C.toOpt cell.next with
159
- | None -> false
160
- | Some nextCell -> memInBucket key nextCell
161
- )
162
-
163
- let has h key =
164
- let h_buckets = h.C.buckets in
165
- let nid = hash key land (A.length h_buckets - 1) in
166
- let bucket = A.getUnsafe h_buckets nid in
167
- match C.toOpt bucket with
168
- | None -> false
169
- | Some bucket ->
170
- memInBucket key bucket
171
-
172
-
173
- let make ~hintSize = C.make ~hintSize ~hash:() ~eq:()
174
- let clear = C.clear
175
- let size h = h.C.size
176
- let forEachU = N.forEachU
177
- let forEach = N.forEach
178
- let reduceU = N.reduceU
179
- let reduce = N.reduce
180
- let logStats = N.logStats
181
- let keepMapInPlaceU = N.keepMapInPlaceU
182
- let keepMapInPlace = N.keepMapInPlace
183
- let toArray = N.toArray
184
- let copy = N.copy
185
- let keysToArray = N.keysToArray
186
- let valuesToArray = N.valuesToArray
187
- let getBucketHistogram = N.getBucketHistogram
188
- let isEmpty = C.isEmpty
189
-
190
- let fromArray arr =
191
- let len = A.length arr in
192
- let v = make ~hintSize:len in
193
- for i = 0 to len - 1 do
194
- let k,value = (A.getUnsafe arr i) in
195
- set v k value
196
- done ;
197
- v
198
-
199
- (* TOOD: optimize heuristics for resizing *)
200
- let mergeMany h arr =
201
- let len = A.length arr in
202
- for i = 0 to len - 1 do
203
- let k,v = (A.getUnsafe arr i) in
204
- set h k v
205
- done
206
-
@@ -1,50 +0,0 @@
1
- # 2 "others/hashmap.cppo.mli"
2
- type key = string
3
-
4
-
5
- # 10 "others/hashmap.cppo.mli"
6
- type 'b t
7
-
8
-
9
- val make: hintSize:int -> 'b t
10
-
11
- val clear: 'b t -> unit
12
-
13
- val isEmpty: _ t -> bool
14
-
15
- val set: 'a t -> key -> 'a -> unit
16
- (**
17
- `setDone tbl k v` if `k` does not exist,
18
- add the binding `k,v`, otherwise, update the old value with the new
19
- `v`
20
- *)
21
-
22
-
23
- val copy: 'a t -> 'a t
24
- val get: 'a t -> key -> 'a option
25
-
26
- val has: 'b t -> key -> bool
27
-
28
- val remove: 'a t -> key -> unit
29
-
30
- val forEachU: 'b t -> (key -> 'b -> unit [@bs]) -> unit
31
- val forEach: 'b t -> (key -> 'b -> unit) -> unit
32
-
33
- val reduceU: 'b t -> 'c -> ('c -> key -> 'b -> 'c [@bs]) -> 'c
34
- val reduce: 'b t -> 'c -> ('c -> key -> 'b -> 'c) -> 'c
35
-
36
- val keepMapInPlaceU: 'a t -> (key -> 'a -> 'a option [@bs]) -> unit
37
- val keepMapInPlace: 'a t -> (key -> 'a -> 'a option) -> unit
38
-
39
-
40
- val size: _ t -> int
41
-
42
-
43
- val toArray: 'a t -> (key * 'a) array
44
- val keysToArray: 'a t -> key array
45
- val valuesToArray: 'a t -> 'a array
46
- val fromArray: (key * 'a) array -> 'a t
47
- val mergeMany: 'a t -> (key * 'a) array -> unit
48
- val getBucketHistogram: _ t -> int array
49
- val logStats: _ t -> unit
50
-
Binary file
Binary file
Binary file
@@ -1,196 +0,0 @@
1
- (* Copyright (C) 2017 Hongbo Zhang, Authors of ReScript
2
- *
3
- * This program is free software: you can redistribute it and/or modify
4
- * it under the terms of the GNU Lesser General Public License as published by
5
- * the Free Software Foundation, either version 3 of the License, or
6
- * (at your option) any later version.
7
- *
8
- * In addition to the permissions granted to you by the LGPL, you may combine
9
- * or link a "work that uses the Library" with a publicly distributed version
10
- * of this file to produce a combined library or application, then distribute
11
- * that combined work under the terms of your choosing, with no requirement
12
- * to comply with the obligations normally placed on you by section 4 of the
13
- * LGPL version 3 (or the corresponding section of a later version of the LGPL
14
- * should you choose to use a later version).
15
- *
16
- * This program is distributed in the hope that it will be useful,
17
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
- * GNU Lesser General Public License for more details.
20
- *
21
- * You should have received a copy of the GNU Lesser General Public License
22
- * along with this program; if not, write to the Free Software
23
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *)
24
-
25
- module Int = Belt_HashSetInt
26
-
27
- module String = Belt_HashSetString
28
-
29
-
30
- module N = Belt_internalSetBuckets
31
- module C = Belt_internalBucketsType
32
- module A = Belt_Array
33
-
34
- type ('a, 'id) eq = ('a, 'id) Belt_Id.eq
35
- type ('a, 'id) hash = ('a, 'id) Belt_Id.hash
36
- type ('a, 'id) id = ('a, 'id) Belt_Id.hashable
37
-
38
- type ('a,'id) t = ( ('a, 'id) hash, ('a, 'id) eq, 'a) N.t
39
-
40
-
41
-
42
- let rec copyBucket ~hash ~h_buckets ~ndata_tail old_bucket =
43
- match C.toOpt old_bucket with
44
- | None -> ()
45
- | Some cell ->
46
- let nidx = (Belt_Id.getHashInternal hash) cell.N.key [@bs] land (A.length h_buckets - 1) in
47
- let v = C.return cell in
48
- begin match C.toOpt (A.getUnsafe ndata_tail nidx) with
49
- | None ->
50
- A.setUnsafe h_buckets nidx v
51
- | Some tail ->
52
- tail.N.next <- v (* cell put at the end *)
53
- end;
54
- A.setUnsafe ndata_tail nidx v;
55
- copyBucket ~hash ~h_buckets ~ndata_tail cell.N.next
56
-
57
-
58
- let tryDoubleResize ~hash h =
59
- let odata = h.C.buckets in
60
- let osize = A.length odata in
61
- let nsize = osize * 2 in
62
- if nsize >= osize then begin (* no overflow *)
63
- let h_buckets = A.makeUninitialized nsize in
64
- let ndata_tail = A.makeUninitialized nsize in (* keep track of tail *)
65
- h.buckets <- h_buckets; (* so that indexfun sees the new bucket count *)
66
- for i = 0 to osize - 1 do
67
- copyBucket ~hash ~h_buckets ~ndata_tail (A.getUnsafe odata i)
68
- done;
69
- for i = 0 to nsize - 1 do
70
- match C.toOpt (A.getUnsafe ndata_tail i) with
71
- | None -> ()
72
- | Some tail -> tail.N.next <- C.emptyOpt
73
- done
74
- end
75
-
76
-
77
-
78
- let rec removeBucket ~eq h h_buckets i key prec cell =
79
- let cell_next = cell.N.next in
80
- if (Belt_Id.getEqInternal eq) cell.N.key key [@bs]
81
- then
82
- begin
83
- prec.N.next <- cell_next;
84
- h.C.size <- (h.C.size - 1);
85
- end
86
- else
87
- match C.toOpt cell_next with
88
- | None ->
89
- ()
90
- | Some cell_next ->
91
- removeBucket ~eq h h_buckets i key cell cell_next
92
-
93
- let remove h key =
94
- let eq = h.C.eq in
95
- let h_buckets = h.C.buckets in
96
- let i = (Belt_Id.getHashInternal h.C.hash) key [@bs] land (A.length h_buckets - 1) in
97
- let l = A.getUnsafe h_buckets i in
98
- match C.toOpt l with
99
- | None -> ()
100
- | Some cell ->
101
- let next_cell = cell.N.next in
102
- if (Belt_Id.getEqInternal eq) cell.N.key key [@bs] then
103
- begin
104
- h.C.size <- (h.C.size - 1) ;
105
- A.setUnsafe h_buckets i next_cell
106
- end
107
- else
108
- match C.toOpt next_cell with
109
- | None -> ()
110
- | Some next_cell ->
111
- removeBucket ~eq h h_buckets i key cell next_cell
112
-
113
-
114
-
115
- let rec addBucket h key cell ~eq =
116
- if not ((Belt_Id.getEqInternal eq) cell.N.key key [@bs]) then
117
- let n = cell.N.next in
118
- match C.toOpt n with
119
- | None ->
120
- h.C.size <- (h.C.size + 1);
121
- cell.N.next <- C.return { N.key; next = C.emptyOpt}
122
- | Some n -> addBucket ~eq h key n
123
-
124
- let add0 h key ~hash ~eq =
125
- let h_buckets = h.C.buckets in
126
- let buckets_len = A.length h_buckets in
127
- let i = (Belt_Id.getHashInternal hash) key [@bs] land (buckets_len - 1) in
128
- let l = A.getUnsafe h_buckets i in
129
- (match C.toOpt l with
130
- | None ->
131
- h.C.size <- (h.C.size+ 1);
132
- A.setUnsafe h_buckets i
133
- (C.return { N.key; next = C.emptyOpt})
134
- | Some cell ->
135
- addBucket ~eq h key cell);
136
- if h.C.size > buckets_len lsl 1 then tryDoubleResize ~hash h
137
-
138
- let add h key =
139
- add0 ~hash:h.C.hash ~eq:h.C.eq h key
140
-
141
- let rec memInBucket ~eq key cell =
142
- (Belt_Id.getEqInternal eq)
143
- cell.N.key key [@bs] ||
144
- (match C.toOpt cell.N.next with
145
- | None -> false
146
- | Some nextCell ->
147
- memInBucket ~eq key nextCell)
148
-
149
-
150
-
151
- let has h key =
152
- let eq, h_buckets = h.C.eq, h.C.buckets in
153
- let nid = (Belt_Id.getHashInternal h.C.hash) key [@bs] land (A.length h_buckets - 1) in
154
- let bucket = A.getUnsafe h_buckets nid in
155
- match C.toOpt bucket with
156
- | None -> false
157
- | Some bucket ->
158
- memInBucket ~eq key bucket
159
-
160
-
161
-
162
-
163
- let make (type value) (type identity) ~hintSize ~(id: (value, identity) id)=
164
- let module M = (val id) in
165
- C.make ~hintSize ~hash:M.hash ~eq:M.eq
166
-
167
- let clear = C.clear
168
- let size h = h.C.size
169
- let forEachU = N.forEachU
170
- let forEach = N.forEach
171
- let reduceU = N.reduceU
172
- let reduce = N.reduce
173
- let logStats = N.logStats
174
- let toArray = N.toArray
175
- let copy = N.copy
176
- let getBucketHistogram = N.getBucketHistogram
177
- let isEmpty = C.isEmpty
178
-
179
- let fromArray (type a identity) arr ~(id:(a,identity) id) =
180
- let module M = (val id) in
181
- let eq, hash = M.eq , M.hash in
182
- let len = A.length arr in
183
- let v = C.make ~hintSize:len ~hash ~eq in
184
- for i = 0 to len - 1 do
185
- add0 ~eq ~hash v (A.getUnsafe arr i)
186
- done ;
187
- v
188
-
189
- let mergeMany h arr =
190
- let eq, hash = h.C.eq, h.hash in
191
- let len = A.length arr in
192
- for i = 0 to len - 1 do
193
- add0 h ~eq ~hash (A.getUnsafe arr i)
194
- done
195
-
196
-
@@ -1,125 +0,0 @@
1
- (* Copyright (C) 2018 Authors of ReScript
2
- *
3
- * This program is free software: you can redistribute it and/or modify
4
- * it under the terms of the GNU Lesser General Public License as published by
5
- * the Free Software Foundation, either version 3 of the License, or
6
- * (at your option) any later version.
7
- *
8
- * In addition to the permissions granted to you by the LGPL, you may combine
9
- * or link a "work that uses the Library" with a publicly distributed version
10
- * of this file to produce a combined library or application, then distribute
11
- * that combined work under the terms of your choosing, with no requirement
12
- * to comply with the obligations normally placed on you by section 4 of the
13
- * LGPL version 3 (or the corresponding section of a later version of the LGPL
14
- * should you choose to use a later version).
15
- *
16
- * This program is distributed in the hope that it will be useful,
17
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
- * GNU Lesser General Public License for more details.
20
- *
21
- * You should have received a copy of the GNU Lesser General Public License
22
- * along with this program; if not, write to the Free Software
23
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *)
24
-
25
- (**
26
- A **mutable** Hash set which allows customized `hash` behavior.
27
-
28
- All data are parameterized by not its only type but also a unique identity in
29
- the time of initialization, so that two _HashSets of ints_ initialized with
30
- different _hash_ functions will have different type.
31
-
32
- For example:
33
-
34
- ```res prelude
35
- module I0 = unpack(
36
- Belt.Id.hashableU(
37
- ~hash=(. a: int) => land(a, 65535),
38
- ~eq=(. a, b) => a == b,
39
- )
40
- )
41
-
42
- let s0 = Belt.HashSet.make(~id=module(I0), ~hintSize=40)
43
-
44
- module I1 = unpack(
45
- Belt.Id.hashableU(
46
- ~hash=(. a: int) => land(a, 255),
47
- ~eq=(. a, b) => a == b,
48
- )
49
- )
50
-
51
- let s1 = Belt.HashSet.make(~id=module(I1), ~hintSize=40)
52
-
53
- Belt.HashSet.add(s1, 0)
54
- Belt.HashSet.add(s1, 1)
55
- ```
56
-
57
- The invariant must be held: for two elements who are equal, their hashed
58
- value should be the same.
59
-
60
- Here the compiler would infer `s0` and `s1` having different type so that it
61
- would not mix.
62
-
63
- ```res sig
64
- let s0: Belt.HashSet.t<int, I0.identity>
65
- let s1: Belt.HashSet.t<int, I1.identity>
66
- ```
67
-
68
- We can add elements to the collection (see last two lines in the example
69
- above). Since this is an mutable data structure, `s1` will contain two pairs.
70
- *)
71
-
72
-
73
- (** Specalized when key type is `int`, more efficient
74
- than the generic type *)
75
- module Int = Belt_HashSetInt
76
-
77
- (** Specalized when key type is `string`, more efficient
78
- than the generic type *)
79
- module String = Belt_HashSetString
80
-
81
- (* TODO: add a poly module
82
- module Poly = Belt_HashSetPoly
83
- challenge:
84
- - generic equal handles JS data structure
85
- - eq/hash consistent
86
- *)
87
-
88
- type ('a, 'id) t
89
-
90
- (** The type of hash tables from type `'a` to type `'b`. *)
91
- type ('a, 'id) id = ('a, 'id) Belt_Id.hashable
92
-
93
- val make: hintSize:int -> id:('a,'id) id -> ('a, 'id) t
94
- val clear: ('a, 'id) t -> unit
95
- val isEmpty: _ t -> bool
96
-
97
- val add: ('a, 'id) t -> 'a -> unit
98
-
99
- val copy: ('a, 'id) t -> ('a, 'id) t
100
-
101
- val has: ('a, 'id) t -> 'a -> bool
102
-
103
- val remove: ('a, 'id) t -> 'a -> unit
104
-
105
- val forEachU: ('a, 'id) t -> ('a -> unit [@bs]) -> unit
106
- val forEach: ('a, 'id) t -> ('a -> unit) -> unit
107
- (** Order unspecified. *)
108
-
109
- val reduceU: ('a, 'id) t -> 'c -> ('c -> 'a -> 'c [@bs]) -> 'c
110
- val reduce: ('a, 'id) t -> 'c -> ('c -> 'a -> 'c) -> 'c
111
- (** Order unspecified. *)
112
-
113
- val size: ('a, 'id) t -> int
114
-
115
- val logStats: _ t -> unit
116
-
117
- val toArray: ('a,'id) t -> 'a array
118
-
119
- val fromArray: 'a array -> id:('a,'id) id -> ('a,'id) t
120
-
121
- val mergeMany: ('a,'id) t -> 'a array -> unit
122
-
123
- val getBucketHistogram: _ t -> int array
124
-
125
-
Binary file
Binary file
Binary file