@tellahq/rescript 10.1.0-alpha.1
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.
- package/CHANGELOG.md +1717 -0
- package/COPYING +674 -0
- package/COPYING.LESSER +165 -0
- package/CREDITS.md +59 -0
- package/LICENSE +24 -0
- package/README.md +114 -0
- package/bsc +22 -0
- package/bsrefmt +16 -0
- package/darwin/bsb_helper.exe +0 -0
- package/darwin/bsc.exe +0 -0
- package/darwin/ninja.COPYING +202 -0
- package/darwin/ninja.exe +0 -0
- package/darwin/refmt.exe +0 -0
- package/darwin/rescript.exe +0 -0
- package/darwinarm64/bsb_helper.exe +0 -0
- package/darwinarm64/bsc.exe +0 -0
- package/darwinarm64/ninja.COPYING +202 -0
- package/darwinarm64/ninja.exe +0 -0
- package/darwinarm64/refmt.exe +0 -0
- package/darwinarm64/rescript.exe +0 -0
- package/docs/docson/build-schema.json +557 -0
- package/freebsd/ninja.COPYING +202 -0
- package/jscomp/stubs/ext_basic_hash_stubs.c +216 -0
- package/lib/4.06.1/bsb_helper.ml +2436 -0
- package/lib/4.06.1/bsb_helper.mli +0 -0
- package/lib/4.06.1/refmt_main3.ml +115517 -0
- package/lib/4.06.1/refmt_main3.mli +1 -0
- package/lib/4.06.1/rescript.ml +15500 -0
- package/lib/4.06.1/rescript.mli +0 -0
- package/lib/4.06.1/whole_compiler.ml +306395 -0
- package/lib/4.06.1/whole_compiler.mli +0 -0
- package/lib/bstracing +270 -0
- package/lib/es6/arg.js +717 -0
- package/lib/es6/array.js +511 -0
- package/lib/es6/arrayLabels.js +511 -0
- package/lib/es6/belt.js +57 -0
- package/lib/es6/belt_Array.js +764 -0
- package/lib/es6/belt_Float.js +16 -0
- package/lib/es6/belt_HashMap.js +280 -0
- package/lib/es6/belt_HashMapInt.js +264 -0
- package/lib/es6/belt_HashMapString.js +264 -0
- package/lib/es6/belt_HashSet.js +222 -0
- package/lib/es6/belt_HashSetInt.js +207 -0
- package/lib/es6/belt_HashSetString.js +207 -0
- package/lib/es6/belt_Id.js +71 -0
- package/lib/es6/belt_Int.js +16 -0
- package/lib/es6/belt_List.js +1512 -0
- package/lib/es6/belt_Map.js +376 -0
- package/lib/es6/belt_MapDict.js +417 -0
- package/lib/es6/belt_MapInt.js +307 -0
- package/lib/es6/belt_MapString.js +307 -0
- package/lib/es6/belt_MutableMap.js +395 -0
- package/lib/es6/belt_MutableMapInt.js +362 -0
- package/lib/es6/belt_MutableMapString.js +362 -0
- package/lib/es6/belt_MutableQueue.js +299 -0
- package/lib/es6/belt_MutableSet.js +538 -0
- package/lib/es6/belt_MutableSetInt.js +501 -0
- package/lib/es6/belt_MutableSetString.js +501 -0
- package/lib/es6/belt_MutableStack.js +137 -0
- package/lib/es6/belt_Option.js +151 -0
- package/lib/es6/belt_Range.js +109 -0
- package/lib/es6/belt_Result.js +136 -0
- package/lib/es6/belt_Set.js +314 -0
- package/lib/es6/belt_SetDict.js +362 -0
- package/lib/es6/belt_SetInt.js +359 -0
- package/lib/es6/belt_SetString.js +359 -0
- package/lib/es6/belt_SortArray.js +427 -0
- package/lib/es6/belt_SortArrayInt.js +374 -0
- package/lib/es6/belt_SortArrayString.js +374 -0
- package/lib/es6/belt_internalAVLset.js +940 -0
- package/lib/es6/belt_internalAVLtree.js +1146 -0
- package/lib/es6/belt_internalBuckets.js +287 -0
- package/lib/es6/belt_internalBucketsType.js +49 -0
- package/lib/es6/belt_internalMapInt.js +365 -0
- package/lib/es6/belt_internalMapString.js +365 -0
- package/lib/es6/belt_internalSetBuckets.js +191 -0
- package/lib/es6/belt_internalSetInt.js +209 -0
- package/lib/es6/belt_internalSetString.js +209 -0
- package/lib/es6/buffer.js +477 -0
- package/lib/es6/bytes.js +704 -0
- package/lib/es6/bytesLabels.js +704 -0
- package/lib/es6/callback.js +16 -0
- package/lib/es6/caml.js +196 -0
- package/lib/es6/caml_array.js +122 -0
- package/lib/es6/caml_array_extern.js +1 -0
- package/lib/es6/caml_bytes.js +122 -0
- package/lib/es6/caml_exceptions.js +31 -0
- package/lib/es6/caml_external_polyfill.js +32 -0
- package/lib/es6/caml_float.js +129 -0
- package/lib/es6/caml_float_extern.js +1 -0
- package/lib/es6/caml_format.js +818 -0
- package/lib/es6/caml_hash.js +101 -0
- package/lib/es6/caml_hash_primitive.js +51 -0
- package/lib/es6/caml_int32.js +28 -0
- package/lib/es6/caml_int64.js +606 -0
- package/lib/es6/caml_int64_extern.js +1 -0
- package/lib/es6/caml_js_exceptions.js +31 -0
- package/lib/es6/caml_lexer.js +258 -0
- package/lib/es6/caml_md5.js +168 -0
- package/lib/es6/caml_module.js +117 -0
- package/lib/es6/caml_nativeint_extern.js +1 -0
- package/lib/es6/caml_obj.js +413 -0
- package/lib/es6/caml_option.js +86 -0
- package/lib/es6/caml_parser.js +303 -0
- package/lib/es6/caml_splice_call.js +52 -0
- package/lib/es6/caml_string.js +23 -0
- package/lib/es6/caml_string_extern.js +1 -0
- package/lib/es6/caml_sys.js +99 -0
- package/lib/es6/caml_undefined_extern.js +1 -0
- package/lib/es6/camlinternalLazy.js +59 -0
- package/lib/es6/camlinternalMod.js +1 -0
- package/lib/es6/char.js +126 -0
- package/lib/es6/complex.js +176 -0
- package/lib/es6/curry.js +526 -0
- package/lib/es6/digest.js +118 -0
- package/lib/es6/dom.js +12 -0
- package/lib/es6/dom_storage.js +27 -0
- package/lib/es6/dom_storage2.js +1 -0
- package/lib/es6/filename.js +496 -0
- package/lib/es6/genlex.js +666 -0
- package/lib/es6/hashtbl.js +1115 -0
- package/lib/es6/hashtblLabels.js +170 -0
- package/lib/es6/int32.js +75 -0
- package/lib/es6/int64.js +70 -0
- package/lib/es6/js.js +111 -0
- package/lib/es6/js_OO.js +15 -0
- package/lib/es6/js_array.js +223 -0
- package/lib/es6/js_array2.js +1 -0
- package/lib/es6/js_bigint.js +1 -0
- package/lib/es6/js_cast.js +1 -0
- package/lib/es6/js_console.js +1 -0
- package/lib/es6/js_date.js +1 -0
- package/lib/es6/js_dict.js +85 -0
- package/lib/es6/js_exn.js +44 -0
- package/lib/es6/js_float.js +1 -0
- package/lib/es6/js_global.js +1 -0
- package/lib/es6/js_int.js +17 -0
- package/lib/es6/js_json.js +172 -0
- package/lib/es6/js_list.js +333 -0
- package/lib/es6/js_map.js +1 -0
- package/lib/es6/js_mapperRt.js +54 -0
- package/lib/es6/js_math.js +50 -0
- package/lib/es6/js_null.js +49 -0
- package/lib/es6/js_null_undefined.js +35 -0
- package/lib/es6/js_obj.js +1 -0
- package/lib/es6/js_option.js +104 -0
- package/lib/es6/js_promise.js +17 -0
- package/lib/es6/js_re.js +1 -0
- package/lib/es6/js_result.js +1 -0
- package/lib/es6/js_set.js +1 -0
- package/lib/es6/js_string.js +199 -0
- package/lib/es6/js_string2.js +1 -0
- package/lib/es6/js_typed_array.js +1733 -0
- package/lib/es6/js_typed_array2.js +39 -0
- package/lib/es6/js_types.js +77 -0
- package/lib/es6/js_undefined.js +52 -0
- package/lib/es6/js_vector.js +134 -0
- package/lib/es6/js_weakmap.js +1 -0
- package/lib/es6/js_weakset.js +1 -0
- package/lib/es6/jsx.js +1 -0
- package/lib/es6/jsxDOM.js +1 -0
- package/lib/es6/jsxDOMStyle.js +1 -0
- package/lib/es6/jsxEvent.js +59 -0
- package/lib/es6/lazy.js +44 -0
- package/lib/es6/lexing.js +217 -0
- package/lib/es6/list.js +1713 -0
- package/lib/es6/listLabels.js +1713 -0
- package/lib/es6/map.js +936 -0
- package/lib/es6/mapLabels.js +951 -0
- package/lib/es6/moreLabels.js +1931 -0
- package/lib/es6/node.js +39 -0
- package/lib/es6/node_buffer.js +1 -0
- package/lib/es6/node_child_process.js +1 -0
- package/lib/es6/node_fs.js +9 -0
- package/lib/es6/node_module.js +1 -0
- package/lib/es6/node_path.js +1 -0
- package/lib/es6/node_process.js +18 -0
- package/lib/es6/obj.js +11 -0
- package/lib/es6/package.json +1 -0
- package/lib/es6/parsing.js +237 -0
- package/lib/es6/pervasives.js +250 -0
- package/lib/es6/printexc.js +102 -0
- package/lib/es6/queue.js +181 -0
- package/lib/es6/random.js +280 -0
- package/lib/es6/set.js +955 -0
- package/lib/es6/setLabels.js +988 -0
- package/lib/es6/sort.js +168 -0
- package/lib/es6/stack.js +88 -0
- package/lib/es6/stdLabels.js +18 -0
- package/lib/es6/stream.js +496 -0
- package/lib/es6/string.js +337 -0
- package/lib/es6/stringLabels.js +337 -0
- package/lib/es6/sys.js +182 -0
- package/lib/es6/uchar.js +133 -0
- package/lib/js/arg.js +715 -0
- package/lib/js/array.js +509 -0
- package/lib/js/arrayLabels.js +509 -0
- package/lib/js/belt.js +55 -0
- package/lib/js/belt_Array.js +762 -0
- package/lib/js/belt_Float.js +14 -0
- package/lib/js/belt_HashMap.js +278 -0
- package/lib/js/belt_HashMapInt.js +262 -0
- package/lib/js/belt_HashMapString.js +262 -0
- package/lib/js/belt_HashSet.js +220 -0
- package/lib/js/belt_HashSetInt.js +205 -0
- package/lib/js/belt_HashSetString.js +205 -0
- package/lib/js/belt_Id.js +69 -0
- package/lib/js/belt_Int.js +14 -0
- package/lib/js/belt_List.js +1510 -0
- package/lib/js/belt_Map.js +374 -0
- package/lib/js/belt_MapDict.js +415 -0
- package/lib/js/belt_MapInt.js +305 -0
- package/lib/js/belt_MapString.js +305 -0
- package/lib/js/belt_MutableMap.js +393 -0
- package/lib/js/belt_MutableMapInt.js +360 -0
- package/lib/js/belt_MutableMapString.js +360 -0
- package/lib/js/belt_MutableQueue.js +297 -0
- package/lib/js/belt_MutableSet.js +536 -0
- package/lib/js/belt_MutableSetInt.js +499 -0
- package/lib/js/belt_MutableSetString.js +499 -0
- package/lib/js/belt_MutableStack.js +135 -0
- package/lib/js/belt_Option.js +149 -0
- package/lib/js/belt_Range.js +107 -0
- package/lib/js/belt_Result.js +134 -0
- package/lib/js/belt_Set.js +312 -0
- package/lib/js/belt_SetDict.js +360 -0
- package/lib/js/belt_SetInt.js +357 -0
- package/lib/js/belt_SetString.js +357 -0
- package/lib/js/belt_SortArray.js +425 -0
- package/lib/js/belt_SortArrayInt.js +372 -0
- package/lib/js/belt_SortArrayString.js +372 -0
- package/lib/js/belt_internalAVLset.js +938 -0
- package/lib/js/belt_internalAVLtree.js +1144 -0
- package/lib/js/belt_internalBuckets.js +285 -0
- package/lib/js/belt_internalBucketsType.js +47 -0
- package/lib/js/belt_internalMapInt.js +363 -0
- package/lib/js/belt_internalMapString.js +363 -0
- package/lib/js/belt_internalSetBuckets.js +189 -0
- package/lib/js/belt_internalSetInt.js +207 -0
- package/lib/js/belt_internalSetString.js +207 -0
- package/lib/js/buffer.js +475 -0
- package/lib/js/bytes.js +702 -0
- package/lib/js/bytesLabels.js +702 -0
- package/lib/js/callback.js +14 -0
- package/lib/js/caml.js +194 -0
- package/lib/js/caml_array.js +120 -0
- package/lib/js/caml_array_extern.js +1 -0
- package/lib/js/caml_bytes.js +120 -0
- package/lib/js/caml_exceptions.js +29 -0
- package/lib/js/caml_external_polyfill.js +30 -0
- package/lib/js/caml_float.js +127 -0
- package/lib/js/caml_float_extern.js +1 -0
- package/lib/js/caml_format.js +816 -0
- package/lib/js/caml_hash.js +99 -0
- package/lib/js/caml_hash_primitive.js +49 -0
- package/lib/js/caml_int32.js +26 -0
- package/lib/js/caml_int64.js +604 -0
- package/lib/js/caml_int64_extern.js +1 -0
- package/lib/js/caml_js_exceptions.js +29 -0
- package/lib/js/caml_lexer.js +256 -0
- package/lib/js/caml_md5.js +166 -0
- package/lib/js/caml_module.js +115 -0
- package/lib/js/caml_nativeint_extern.js +1 -0
- package/lib/js/caml_obj.js +411 -0
- package/lib/js/caml_option.js +84 -0
- package/lib/js/caml_parser.js +301 -0
- package/lib/js/caml_splice_call.js +50 -0
- package/lib/js/caml_string.js +21 -0
- package/lib/js/caml_string_extern.js +1 -0
- package/lib/js/caml_sys.js +97 -0
- package/lib/js/caml_undefined_extern.js +1 -0
- package/lib/js/camlinternalLazy.js +57 -0
- package/lib/js/camlinternalMod.js +1 -0
- package/lib/js/char.js +124 -0
- package/lib/js/complex.js +174 -0
- package/lib/js/curry.js +524 -0
- package/lib/js/digest.js +116 -0
- package/lib/js/dom.js +10 -0
- package/lib/js/dom_storage.js +25 -0
- package/lib/js/dom_storage2.js +1 -0
- package/lib/js/filename.js +494 -0
- package/lib/js/genlex.js +664 -0
- package/lib/js/hashtbl.js +1113 -0
- package/lib/js/hashtblLabels.js +168 -0
- package/lib/js/int32.js +73 -0
- package/lib/js/int64.js +68 -0
- package/lib/js/js.js +109 -0
- package/lib/js/js_OO.js +13 -0
- package/lib/js/js_array.js +221 -0
- package/lib/js/js_array2.js +1 -0
- package/lib/js/js_bigint.js +1 -0
- package/lib/js/js_cast.js +1 -0
- package/lib/js/js_console.js +1 -0
- package/lib/js/js_date.js +1 -0
- package/lib/js/js_dict.js +83 -0
- package/lib/js/js_exn.js +42 -0
- package/lib/js/js_float.js +1 -0
- package/lib/js/js_global.js +1 -0
- package/lib/js/js_int.js +15 -0
- package/lib/js/js_json.js +170 -0
- package/lib/js/js_list.js +331 -0
- package/lib/js/js_map.js +1 -0
- package/lib/js/js_mapperRt.js +52 -0
- package/lib/js/js_math.js +48 -0
- package/lib/js/js_null.js +47 -0
- package/lib/js/js_null_undefined.js +33 -0
- package/lib/js/js_obj.js +1 -0
- package/lib/js/js_option.js +103 -0
- package/lib/js/js_promise.js +15 -0
- package/lib/js/js_re.js +1 -0
- package/lib/js/js_result.js +1 -0
- package/lib/js/js_set.js +1 -0
- package/lib/js/js_string.js +197 -0
- package/lib/js/js_string2.js +1 -0
- package/lib/js/js_typed_array.js +1731 -0
- package/lib/js/js_typed_array2.js +37 -0
- package/lib/js/js_types.js +75 -0
- package/lib/js/js_undefined.js +50 -0
- package/lib/js/js_vector.js +132 -0
- package/lib/js/js_weakmap.js +1 -0
- package/lib/js/js_weakset.js +1 -0
- package/lib/js/jsx.js +1 -0
- package/lib/js/jsxDOM.js +1 -0
- package/lib/js/jsxDOMStyle.js +1 -0
- package/lib/js/jsxEvent.js +57 -0
- package/lib/js/lazy.js +42 -0
- package/lib/js/lexing.js +215 -0
- package/lib/js/list.js +1711 -0
- package/lib/js/listLabels.js +1711 -0
- package/lib/js/map.js +934 -0
- package/lib/js/mapLabels.js +949 -0
- package/lib/js/moreLabels.js +1929 -0
- package/lib/js/node.js +37 -0
- package/lib/js/node_buffer.js +1 -0
- package/lib/js/node_child_process.js +1 -0
- package/lib/js/node_fs.js +7 -0
- package/lib/js/node_module.js +1 -0
- package/lib/js/node_path.js +1 -0
- package/lib/js/node_process.js +16 -0
- package/lib/js/obj.js +9 -0
- package/lib/js/parsing.js +235 -0
- package/lib/js/pervasives.js +248 -0
- package/lib/js/printexc.js +100 -0
- package/lib/js/queue.js +179 -0
- package/lib/js/random.js +278 -0
- package/lib/js/set.js +953 -0
- package/lib/js/setLabels.js +986 -0
- package/lib/js/sort.js +166 -0
- package/lib/js/stack.js +86 -0
- package/lib/js/stdLabels.js +16 -0
- package/lib/js/stream.js +494 -0
- package/lib/js/string.js +335 -0
- package/lib/js/stringLabels.js +335 -0
- package/lib/js/sys.js +180 -0
- package/lib/js/uchar.js +131 -0
- package/lib/minisocket.js +93 -0
- package/lib/ocaml/arg.cmi +0 -0
- package/lib/ocaml/arg.cmt +0 -0
- package/lib/ocaml/arg.cmti +0 -0
- package/lib/ocaml/arg.ml +359 -0
- package/lib/ocaml/arg.mli +185 -0
- package/lib/ocaml/array.cmi +0 -0
- package/lib/ocaml/array.cmt +0 -0
- package/lib/ocaml/array.cmti +0 -0
- package/lib/ocaml/array.ml +307 -0
- package/lib/ocaml/array.mli +275 -0
- package/lib/ocaml/arrayLabels.cmi +0 -0
- package/lib/ocaml/arrayLabels.cmt +0 -0
- package/lib/ocaml/arrayLabels.cmti +0 -0
- package/lib/ocaml/arrayLabels.ml +307 -0
- package/lib/ocaml/arrayLabels.mli +276 -0
- package/lib/ocaml/belt.cmi +0 -0
- package/lib/ocaml/belt.cmt +0 -0
- package/lib/ocaml/belt.ml +352 -0
- package/lib/ocaml/belt_Array.cmi +0 -0
- package/lib/ocaml/belt_Array.cmt +0 -0
- package/lib/ocaml/belt_Array.cmti +0 -0
- package/lib/ocaml/belt_Array.ml +525 -0
- package/lib/ocaml/belt_Array.mli +707 -0
- package/lib/ocaml/belt_Float.cmi +0 -0
- package/lib/ocaml/belt_Float.cmt +0 -0
- package/lib/ocaml/belt_Float.cmti +0 -0
- package/lib/ocaml/belt_Float.ml +50 -0
- package/lib/ocaml/belt_Float.mli +106 -0
- package/lib/ocaml/belt_HashMap.cmi +0 -0
- package/lib/ocaml/belt_HashMap.cmt +0 -0
- package/lib/ocaml/belt_HashMap.cmti +0 -0
- package/lib/ocaml/belt_HashMap.ml +226 -0
- package/lib/ocaml/belt_HashMap.mli +436 -0
- package/lib/ocaml/belt_HashMapInt.cmi +0 -0
- package/lib/ocaml/belt_HashMapInt.cmt +0 -0
- package/lib/ocaml/belt_HashMapInt.cmti +0 -0
- package/lib/ocaml/belt_HashMapInt.ml +206 -0
- package/lib/ocaml/belt_HashMapInt.mli +50 -0
- package/lib/ocaml/belt_HashMapString.cmi +0 -0
- package/lib/ocaml/belt_HashMapString.cmt +0 -0
- package/lib/ocaml/belt_HashMapString.cmti +0 -0
- package/lib/ocaml/belt_HashMapString.ml +206 -0
- package/lib/ocaml/belt_HashMapString.mli +50 -0
- package/lib/ocaml/belt_HashSet.cmi +0 -0
- package/lib/ocaml/belt_HashSet.cmt +0 -0
- package/lib/ocaml/belt_HashSet.cmti +0 -0
- package/lib/ocaml/belt_HashSet.ml +196 -0
- package/lib/ocaml/belt_HashSet.mli +125 -0
- package/lib/ocaml/belt_HashSetInt.cmi +0 -0
- package/lib/ocaml/belt_HashSetInt.cmt +0 -0
- package/lib/ocaml/belt_HashSetInt.cmti +0 -0
- package/lib/ocaml/belt_HashSetInt.ml +155 -0
- package/lib/ocaml/belt_HashSetInt.mli +74 -0
- package/lib/ocaml/belt_HashSetString.cmi +0 -0
- package/lib/ocaml/belt_HashSetString.cmt +0 -0
- package/lib/ocaml/belt_HashSetString.cmti +0 -0
- package/lib/ocaml/belt_HashSetString.ml +156 -0
- package/lib/ocaml/belt_HashSetString.mli +74 -0
- package/lib/ocaml/belt_Id.cmi +0 -0
- package/lib/ocaml/belt_Id.cmt +0 -0
- package/lib/ocaml/belt_Id.cmti +0 -0
- package/lib/ocaml/belt_Id.ml +133 -0
- package/lib/ocaml/belt_Id.mli +171 -0
- package/lib/ocaml/belt_Int.cmi +0 -0
- package/lib/ocaml/belt_Int.cmt +0 -0
- package/lib/ocaml/belt_Int.cmti +0 -0
- package/lib/ocaml/belt_Int.ml +50 -0
- package/lib/ocaml/belt_Int.mli +103 -0
- package/lib/ocaml/belt_List.cmi +0 -0
- package/lib/ocaml/belt_List.cmt +0 -0
- package/lib/ocaml/belt_List.cmti +0 -0
- package/lib/ocaml/belt_List.ml +803 -0
- package/lib/ocaml/belt_List.mli +844 -0
- package/lib/ocaml/belt_Map.cmi +0 -0
- package/lib/ocaml/belt_Map.cmt +0 -0
- package/lib/ocaml/belt_Map.cmti +0 -0
- package/lib/ocaml/belt_Map.ml +170 -0
- package/lib/ocaml/belt_Map.mli +496 -0
- package/lib/ocaml/belt_MapDict.cmi +0 -0
- package/lib/ocaml/belt_MapDict.cmt +0 -0
- package/lib/ocaml/belt_MapDict.cmti +0 -0
- package/lib/ocaml/belt_MapDict.ml +278 -0
- package/lib/ocaml/belt_MapDict.mli +268 -0
- package/lib/ocaml/belt_MapInt.cmi +0 -0
- package/lib/ocaml/belt_MapInt.cmt +0 -0
- package/lib/ocaml/belt_MapInt.cmti +0 -0
- package/lib/ocaml/belt_MapInt.ml +169 -0
- package/lib/ocaml/belt_MapInt.mli +187 -0
- package/lib/ocaml/belt_MapString.cmi +0 -0
- package/lib/ocaml/belt_MapString.cmt +0 -0
- package/lib/ocaml/belt_MapString.cmti +0 -0
- package/lib/ocaml/belt_MapString.ml +169 -0
- package/lib/ocaml/belt_MapString.mli +187 -0
- package/lib/ocaml/belt_MutableMap.cmi +0 -0
- package/lib/ocaml/belt_MutableMap.cmt +0 -0
- package/lib/ocaml/belt_MutableMap.cmti +0 -0
- package/lib/ocaml/belt_MutableMap.ml +241 -0
- package/lib/ocaml/belt_MutableMap.mli +145 -0
- package/lib/ocaml/belt_MutableMapInt.cmi +0 -0
- package/lib/ocaml/belt_MutableMapInt.cmt +0 -0
- package/lib/ocaml/belt_MutableMapInt.cmti +0 -0
- package/lib/ocaml/belt_MutableMapInt.ml +172 -0
- package/lib/ocaml/belt_MutableMapInt.mli +135 -0
- package/lib/ocaml/belt_MutableMapString.cmi +0 -0
- package/lib/ocaml/belt_MutableMapString.cmt +0 -0
- package/lib/ocaml/belt_MutableMapString.cmti +0 -0
- package/lib/ocaml/belt_MutableMapString.ml +172 -0
- package/lib/ocaml/belt_MutableMapString.mli +135 -0
- package/lib/ocaml/belt_MutableQueue.cmi +0 -0
- package/lib/ocaml/belt_MutableQueue.cmt +0 -0
- package/lib/ocaml/belt_MutableQueue.cmti +0 -0
- package/lib/ocaml/belt_MutableQueue.ml +222 -0
- package/lib/ocaml/belt_MutableQueue.mli +116 -0
- package/lib/ocaml/belt_MutableSet.cmi +0 -0
- package/lib/ocaml/belt_MutableSet.cmt +0 -0
- package/lib/ocaml/belt_MutableSet.cmti +0 -0
- package/lib/ocaml/belt_MutableSet.ml +371 -0
- package/lib/ocaml/belt_MutableSet.mli +617 -0
- package/lib/ocaml/belt_MutableSetInt.cmi +0 -0
- package/lib/ocaml/belt_MutableSetInt.cmt +0 -0
- package/lib/ocaml/belt_MutableSetInt.cmti +0 -0
- package/lib/ocaml/belt_MutableSetInt.ml +342 -0
- package/lib/ocaml/belt_MutableSetInt.mli +124 -0
- package/lib/ocaml/belt_MutableSetString.cmi +0 -0
- package/lib/ocaml/belt_MutableSetString.cmt +0 -0
- package/lib/ocaml/belt_MutableSetString.cmti +0 -0
- package/lib/ocaml/belt_MutableSetString.ml +342 -0
- package/lib/ocaml/belt_MutableSetString.mli +124 -0
- package/lib/ocaml/belt_MutableStack.cmi +0 -0
- package/lib/ocaml/belt_MutableStack.cmt +0 -0
- package/lib/ocaml/belt_MutableStack.cmti +0 -0
- package/lib/ocaml/belt_MutableStack.ml +106 -0
- package/lib/ocaml/belt_MutableStack.mli +63 -0
- package/lib/ocaml/belt_Option.cmi +0 -0
- package/lib/ocaml/belt_Option.cmt +0 -0
- package/lib/ocaml/belt_Option.cmti +0 -0
- package/lib/ocaml/belt_Option.ml +93 -0
- package/lib/ocaml/belt_Option.mli +270 -0
- package/lib/ocaml/belt_Range.cmi +0 -0
- package/lib/ocaml/belt_Range.cmt +0 -0
- package/lib/ocaml/belt_Range.cmti +0 -0
- package/lib/ocaml/belt_Range.ml +76 -0
- package/lib/ocaml/belt_Range.mli +114 -0
- package/lib/ocaml/belt_Result.cmi +0 -0
- package/lib/ocaml/belt_Result.cmt +0 -0
- package/lib/ocaml/belt_Result.cmti +0 -0
- package/lib/ocaml/belt_Result.ml +75 -0
- package/lib/ocaml/belt_Result.mli +205 -0
- package/lib/ocaml/belt_Set.cmi +0 -0
- package/lib/ocaml/belt_Set.cmt +0 -0
- package/lib/ocaml/belt_Set.cmti +0 -0
- package/lib/ocaml/belt_Set.cppo.ml +205 -0
- package/lib/ocaml/belt_Set.cppo.mli +153 -0
- package/lib/ocaml/belt_Set.ml +164 -0
- package/lib/ocaml/belt_Set.mli +523 -0
- package/lib/ocaml/belt_SetDict.cmi +0 -0
- package/lib/ocaml/belt_SetDict.cmt +0 -0
- package/lib/ocaml/belt_SetDict.cmti +0 -0
- package/lib/ocaml/belt_SetDict.ml +237 -0
- package/lib/ocaml/belt_SetDict.mli +567 -0
- package/lib/ocaml/belt_SetInt.cmi +0 -0
- package/lib/ocaml/belt_SetInt.cmt +0 -0
- package/lib/ocaml/belt_SetInt.cmti +0 -0
- package/lib/ocaml/belt_SetInt.ml +201 -0
- package/lib/ocaml/belt_SetInt.mli +151 -0
- package/lib/ocaml/belt_SetString.cmi +0 -0
- package/lib/ocaml/belt_SetString.cmt +0 -0
- package/lib/ocaml/belt_SetString.cmti +0 -0
- package/lib/ocaml/belt_SetString.ml +201 -0
- package/lib/ocaml/belt_SetString.mli +151 -0
- package/lib/ocaml/belt_SortArray.cmi +0 -0
- package/lib/ocaml/belt_SortArray.cmt +0 -0
- package/lib/ocaml/belt_SortArray.cmti +0 -0
- package/lib/ocaml/belt_SortArray.ml +322 -0
- package/lib/ocaml/belt_SortArray.mli +146 -0
- package/lib/ocaml/belt_SortArrayInt.cmi +0 -0
- package/lib/ocaml/belt_SortArrayInt.cmt +0 -0
- package/lib/ocaml/belt_SortArrayInt.cmti +0 -0
- package/lib/ocaml/belt_SortArrayInt.ml +263 -0
- package/lib/ocaml/belt_SortArrayInt.mli +93 -0
- package/lib/ocaml/belt_SortArrayString.cmi +0 -0
- package/lib/ocaml/belt_SortArrayString.cmt +0 -0
- package/lib/ocaml/belt_SortArrayString.cmti +0 -0
- package/lib/ocaml/belt_SortArrayString.ml +263 -0
- package/lib/ocaml/belt_SortArrayString.mli +93 -0
- package/lib/ocaml/belt_internalAVLset.cmt +0 -0
- package/lib/ocaml/belt_internalAVLset.cmti +0 -0
- package/lib/ocaml/belt_internalAVLset.ml +665 -0
- package/lib/ocaml/belt_internalAVLset.mli +124 -0
- package/lib/ocaml/belt_internalAVLtree.cmt +0 -0
- package/lib/ocaml/belt_internalAVLtree.cmti +0 -0
- package/lib/ocaml/belt_internalAVLtree.ml +762 -0
- package/lib/ocaml/belt_internalAVLtree.mli +215 -0
- package/lib/ocaml/belt_internalBuckets.cmt +0 -0
- package/lib/ocaml/belt_internalBuckets.cmti +0 -0
- package/lib/ocaml/belt_internalBuckets.ml +218 -0
- package/lib/ocaml/belt_internalBuckets.mli +57 -0
- package/lib/ocaml/belt_internalBucketsType.cmt +0 -0
- package/lib/ocaml/belt_internalBucketsType.cmti +0 -0
- package/lib/ocaml/belt_internalBucketsType.ml +59 -0
- package/lib/ocaml/belt_internalBucketsType.mli +46 -0
- package/lib/ocaml/belt_internalMapInt.cmt +0 -0
- package/lib/ocaml/belt_internalMapInt.ml +227 -0
- package/lib/ocaml/belt_internalMapString.cmt +0 -0
- package/lib/ocaml/belt_internalMapString.ml +227 -0
- package/lib/ocaml/belt_internalSetBuckets.cmt +0 -0
- package/lib/ocaml/belt_internalSetBuckets.cmti +0 -0
- package/lib/ocaml/belt_internalSetBuckets.ml +157 -0
- package/lib/ocaml/belt_internalSetBuckets.mli +47 -0
- package/lib/ocaml/belt_internalSetInt.cmt +0 -0
- package/lib/ocaml/belt_internalSetInt.ml +129 -0
- package/lib/ocaml/belt_internalSetString.cmt +0 -0
- package/lib/ocaml/belt_internalSetString.ml +129 -0
- package/lib/ocaml/belt_internals.cmti +0 -0
- package/lib/ocaml/belt_internals.mli +79 -0
- package/lib/ocaml/buffer.cmi +0 -0
- package/lib/ocaml/buffer.cmt +0 -0
- package/lib/ocaml/buffer.cmti +0 -0
- package/lib/ocaml/buffer.ml +250 -0
- package/lib/ocaml/buffer.mli +149 -0
- package/lib/ocaml/bytes.cmi +0 -0
- package/lib/ocaml/bytes.cmt +0 -0
- package/lib/ocaml/bytes.cmti +0 -0
- package/lib/ocaml/bytes.ml +431 -0
- package/lib/ocaml/bytes.mli +430 -0
- package/lib/ocaml/bytesLabels.cmi +0 -0
- package/lib/ocaml/bytesLabels.cmt +0 -0
- package/lib/ocaml/bytesLabels.cmti +0 -0
- package/lib/ocaml/bytesLabels.ml +428 -0
- package/lib/ocaml/bytesLabels.mli +276 -0
- package/lib/ocaml/callback.cmi +0 -0
- package/lib/ocaml/callback.cmt +0 -0
- package/lib/ocaml/callback.cmti +0 -0
- package/lib/ocaml/callback.ml +20 -0
- package/lib/ocaml/callback.mli +34 -0
- package/lib/ocaml/camlinternalLazy.cmi +0 -0
- package/lib/ocaml/camlinternalLazy.cmt +0 -0
- package/lib/ocaml/camlinternalLazy.cmti +0 -0
- package/lib/ocaml/camlinternalLazy.ml +89 -0
- package/lib/ocaml/camlinternalLazy.mli +27 -0
- package/lib/ocaml/camlinternalMod.cmi +0 -0
- package/lib/ocaml/camlinternalMod.cmt +0 -0
- package/lib/ocaml/camlinternalMod.cmti +0 -0
- package/lib/ocaml/camlinternalMod.ml +21 -0
- package/lib/ocaml/camlinternalMod.mli +25 -0
- package/lib/ocaml/char.cmi +0 -0
- package/lib/ocaml/char.cmt +0 -0
- package/lib/ocaml/char.cmti +0 -0
- package/lib/ocaml/char.ml +76 -0
- package/lib/ocaml/char.mli +72 -0
- package/lib/ocaml/complex.cmi +0 -0
- package/lib/ocaml/complex.cmt +0 -0
- package/lib/ocaml/complex.cmti +0 -0
- package/lib/ocaml/complex.ml +87 -0
- package/lib/ocaml/complex.mli +86 -0
- package/lib/ocaml/digest.cmi +0 -0
- package/lib/ocaml/digest.cmt +0 -0
- package/lib/ocaml/digest.cmti +0 -0
- package/lib/ocaml/digest.ml +66 -0
- package/lib/ocaml/digest.mli +68 -0
- package/lib/ocaml/dom.cmi +0 -0
- package/lib/ocaml/dom.cmt +0 -0
- package/lib/ocaml/dom.ml +296 -0
- package/lib/ocaml/dom_storage.cmi +0 -0
- package/lib/ocaml/dom_storage.cmt +0 -0
- package/lib/ocaml/dom_storage.ml +22 -0
- package/lib/ocaml/dom_storage2.cmi +0 -0
- package/lib/ocaml/dom_storage2.cmt +0 -0
- package/lib/ocaml/dom_storage2.ml +11 -0
- package/lib/ocaml/filename.cmi +0 -0
- package/lib/ocaml/filename.cmt +0 -0
- package/lib/ocaml/filename.cmti +0 -0
- package/lib/ocaml/filename.ml +233 -0
- package/lib/ocaml/filename.mli +134 -0
- package/lib/ocaml/genlex.cmi +0 -0
- package/lib/ocaml/genlex.cmt +0 -0
- package/lib/ocaml/genlex.cmti +0 -0
- package/lib/ocaml/genlex.ml +201 -0
- package/lib/ocaml/genlex.mli +73 -0
- package/lib/ocaml/hashmap.cppo.ml +214 -0
- package/lib/ocaml/hashmap.cppo.mli +54 -0
- package/lib/ocaml/hashset.cppo.ml +165 -0
- package/lib/ocaml/hashset.cppo.mli +77 -0
- package/lib/ocaml/hashtbl.cmi +0 -0
- package/lib/ocaml/hashtbl.cmt +0 -0
- package/lib/ocaml/hashtbl.cmti +0 -0
- package/lib/ocaml/hashtbl.ml +541 -0
- package/lib/ocaml/hashtbl.mli +411 -0
- package/lib/ocaml/hashtblLabels.cmi +0 -0
- package/lib/ocaml/hashtblLabels.cmt +0 -0
- package/lib/ocaml/hashtblLabels.ml +130 -0
- package/lib/ocaml/int32.cmi +0 -0
- package/lib/ocaml/int32.cmt +0 -0
- package/lib/ocaml/int32.cmti +0 -0
- package/lib/ocaml/int32.ml +64 -0
- package/lib/ocaml/int32.mli +186 -0
- package/lib/ocaml/int64.cmi +0 -0
- package/lib/ocaml/int64.cmt +0 -0
- package/lib/ocaml/int64.cmti +0 -0
- package/lib/ocaml/int64.ml +72 -0
- package/lib/ocaml/int64.mli +197 -0
- package/lib/ocaml/internal_map.cppo.ml +230 -0
- package/lib/ocaml/internal_set.cppo.ml +134 -0
- package/lib/ocaml/js.cmi +0 -0
- package/lib/ocaml/js.cmt +0 -0
- package/lib/ocaml/js.ml +313 -0
- package/lib/ocaml/js_OO.cmi +0 -0
- package/lib/ocaml/js_OO.cmt +0 -0
- package/lib/ocaml/js_OO.ml +180 -0
- package/lib/ocaml/js_array.cmi +0 -0
- package/lib/ocaml/js_array.cmt +0 -0
- package/lib/ocaml/js_array.ml +970 -0
- package/lib/ocaml/js_array2.cmi +0 -0
- package/lib/ocaml/js_array2.cmt +0 -0
- package/lib/ocaml/js_array2.ml +1065 -0
- package/lib/ocaml/js_bigint.cmi +0 -0
- package/lib/ocaml/js_bigint.cmt +0 -0
- package/lib/ocaml/js_bigint.ml +3 -0
- package/lib/ocaml/js_cast.cmi +0 -0
- package/lib/ocaml/js_cast.cmt +0 -0
- package/lib/ocaml/js_cast.cmti +0 -0
- package/lib/ocaml/js_cast.ml +29 -0
- package/lib/ocaml/js_cast.mli +45 -0
- package/lib/ocaml/js_console.cmi +0 -0
- package/lib/ocaml/js_console.cmt +0 -0
- package/lib/ocaml/js_console.ml +51 -0
- package/lib/ocaml/js_date.cmi +0 -0
- package/lib/ocaml/js_date.cmt +0 -0
- package/lib/ocaml/js_date.ml +1263 -0
- package/lib/ocaml/js_dict.cmi +0 -0
- package/lib/ocaml/js_dict.cmt +0 -0
- package/lib/ocaml/js_dict.cmti +0 -0
- package/lib/ocaml/js_dict.ml +114 -0
- package/lib/ocaml/js_dict.mli +152 -0
- package/lib/ocaml/js_exn.cmi +0 -0
- package/lib/ocaml/js_exn.cmt +0 -0
- package/lib/ocaml/js_exn.cmti +0 -0
- package/lib/ocaml/js_exn.ml +102 -0
- package/lib/ocaml/js_exn.mli +79 -0
- package/lib/ocaml/js_float.cmi +0 -0
- package/lib/ocaml/js_float.cmt +0 -0
- package/lib/ocaml/js_float.ml +294 -0
- package/lib/ocaml/js_global.cmi +0 -0
- package/lib/ocaml/js_global.cmt +0 -0
- package/lib/ocaml/js_global.ml +185 -0
- package/lib/ocaml/js_int.cmi +0 -0
- package/lib/ocaml/js_int.cmt +0 -0
- package/lib/ocaml/js_int.ml +158 -0
- package/lib/ocaml/js_json.cmi +0 -0
- package/lib/ocaml/js_json.cmt +0 -0
- package/lib/ocaml/js_json.cmti +0 -0
- package/lib/ocaml/js_json.ml +195 -0
- package/lib/ocaml/js_json.mli +244 -0
- package/lib/ocaml/js_list.cmi +0 -0
- package/lib/ocaml/js_list.cmt +0 -0
- package/lib/ocaml/js_list.cmti +0 -0
- package/lib/ocaml/js_list.ml +174 -0
- package/lib/ocaml/js_list.mli +72 -0
- package/lib/ocaml/js_map.cmi +0 -0
- package/lib/ocaml/js_map.cmt +0 -0
- package/lib/ocaml/js_map.ml +3 -0
- package/lib/ocaml/js_mapperRt.cmi +0 -0
- package/lib/ocaml/js_mapperRt.cmt +0 -0
- package/lib/ocaml/js_mapperRt.cmti +0 -0
- package/lib/ocaml/js_mapperRt.ml +50 -0
- package/lib/ocaml/js_mapperRt.mli +44 -0
- package/lib/ocaml/js_math.cmi +0 -0
- package/lib/ocaml/js_math.cmt +0 -0
- package/lib/ocaml/js_math.ml +626 -0
- package/lib/ocaml/js_null.cmi +0 -0
- package/lib/ocaml/js_null.cmt +0 -0
- package/lib/ocaml/js_null.cmti +0 -0
- package/lib/ocaml/js_null.ml +57 -0
- package/lib/ocaml/js_null.mli +87 -0
- package/lib/ocaml/js_null_undefined.cmi +0 -0
- package/lib/ocaml/js_null_undefined.cmt +0 -0
- package/lib/ocaml/js_null_undefined.cmti +0 -0
- package/lib/ocaml/js_null_undefined.ml +50 -0
- package/lib/ocaml/js_null_undefined.mli +85 -0
- package/lib/ocaml/js_obj.cmi +0 -0
- package/lib/ocaml/js_obj.cmt +0 -0
- package/lib/ocaml/js_obj.ml +100 -0
- package/lib/ocaml/js_option.cmi +0 -0
- package/lib/ocaml/js_option.cmt +0 -0
- package/lib/ocaml/js_option.cmti +0 -0
- package/lib/ocaml/js_option.ml +203 -0
- package/lib/ocaml/js_option.mli +52 -0
- package/lib/ocaml/js_promise.cmi +0 -0
- package/lib/ocaml/js_promise.cmt +0 -0
- package/lib/ocaml/js_promise.ml +100 -0
- package/lib/ocaml/js_re.cmi +0 -0
- package/lib/ocaml/js_re.cmt +0 -0
- package/lib/ocaml/js_re.ml +184 -0
- package/lib/ocaml/js_result.cmi +0 -0
- package/lib/ocaml/js_result.cmt +0 -0
- package/lib/ocaml/js_result.cmti +0 -0
- package/lib/ocaml/js_result.ml +28 -0
- package/lib/ocaml/js_result.mli +28 -0
- package/lib/ocaml/js_set.cmi +0 -0
- package/lib/ocaml/js_set.cmt +0 -0
- package/lib/ocaml/js_set.ml +3 -0
- package/lib/ocaml/js_string.cmi +0 -0
- package/lib/ocaml/js_string.cmt +0 -0
- package/lib/ocaml/js_string.ml +914 -0
- package/lib/ocaml/js_string2.cmi +0 -0
- package/lib/ocaml/js_string2.cmt +0 -0
- package/lib/ocaml/js_string2.ml +912 -0
- package/lib/ocaml/js_typed_array.cmi +0 -0
- package/lib/ocaml/js_typed_array.cmt +0 -0
- package/lib/ocaml/js_typed_array.cppo.ml +429 -0
- package/lib/ocaml/js_typed_array.ml +1405 -0
- package/lib/ocaml/js_typed_array2.cmi +0 -0
- package/lib/ocaml/js_typed_array2.cmt +0 -0
- package/lib/ocaml/js_typed_array2.cppo.ml +296 -0
- package/lib/ocaml/js_typed_array2.ml +1269 -0
- package/lib/ocaml/js_types.cmi +0 -0
- package/lib/ocaml/js_types.cmt +0 -0
- package/lib/ocaml/js_types.cmti +0 -0
- package/lib/ocaml/js_types.ml +118 -0
- package/lib/ocaml/js_types.mli +78 -0
- package/lib/ocaml/js_undefined.cmi +0 -0
- package/lib/ocaml/js_undefined.cmt +0 -0
- package/lib/ocaml/js_undefined.cmti +0 -0
- package/lib/ocaml/js_undefined.ml +59 -0
- package/lib/ocaml/js_undefined.mli +92 -0
- package/lib/ocaml/js_vector.cmi +0 -0
- package/lib/ocaml/js_vector.cmt +0 -0
- package/lib/ocaml/js_vector.cmti +0 -0
- package/lib/ocaml/js_vector.ml +143 -0
- package/lib/ocaml/js_vector.mli +92 -0
- package/lib/ocaml/js_weakmap.cmi +0 -0
- package/lib/ocaml/js_weakmap.cmt +0 -0
- package/lib/ocaml/js_weakmap.ml +3 -0
- package/lib/ocaml/js_weakset.cmi +0 -0
- package/lib/ocaml/js_weakset.cmt +0 -0
- package/lib/ocaml/js_weakset.ml +3 -0
- package/lib/ocaml/jsx.cmi +0 -0
- package/lib/ocaml/jsx.cmt +0 -0
- package/lib/ocaml/jsx.ml +39 -0
- package/lib/ocaml/jsxDOM.cmi +0 -0
- package/lib/ocaml/jsxDOM.cmt +0 -0
- package/lib/ocaml/jsxDOM.ml +2087 -0
- package/lib/ocaml/jsxDOMStyle.cmi +0 -0
- package/lib/ocaml/jsxDOMStyle.cmt +0 -0
- package/lib/ocaml/jsxDOMStyle.ml +777 -0
- package/lib/ocaml/jsxEvent.cmi +0 -0
- package/lib/ocaml/jsxEvent.cmt +0 -0
- package/lib/ocaml/jsxEvent.ml +358 -0
- package/lib/ocaml/lazy.cmi +0 -0
- package/lib/ocaml/lazy.cmt +0 -0
- package/lib/ocaml/lazy.cmti +0 -0
- package/lib/ocaml/lazy.ml +70 -0
- package/lib/ocaml/lazy.mli +95 -0
- package/lib/ocaml/lexing.cmi +0 -0
- package/lib/ocaml/lexing.cmt +0 -0
- package/lib/ocaml/lexing.cmti +0 -0
- package/lib/ocaml/lexing.ml +230 -0
- package/lib/ocaml/lexing.mli +172 -0
- package/lib/ocaml/list.cmi +0 -0
- package/lib/ocaml/list.cmt +0 -0
- package/lib/ocaml/list.cmti +0 -0
- package/lib/ocaml/list.ml +485 -0
- package/lib/ocaml/list.mli +347 -0
- package/lib/ocaml/listLabels.cmi +0 -0
- package/lib/ocaml/listLabels.cmt +0 -0
- package/lib/ocaml/listLabels.cmti +0 -0
- package/lib/ocaml/listLabels.ml +485 -0
- package/lib/ocaml/listLabels.mli +353 -0
- package/lib/ocaml/map.cmi +0 -0
- package/lib/ocaml/map.cmt +0 -0
- package/lib/ocaml/map.cmti +0 -0
- package/lib/ocaml/map.cppo.ml +174 -0
- package/lib/ocaml/map.cppo.mli +191 -0
- package/lib/ocaml/map.ml +480 -0
- package/lib/ocaml/map.mli +315 -0
- package/lib/ocaml/mapLabels.cmi +0 -0
- package/lib/ocaml/mapLabels.cmt +0 -0
- package/lib/ocaml/mapLabels.ml +480 -0
- package/lib/ocaml/mapm.cppo.ml +177 -0
- package/lib/ocaml/mapm.cppo.mli +138 -0
- package/lib/ocaml/moreLabels.cmi +0 -0
- package/lib/ocaml/moreLabels.cmt +0 -0
- package/lib/ocaml/moreLabels.cmti +0 -0
- package/lib/ocaml/moreLabels.ml +22 -0
- package/lib/ocaml/moreLabels.mli +198 -0
- package/lib/ocaml/node.cmi +0 -0
- package/lib/ocaml/node.cmt +0 -0
- package/lib/ocaml/node.ml +84 -0
- package/lib/ocaml/node_buffer.cmi +0 -0
- package/lib/ocaml/node_buffer.cmt +0 -0
- package/lib/ocaml/node_buffer.ml +47 -0
- package/lib/ocaml/node_child_process.cmi +0 -0
- package/lib/ocaml/node_child_process.cmt +0 -0
- package/lib/ocaml/node_child_process.ml +50 -0
- package/lib/ocaml/node_fs.cmi +0 -0
- package/lib/ocaml/node_fs.cmt +0 -0
- package/lib/ocaml/node_fs.ml +153 -0
- package/lib/ocaml/node_module.cmi +0 -0
- package/lib/ocaml/node_module.cmt +0 -0
- package/lib/ocaml/node_module.ml +29 -0
- package/lib/ocaml/node_path.cmi +0 -0
- package/lib/ocaml/node_path.cmt +0 -0
- package/lib/ocaml/node_path.ml +71 -0
- package/lib/ocaml/node_process.cmi +0 -0
- package/lib/ocaml/node_process.cmt +0 -0
- package/lib/ocaml/node_process.cmti +0 -0
- package/lib/ocaml/node_process.ml +59 -0
- package/lib/ocaml/node_process.mli +48 -0
- package/lib/ocaml/obj.cmi +0 -0
- package/lib/ocaml/obj.cmt +0 -0
- package/lib/ocaml/obj.cmti +0 -0
- package/lib/ocaml/obj.ml +29 -0
- package/lib/ocaml/obj.mli +62 -0
- package/lib/ocaml/parsing.cmi +0 -0
- package/lib/ocaml/parsing.cmt +0 -0
- package/lib/ocaml/parsing.cmti +0 -0
- package/lib/ocaml/parsing.ml +212 -0
- package/lib/ocaml/parsing.mli +105 -0
- package/lib/ocaml/pervasives.cmi +0 -0
- package/lib/ocaml/pervasives.cmt +0 -0
- package/lib/ocaml/pervasives.cmti +0 -0
- package/lib/ocaml/pervasives.ml +297 -0
- package/lib/ocaml/pervasives.mli +771 -0
- package/lib/ocaml/printexc.cmi +0 -0
- package/lib/ocaml/printexc.cmt +0 -0
- package/lib/ocaml/printexc.cmti +0 -0
- package/lib/ocaml/printexc.ml +79 -0
- package/lib/ocaml/printexc.mli +57 -0
- package/lib/ocaml/queue.cmi +0 -0
- package/lib/ocaml/queue.cmt +0 -0
- package/lib/ocaml/queue.cmti +0 -0
- package/lib/ocaml/queue.ml +132 -0
- package/lib/ocaml/queue.mli +82 -0
- package/lib/ocaml/random.cmi +0 -0
- package/lib/ocaml/random.cmt +0 -0
- package/lib/ocaml/random.cmti +0 -0
- package/lib/ocaml/random.ml +273 -0
- package/lib/ocaml/random.mli +102 -0
- package/lib/ocaml/set.cmi +0 -0
- package/lib/ocaml/set.cmt +0 -0
- package/lib/ocaml/set.cmti +0 -0
- package/lib/ocaml/set.ml +526 -0
- package/lib/ocaml/set.mli +266 -0
- package/lib/ocaml/setLabels.cmi +0 -0
- package/lib/ocaml/setLabels.cmt +0 -0
- package/lib/ocaml/setLabels.ml +526 -0
- package/lib/ocaml/setm.cppo.ml +346 -0
- package/lib/ocaml/setm.cppo.mli +126 -0
- package/lib/ocaml/sort.cmi +0 -0
- package/lib/ocaml/sort.cmt +0 -0
- package/lib/ocaml/sort.cmti +0 -0
- package/lib/ocaml/sort.cppo.ml +267 -0
- package/lib/ocaml/sort.cppo.mli +96 -0
- package/lib/ocaml/sort.ml +99 -0
- package/lib/ocaml/sort.mli +44 -0
- package/lib/ocaml/stack.cmi +0 -0
- package/lib/ocaml/stack.cmt +0 -0
- package/lib/ocaml/stack.cmti +0 -0
- package/lib/ocaml/stack.ml +44 -0
- package/lib/ocaml/stack.mli +63 -0
- package/lib/ocaml/stdLabels.cmi +0 -0
- package/lib/ocaml/stdLabels.cmt +0 -0
- package/lib/ocaml/stdLabels.cmti +0 -0
- package/lib/ocaml/stdLabels.ml +24 -0
- package/lib/ocaml/stdLabels.mli +29 -0
- package/lib/ocaml/stream.cmi +0 -0
- package/lib/ocaml/stream.cmt +0 -0
- package/lib/ocaml/stream.cmti +0 -0
- package/lib/ocaml/stream.ml +213 -0
- package/lib/ocaml/stream.mli +108 -0
- package/lib/ocaml/string.cmi +0 -0
- package/lib/ocaml/string.cmt +0 -0
- package/lib/ocaml/string.cmti +0 -0
- package/lib/ocaml/string.ml +190 -0
- package/lib/ocaml/string.mli +286 -0
- package/lib/ocaml/stringLabels.cmi +0 -0
- package/lib/ocaml/stringLabels.cmt +0 -0
- package/lib/ocaml/stringLabels.cmti +0 -0
- package/lib/ocaml/stringLabels.ml +190 -0
- package/lib/ocaml/stringLabels.mli +241 -0
- package/lib/ocaml/sys.cmi +0 -0
- package/lib/ocaml/sys.cmt +0 -0
- package/lib/ocaml/sys.cmti +0 -0
- package/lib/ocaml/sys.ml +135 -0
- package/lib/ocaml/sys.mli +333 -0
- package/lib/ocaml/uchar.cmi +0 -0
- package/lib/ocaml/uchar.cmt +0 -0
- package/lib/ocaml/uchar.cmti +0 -0
- package/lib/ocaml/uchar.ml +58 -0
- package/lib/ocaml/uchar.mli +98 -0
- package/linux/bsb_helper.exe +0 -0
- package/linux/bsc.exe +0 -0
- package/linux/ninja.COPYING +202 -0
- package/linux/ninja.exe +0 -0
- package/linux/refmt.exe +0 -0
- package/linux/rescript.exe +0 -0
- package/openbsd/.keep +0 -0
- package/package.json +71 -0
- package/rescript +591 -0
- package/scripts/LICENSE.ml +27 -0
- package/scripts/bin_path.js +38 -0
- package/scripts/buckle_lto.js +55 -0
- package/scripts/build_sorted.ml +233 -0
- package/scripts/buildocaml.js +102 -0
- package/scripts/caml_oo_curry_gen.ml +71 -0
- package/scripts/checkUnused.js +63 -0
- package/scripts/ciTest.js +172 -0
- package/scripts/config.js +24 -0
- package/scripts/cover.sh +3 -0
- package/scripts/curry_gen.ml +167 -0
- package/scripts/dbg +13 -0
- package/scripts/dedupe.js +44 -0
- package/scripts/doc_gen.js +117 -0
- package/scripts/install.js +237 -0
- package/scripts/installUtils.js +61 -0
- package/scripts/js_internal_gen.js +135 -0
- package/scripts/jsconfig.json +12 -0
- package/scripts/littlecase.js +21 -0
- package/scripts/ninja.js +1980 -0
- package/scripts/ninjaFactory.js +36 -0
- package/scripts/pack.js +107 -0
- package/scripts/prebuilt.js +99 -0
- package/scripts/release.js +41 -0
- package/scripts/repl.js +151 -0
- package/scripts/rescript_arg.js +168 -0
- package/scripts/rescript_convert.js +128 -0
- package/scripts/rescript_dump.js +48 -0
- package/scripts/rescript_format.js +194 -0
- package/scripts/shake.js +138 -0
- package/scripts/tasks.js +149 -0
- package/scripts/test.sh +3 -0
- package/scripts/tmp.js +98 -0
- package/scripts/validate.js +41 -0
- package/vendor/ninja.tar.gz +0 -0
- package/vendor/ocaml.tar.gz +0 -0
- package/win32/bsb_helper.exe +0 -0
- package/win32/bsc.exe +0 -0
- package/win32/ninja.COPYING +202 -0
- package/win32/ninja.exe +0 -0
- package/win32/refmt.exe +0 -0
- package/win32/rescript.exe +0 -0
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
# 2 "others/belt_Set.cppo.ml"
|
|
2
|
+
module I = Belt_internalSetInt
|
|
3
|
+
# 8 "others/belt_Set.cppo.ml"
|
|
4
|
+
module N = Belt_internalAVLset
|
|
5
|
+
module A = Belt_Array
|
|
6
|
+
|
|
7
|
+
type value = I.value
|
|
8
|
+
type t = I.t
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
let empty = None
|
|
12
|
+
let isEmpty = N.isEmpty
|
|
13
|
+
let minimum = N.minimum
|
|
14
|
+
let minUndefined = N.minUndefined
|
|
15
|
+
let maximum = N.maximum
|
|
16
|
+
let maxUndefined = N.maxUndefined
|
|
17
|
+
|
|
18
|
+
let forEach = N.forEach
|
|
19
|
+
let forEachU = N.forEachU
|
|
20
|
+
let reduce = N.reduce
|
|
21
|
+
let reduceU = N.reduceU
|
|
22
|
+
let every = N.every
|
|
23
|
+
let everyU = N.everyU
|
|
24
|
+
let some = N.some
|
|
25
|
+
let someU = N.someU
|
|
26
|
+
let keep = N.keepShared
|
|
27
|
+
let keepU = N.keepSharedU
|
|
28
|
+
let partition = N.partitionShared
|
|
29
|
+
let partitionU = N.partitionSharedU
|
|
30
|
+
|
|
31
|
+
let size = N.size
|
|
32
|
+
let toList = N.toList
|
|
33
|
+
let toArray = N.toArray
|
|
34
|
+
let fromSortedArrayUnsafe = N.fromSortedArrayUnsafe
|
|
35
|
+
let checkInvariantInternal = N.checkInvariantInternal
|
|
36
|
+
|
|
37
|
+
let rec add (t : t) (x : value) : t =
|
|
38
|
+
match t with
|
|
39
|
+
None -> N.singleton x
|
|
40
|
+
| Some nt ->
|
|
41
|
+
let v = nt.value in
|
|
42
|
+
if x = v then t else
|
|
43
|
+
let {N.left = l; right = r} = nt in
|
|
44
|
+
if x < v then
|
|
45
|
+
let ll = add l x in
|
|
46
|
+
if ll == l then t
|
|
47
|
+
else N.bal ll v r
|
|
48
|
+
else
|
|
49
|
+
let rr = add r x in
|
|
50
|
+
if rr == r then t
|
|
51
|
+
else N.bal l v rr
|
|
52
|
+
|
|
53
|
+
let mergeMany h arr =
|
|
54
|
+
let len = A.length arr in
|
|
55
|
+
let v = ref h in
|
|
56
|
+
for i = 0 to len - 1 do
|
|
57
|
+
let key = A.getUnsafe arr i in
|
|
58
|
+
v .contents<- add v.contents key
|
|
59
|
+
done ;
|
|
60
|
+
v.contents
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
let rec remove (t : t) (x : value) : t =
|
|
64
|
+
match t with
|
|
65
|
+
| None -> t
|
|
66
|
+
| Some n ->
|
|
67
|
+
let {N.left = l; value = v; right = r} = n in
|
|
68
|
+
if x = v then
|
|
69
|
+
match l, r with
|
|
70
|
+
| None, _ -> r
|
|
71
|
+
| _, None -> l
|
|
72
|
+
| _, Some rn ->
|
|
73
|
+
let v = ref rn.value in
|
|
74
|
+
let r = N.removeMinAuxWithRef rn v in
|
|
75
|
+
N.bal l v.contents r
|
|
76
|
+
else
|
|
77
|
+
if x < v then
|
|
78
|
+
let ll = remove l x in
|
|
79
|
+
if ll == l then t
|
|
80
|
+
else N.bal ll v r
|
|
81
|
+
else
|
|
82
|
+
let rr = remove r x in
|
|
83
|
+
if rr == r then t
|
|
84
|
+
else N.bal l v rr
|
|
85
|
+
|
|
86
|
+
let removeMany h arr =
|
|
87
|
+
let len = A.length arr in
|
|
88
|
+
let v = ref h in
|
|
89
|
+
for i = 0 to len - 1 do
|
|
90
|
+
let key = A.getUnsafe arr i in
|
|
91
|
+
v .contents<- remove v.contents key
|
|
92
|
+
done ;
|
|
93
|
+
v.contents
|
|
94
|
+
|
|
95
|
+
let fromArray = I.fromArray
|
|
96
|
+
let cmp = I.cmp
|
|
97
|
+
let eq = I.eq
|
|
98
|
+
let get = I.get
|
|
99
|
+
let getUndefined = I.getUndefined
|
|
100
|
+
let getExn = I.getExn
|
|
101
|
+
let subset = I.subset
|
|
102
|
+
let has = I.has
|
|
103
|
+
|
|
104
|
+
let rec splitAuxNoPivot (n : _ N.node) (x : value) : t * t =
|
|
105
|
+
let {N.left = l; value = v; right = r} = n in
|
|
106
|
+
if x = v then l, r
|
|
107
|
+
else if x < v then
|
|
108
|
+
match l with
|
|
109
|
+
| None ->
|
|
110
|
+
None , Some n
|
|
111
|
+
| Some l ->
|
|
112
|
+
let ll, rl = splitAuxNoPivot l x in
|
|
113
|
+
ll, N.joinShared rl v r
|
|
114
|
+
else
|
|
115
|
+
match r with
|
|
116
|
+
| None ->
|
|
117
|
+
Some n, None
|
|
118
|
+
| Some r ->
|
|
119
|
+
let lr, rr = splitAuxNoPivot r x in
|
|
120
|
+
N.joinShared l v lr, rr
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
let rec splitAuxPivot (n : _ N.node) (x : value) pres : t * t =
|
|
124
|
+
let {N.left = l; value = v; right = r} = n in
|
|
125
|
+
if x = v then begin
|
|
126
|
+
pres .contents<- true;
|
|
127
|
+
(l, r)
|
|
128
|
+
end
|
|
129
|
+
else if x < v then
|
|
130
|
+
match l with
|
|
131
|
+
| None ->
|
|
132
|
+
None, Some n
|
|
133
|
+
| Some l ->
|
|
134
|
+
let ll, rl = splitAuxPivot l x pres in
|
|
135
|
+
ll, N.joinShared rl v r
|
|
136
|
+
else
|
|
137
|
+
match r with
|
|
138
|
+
| None ->
|
|
139
|
+
Some n, None
|
|
140
|
+
| Some r ->
|
|
141
|
+
let lr, rr = splitAuxPivot r x pres in
|
|
142
|
+
N.joinShared l v lr, rr
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
let split (t : t) (x : value) =
|
|
146
|
+
match t with
|
|
147
|
+
None ->
|
|
148
|
+
(None, None), false
|
|
149
|
+
| Some n ->
|
|
150
|
+
let pres = ref false in
|
|
151
|
+
let v = splitAuxPivot n x pres in
|
|
152
|
+
v, pres.contents
|
|
153
|
+
|
|
154
|
+
let rec union (s1 : t) (s2 : t) =
|
|
155
|
+
match s1, s2 with
|
|
156
|
+
(None, _) -> s2
|
|
157
|
+
| (_, None) -> s1
|
|
158
|
+
| Some n1, Some n2 (* (Node(l1, v1, r1, h1), Node(l2, v2, r2, h2)) *) ->
|
|
159
|
+
let h1, h2 = n1.height, n2.height in
|
|
160
|
+
if h1 >= h2 then
|
|
161
|
+
if h2 = 1 then add s1 n2.value else begin
|
|
162
|
+
let {N.left = l1; value = v1; right = r1} = n1 in
|
|
163
|
+
let (l2, r2) = splitAuxNoPivot n2 v1 in
|
|
164
|
+
N.joinShared (union l1 l2) v1 (union r1 r2)
|
|
165
|
+
end
|
|
166
|
+
else
|
|
167
|
+
if h1 = 1 then add s2 n1.value else begin
|
|
168
|
+
let {N.left = l2; value = v2; right = r2} = n2 in
|
|
169
|
+
let (l1, r1) = splitAuxNoPivot n1 v2 in
|
|
170
|
+
N.joinShared (union l1 l2) v2 (union r1 r2)
|
|
171
|
+
end
|
|
172
|
+
|
|
173
|
+
let rec intersect (s1 : t) (s2 : t) =
|
|
174
|
+
match s1, s2 with
|
|
175
|
+
(None, _)
|
|
176
|
+
| (_, None) -> None
|
|
177
|
+
| Some n1, Some n2 (* (Node(l1, v1, r1, _), t2) *) ->
|
|
178
|
+
let {N.left = l1; value = v1; right = r1} = n1 in
|
|
179
|
+
let pres = ref false in
|
|
180
|
+
let l2,r2 = splitAuxPivot n2 v1 pres in
|
|
181
|
+
let ll = intersect l1 l2 in
|
|
182
|
+
let rr = intersect r1 r2 in
|
|
183
|
+
if pres.contents then N.joinShared ll v1 rr
|
|
184
|
+
else N.concatShared ll rr
|
|
185
|
+
|
|
186
|
+
let rec diff (s1 : t) (s2 : t) =
|
|
187
|
+
match s1, s2 with
|
|
188
|
+
| (None, _)
|
|
189
|
+
| (_, None) -> s1
|
|
190
|
+
| Some n1, Some n2 (* (Node(l1, v1, r1, _), t2) *) ->
|
|
191
|
+
let {N.left = l1; value = v1; right = r1} = n1 in
|
|
192
|
+
let pres = ref false in
|
|
193
|
+
let l2, r2 = splitAuxPivot n2 v1 pres in
|
|
194
|
+
let ll = diff l1 l2 in
|
|
195
|
+
let rr = diff r1 r2 in
|
|
196
|
+
if pres.contents then N.concatShared ll rr
|
|
197
|
+
else N.joinShared ll v1 rr
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
# 1 "others/belt_Set.cppo.mli"
|
|
2
|
+
(* Copyright (C) 2017 Authors of ReScript
|
|
3
|
+
*
|
|
4
|
+
* This program is free software: you can redistribute it and/or modify
|
|
5
|
+
* it under the terms of the GNU Lesser General Public License as published by
|
|
6
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
7
|
+
* (at your option) any later version.
|
|
8
|
+
*
|
|
9
|
+
* In addition to the permissions granted to you by the LGPL, you may combine
|
|
10
|
+
* or link a "work that uses the Library" with a publicly distributed version
|
|
11
|
+
* of this file to produce a combined library or application, then distribute
|
|
12
|
+
* that combined work under the terms of your choosing, with no requirement
|
|
13
|
+
* to comply with the obligations normally placed on you by section 4 of the
|
|
14
|
+
* LGPL version 3 (or the corresponding section of a later version of the LGPL
|
|
15
|
+
* should you choose to use a later version).
|
|
16
|
+
*
|
|
17
|
+
* This program is distributed in the hope that it will be useful,
|
|
18
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
19
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
20
|
+
* GNU Lesser General Public License for more details.
|
|
21
|
+
*
|
|
22
|
+
* You should have received a copy of the GNU Lesser General Public License
|
|
23
|
+
* along with this program; if not, write to the Free Software
|
|
24
|
+
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *)
|
|
25
|
+
|
|
26
|
+
(**
|
|
27
|
+
This module is [`Belt.Set`]() specialized with value type to be a primitive type.
|
|
28
|
+
It is more efficient in general, the API is the same with [`Belt_Set`]() except its value type is fixed,
|
|
29
|
+
and identity is not needed(using the built-in one)
|
|
30
|
+
|
|
31
|
+
**See** [`Belt.Set`]()
|
|
32
|
+
*)
|
|
33
|
+
|
|
34
|
+
# 36 "others/belt_Set.cppo.mli"
|
|
35
|
+
type value = int
|
|
36
|
+
|
|
37
|
+
# 40 "others/belt_Set.cppo.mli"
|
|
38
|
+
(** The type of the set elements. *)
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
type t
|
|
42
|
+
(** The type of sets. *)
|
|
43
|
+
|
|
44
|
+
val empty: t
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
val fromArray: value array -> t
|
|
48
|
+
|
|
49
|
+
val fromSortedArrayUnsafe: value array -> t
|
|
50
|
+
|
|
51
|
+
val isEmpty: t -> bool
|
|
52
|
+
|
|
53
|
+
val has: t -> value -> bool
|
|
54
|
+
|
|
55
|
+
val add: t -> value -> t
|
|
56
|
+
(** `add s x` If `x` was already in `s`, `s` is returned unchanged. *)
|
|
57
|
+
|
|
58
|
+
val mergeMany: t -> value array -> t
|
|
59
|
+
|
|
60
|
+
val remove: t -> value -> t
|
|
61
|
+
(** `remove m x` If `x` was not in `m`, `m` is returned reference unchanged. *)
|
|
62
|
+
|
|
63
|
+
val removeMany: t -> value array -> t
|
|
64
|
+
|
|
65
|
+
val union: t -> t -> t
|
|
66
|
+
|
|
67
|
+
val intersect: t -> t -> t
|
|
68
|
+
|
|
69
|
+
val diff: t -> t -> t
|
|
70
|
+
|
|
71
|
+
val subset: t -> t -> bool
|
|
72
|
+
(** `subset s1 s2` tests whether the set `s1` is a subset of
|
|
73
|
+
the set `s2`. *)
|
|
74
|
+
|
|
75
|
+
val cmp: t -> t -> int
|
|
76
|
+
(** Total ordering between sets. Can be used as the ordering function
|
|
77
|
+
for doing sets of sets. *)
|
|
78
|
+
|
|
79
|
+
val eq: t -> t -> bool
|
|
80
|
+
(** `eq s1 s2` tests whether the sets `s1` and `s2` are
|
|
81
|
+
equal, that is, contain equal elements. *)
|
|
82
|
+
|
|
83
|
+
val forEachU: t -> (value -> unit [@bs]) -> unit
|
|
84
|
+
val forEach: t -> (value -> unit) -> unit
|
|
85
|
+
(** `forEach s f` applies `f` in turn to all elements of `s`.
|
|
86
|
+
In increasing order *)
|
|
87
|
+
|
|
88
|
+
val reduceU: t -> 'a -> ('a -> value -> 'a [@bs]) -> 'a
|
|
89
|
+
val reduce: t -> 'a -> ('a -> value -> 'a) -> 'a
|
|
90
|
+
(** Iterate in increasing order. *)
|
|
91
|
+
|
|
92
|
+
val everyU: t -> (value -> bool [@bs]) -> bool
|
|
93
|
+
val every: t -> (value -> bool) -> bool
|
|
94
|
+
(** `every p s` checks if all elements of the set
|
|
95
|
+
satisfy the predicate `p`. Order unspecified. *)
|
|
96
|
+
|
|
97
|
+
val someU: t -> (value -> bool [@bs]) -> bool
|
|
98
|
+
val some: t -> (value -> bool) -> bool
|
|
99
|
+
(** `some p s` checks if at least one element of
|
|
100
|
+
the set satisfies the predicate `p`. Oder unspecified. *)
|
|
101
|
+
|
|
102
|
+
val keepU: t -> (value -> bool [@bs]) -> t
|
|
103
|
+
val keep: t -> (value -> bool) -> t
|
|
104
|
+
(** `keep p s` returns the set of all elements in `s`
|
|
105
|
+
that satisfy predicate `p`. *)
|
|
106
|
+
|
|
107
|
+
val partitionU: t -> (value -> bool [@bs]) -> t * t
|
|
108
|
+
val partition: t -> (value -> bool) -> t * t
|
|
109
|
+
(**
|
|
110
|
+
`partition p s` returns a pair of sets `(s1, s2)`, where
|
|
111
|
+
`s1` is the set of all the elements of `s` that satisfy the
|
|
112
|
+
predicate `p`, and `s2` is the set of all the elements of
|
|
113
|
+
`s` that do not satisfy `p`.
|
|
114
|
+
*)
|
|
115
|
+
|
|
116
|
+
val size: t -> int
|
|
117
|
+
|
|
118
|
+
val toList: t -> value list
|
|
119
|
+
(** In increasing order *)
|
|
120
|
+
|
|
121
|
+
val toArray: t -> value array
|
|
122
|
+
|
|
123
|
+
val minimum: t -> value option
|
|
124
|
+
|
|
125
|
+
val minUndefined: t -> value Js.undefined
|
|
126
|
+
|
|
127
|
+
val maximum: t -> value option
|
|
128
|
+
|
|
129
|
+
val maxUndefined: t -> value Js.undefined
|
|
130
|
+
|
|
131
|
+
val get: t -> value -> value option
|
|
132
|
+
|
|
133
|
+
val getUndefined: t -> value -> value Js.undefined
|
|
134
|
+
|
|
135
|
+
val getExn: t -> value -> value
|
|
136
|
+
|
|
137
|
+
val split: t -> value -> (t * t) * bool
|
|
138
|
+
(**
|
|
139
|
+
`split x s` returns a triple `(l, present, r)`, where
|
|
140
|
+
`l` is the set of elements of `s` that are
|
|
141
|
+
strictly less than `x`;
|
|
142
|
+
`r` is the set of elements of `s` that are
|
|
143
|
+
strictly greater than `x`;
|
|
144
|
+
`present` is `false` if `s` contains no element equal to `x`,
|
|
145
|
+
or `true` if `s` contains an element equal to `x`.
|
|
146
|
+
*)
|
|
147
|
+
|
|
148
|
+
val checkInvariantInternal: t -> unit
|
|
149
|
+
(**
|
|
150
|
+
**raise** when invariant is not held
|
|
151
|
+
*)
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
# 4 "others/belt_Set.cppo.ml"
|
|
2
|
+
module I = Belt_internalSetString
|
|
3
|
+
# 8 "others/belt_Set.cppo.ml"
|
|
4
|
+
module N = Belt_internalAVLset
|
|
5
|
+
module A = Belt_Array
|
|
6
|
+
|
|
7
|
+
type value = I.value
|
|
8
|
+
type t = I.t
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
let empty = None
|
|
12
|
+
let isEmpty = N.isEmpty
|
|
13
|
+
let minimum = N.minimum
|
|
14
|
+
let minUndefined = N.minUndefined
|
|
15
|
+
let maximum = N.maximum
|
|
16
|
+
let maxUndefined = N.maxUndefined
|
|
17
|
+
|
|
18
|
+
let forEach = N.forEach
|
|
19
|
+
let forEachU = N.forEachU
|
|
20
|
+
let reduce = N.reduce
|
|
21
|
+
let reduceU = N.reduceU
|
|
22
|
+
let every = N.every
|
|
23
|
+
let everyU = N.everyU
|
|
24
|
+
let some = N.some
|
|
25
|
+
let someU = N.someU
|
|
26
|
+
let keep = N.keepShared
|
|
27
|
+
let keepU = N.keepSharedU
|
|
28
|
+
let partition = N.partitionShared
|
|
29
|
+
let partitionU = N.partitionSharedU
|
|
30
|
+
|
|
31
|
+
let size = N.size
|
|
32
|
+
let toList = N.toList
|
|
33
|
+
let toArray = N.toArray
|
|
34
|
+
let fromSortedArrayUnsafe = N.fromSortedArrayUnsafe
|
|
35
|
+
let checkInvariantInternal = N.checkInvariantInternal
|
|
36
|
+
|
|
37
|
+
let rec add (t : t) (x : value) : t =
|
|
38
|
+
match t with
|
|
39
|
+
None -> N.singleton x
|
|
40
|
+
| Some nt ->
|
|
41
|
+
let v = nt.value in
|
|
42
|
+
if x = v then t else
|
|
43
|
+
let {N.left = l; right = r} = nt in
|
|
44
|
+
if x < v then
|
|
45
|
+
let ll = add l x in
|
|
46
|
+
if ll == l then t
|
|
47
|
+
else N.bal ll v r
|
|
48
|
+
else
|
|
49
|
+
let rr = add r x in
|
|
50
|
+
if rr == r then t
|
|
51
|
+
else N.bal l v rr
|
|
52
|
+
|
|
53
|
+
let mergeMany h arr =
|
|
54
|
+
let len = A.length arr in
|
|
55
|
+
let v = ref h in
|
|
56
|
+
for i = 0 to len - 1 do
|
|
57
|
+
let key = A.getUnsafe arr i in
|
|
58
|
+
v .contents<- add v.contents key
|
|
59
|
+
done ;
|
|
60
|
+
v.contents
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
let rec remove (t : t) (x : value) : t =
|
|
64
|
+
match t with
|
|
65
|
+
| None -> t
|
|
66
|
+
| Some n ->
|
|
67
|
+
let {N.left = l; value = v; right = r} = n in
|
|
68
|
+
if x = v then
|
|
69
|
+
match l, r with
|
|
70
|
+
| None, _ -> r
|
|
71
|
+
| _, None -> l
|
|
72
|
+
| _, Some rn ->
|
|
73
|
+
let v = ref rn.value in
|
|
74
|
+
let r = N.removeMinAuxWithRef rn v in
|
|
75
|
+
N.bal l v.contents r
|
|
76
|
+
else
|
|
77
|
+
if x < v then
|
|
78
|
+
let ll = remove l x in
|
|
79
|
+
if ll == l then t
|
|
80
|
+
else N.bal ll v r
|
|
81
|
+
else
|
|
82
|
+
let rr = remove r x in
|
|
83
|
+
if rr == r then t
|
|
84
|
+
else N.bal l v rr
|
|
85
|
+
|
|
86
|
+
let removeMany h arr =
|
|
87
|
+
let len = A.length arr in
|
|
88
|
+
let v = ref h in
|
|
89
|
+
for i = 0 to len - 1 do
|
|
90
|
+
let key = A.getUnsafe arr i in
|
|
91
|
+
v .contents<- remove v.contents key
|
|
92
|
+
done ;
|
|
93
|
+
v.contents
|
|
94
|
+
|
|
95
|
+
let fromArray = I.fromArray
|
|
96
|
+
let cmp = I.cmp
|
|
97
|
+
let eq = I.eq
|
|
98
|
+
let get = I.get
|
|
99
|
+
let getUndefined = I.getUndefined
|
|
100
|
+
let getExn = I.getExn
|
|
101
|
+
let subset = I.subset
|
|
102
|
+
let has = I.has
|
|
103
|
+
|
|
104
|
+
let rec splitAuxNoPivot (n : _ N.node) (x : value) : t * t =
|
|
105
|
+
let {N.left = l; value = v; right = r} = n in
|
|
106
|
+
if x = v then l, r
|
|
107
|
+
else if x < v then
|
|
108
|
+
match l with
|
|
109
|
+
| None ->
|
|
110
|
+
None , Some n
|
|
111
|
+
| Some l ->
|
|
112
|
+
let ll, rl = splitAuxNoPivot l x in
|
|
113
|
+
ll, N.joinShared rl v r
|
|
114
|
+
else
|
|
115
|
+
match r with
|
|
116
|
+
| None ->
|
|
117
|
+
Some n, None
|
|
118
|
+
| Some r ->
|
|
119
|
+
let lr, rr = splitAuxNoPivot r x in
|
|
120
|
+
N.joinShared l v lr, rr
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
let rec splitAuxPivot (n : _ N.node) (x : value) pres : t * t =
|
|
124
|
+
let {N.left = l; value = v; right = r} = n in
|
|
125
|
+
if x = v then begin
|
|
126
|
+
pres .contents<- true;
|
|
127
|
+
(l, r)
|
|
128
|
+
end
|
|
129
|
+
else if x < v then
|
|
130
|
+
match l with
|
|
131
|
+
| None ->
|
|
132
|
+
None, Some n
|
|
133
|
+
| Some l ->
|
|
134
|
+
let ll, rl = splitAuxPivot l x pres in
|
|
135
|
+
ll, N.joinShared rl v r
|
|
136
|
+
else
|
|
137
|
+
match r with
|
|
138
|
+
| None ->
|
|
139
|
+
Some n, None
|
|
140
|
+
| Some r ->
|
|
141
|
+
let lr, rr = splitAuxPivot r x pres in
|
|
142
|
+
N.joinShared l v lr, rr
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
let split (t : t) (x : value) =
|
|
146
|
+
match t with
|
|
147
|
+
None ->
|
|
148
|
+
(None, None), false
|
|
149
|
+
| Some n ->
|
|
150
|
+
let pres = ref false in
|
|
151
|
+
let v = splitAuxPivot n x pres in
|
|
152
|
+
v, pres.contents
|
|
153
|
+
|
|
154
|
+
let rec union (s1 : t) (s2 : t) =
|
|
155
|
+
match s1, s2 with
|
|
156
|
+
(None, _) -> s2
|
|
157
|
+
| (_, None) -> s1
|
|
158
|
+
| Some n1, Some n2 (* (Node(l1, v1, r1, h1), Node(l2, v2, r2, h2)) *) ->
|
|
159
|
+
let h1, h2 = n1.height, n2.height in
|
|
160
|
+
if h1 >= h2 then
|
|
161
|
+
if h2 = 1 then add s1 n2.value else begin
|
|
162
|
+
let {N.left = l1; value = v1; right = r1} = n1 in
|
|
163
|
+
let (l2, r2) = splitAuxNoPivot n2 v1 in
|
|
164
|
+
N.joinShared (union l1 l2) v1 (union r1 r2)
|
|
165
|
+
end
|
|
166
|
+
else
|
|
167
|
+
if h1 = 1 then add s2 n1.value else begin
|
|
168
|
+
let {N.left = l2; value = v2; right = r2} = n2 in
|
|
169
|
+
let (l1, r1) = splitAuxNoPivot n1 v2 in
|
|
170
|
+
N.joinShared (union l1 l2) v2 (union r1 r2)
|
|
171
|
+
end
|
|
172
|
+
|
|
173
|
+
let rec intersect (s1 : t) (s2 : t) =
|
|
174
|
+
match s1, s2 with
|
|
175
|
+
(None, _)
|
|
176
|
+
| (_, None) -> None
|
|
177
|
+
| Some n1, Some n2 (* (Node(l1, v1, r1, _), t2) *) ->
|
|
178
|
+
let {N.left = l1; value = v1; right = r1} = n1 in
|
|
179
|
+
let pres = ref false in
|
|
180
|
+
let l2,r2 = splitAuxPivot n2 v1 pres in
|
|
181
|
+
let ll = intersect l1 l2 in
|
|
182
|
+
let rr = intersect r1 r2 in
|
|
183
|
+
if pres.contents then N.joinShared ll v1 rr
|
|
184
|
+
else N.concatShared ll rr
|
|
185
|
+
|
|
186
|
+
let rec diff (s1 : t) (s2 : t) =
|
|
187
|
+
match s1, s2 with
|
|
188
|
+
| (None, _)
|
|
189
|
+
| (_, None) -> s1
|
|
190
|
+
| Some n1, Some n2 (* (Node(l1, v1, r1, _), t2) *) ->
|
|
191
|
+
let {N.left = l1; value = v1; right = r1} = n1 in
|
|
192
|
+
let pres = ref false in
|
|
193
|
+
let l2, r2 = splitAuxPivot n2 v1 pres in
|
|
194
|
+
let ll = diff l1 l2 in
|
|
195
|
+
let rr = diff r1 r2 in
|
|
196
|
+
if pres.contents then N.concatShared ll rr
|
|
197
|
+
else N.joinShared ll v1 rr
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
# 1 "others/belt_Set.cppo.mli"
|
|
2
|
+
(* Copyright (C) 2017 Authors of ReScript
|
|
3
|
+
*
|
|
4
|
+
* This program is free software: you can redistribute it and/or modify
|
|
5
|
+
* it under the terms of the GNU Lesser General Public License as published by
|
|
6
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
7
|
+
* (at your option) any later version.
|
|
8
|
+
*
|
|
9
|
+
* In addition to the permissions granted to you by the LGPL, you may combine
|
|
10
|
+
* or link a "work that uses the Library" with a publicly distributed version
|
|
11
|
+
* of this file to produce a combined library or application, then distribute
|
|
12
|
+
* that combined work under the terms of your choosing, with no requirement
|
|
13
|
+
* to comply with the obligations normally placed on you by section 4 of the
|
|
14
|
+
* LGPL version 3 (or the corresponding section of a later version of the LGPL
|
|
15
|
+
* should you choose to use a later version).
|
|
16
|
+
*
|
|
17
|
+
* This program is distributed in the hope that it will be useful,
|
|
18
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
19
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
20
|
+
* GNU Lesser General Public License for more details.
|
|
21
|
+
*
|
|
22
|
+
* You should have received a copy of the GNU Lesser General Public License
|
|
23
|
+
* along with this program; if not, write to the Free Software
|
|
24
|
+
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *)
|
|
25
|
+
|
|
26
|
+
(**
|
|
27
|
+
This module is [`Belt.Set`]() specialized with value type to be a primitive type.
|
|
28
|
+
It is more efficient in general, the API is the same with [`Belt_Set`]() except its value type is fixed,
|
|
29
|
+
and identity is not needed(using the built-in one)
|
|
30
|
+
|
|
31
|
+
**See** [`Belt.Set`]()
|
|
32
|
+
*)
|
|
33
|
+
|
|
34
|
+
# 34 "others/belt_Set.cppo.mli"
|
|
35
|
+
type value = string
|
|
36
|
+
|
|
37
|
+
# 40 "others/belt_Set.cppo.mli"
|
|
38
|
+
(** The type of the set elements. *)
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
type t
|
|
42
|
+
(** The type of sets. *)
|
|
43
|
+
|
|
44
|
+
val empty: t
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
val fromArray: value array -> t
|
|
48
|
+
|
|
49
|
+
val fromSortedArrayUnsafe: value array -> t
|
|
50
|
+
|
|
51
|
+
val isEmpty: t -> bool
|
|
52
|
+
|
|
53
|
+
val has: t -> value -> bool
|
|
54
|
+
|
|
55
|
+
val add: t -> value -> t
|
|
56
|
+
(** `add s x` If `x` was already in `s`, `s` is returned unchanged. *)
|
|
57
|
+
|
|
58
|
+
val mergeMany: t -> value array -> t
|
|
59
|
+
|
|
60
|
+
val remove: t -> value -> t
|
|
61
|
+
(** `remove m x` If `x` was not in `m`, `m` is returned reference unchanged. *)
|
|
62
|
+
|
|
63
|
+
val removeMany: t -> value array -> t
|
|
64
|
+
|
|
65
|
+
val union: t -> t -> t
|
|
66
|
+
|
|
67
|
+
val intersect: t -> t -> t
|
|
68
|
+
|
|
69
|
+
val diff: t -> t -> t
|
|
70
|
+
|
|
71
|
+
val subset: t -> t -> bool
|
|
72
|
+
(** `subset s1 s2` tests whether the set `s1` is a subset of
|
|
73
|
+
the set `s2`. *)
|
|
74
|
+
|
|
75
|
+
val cmp: t -> t -> int
|
|
76
|
+
(** Total ordering between sets. Can be used as the ordering function
|
|
77
|
+
for doing sets of sets. *)
|
|
78
|
+
|
|
79
|
+
val eq: t -> t -> bool
|
|
80
|
+
(** `eq s1 s2` tests whether the sets `s1` and `s2` are
|
|
81
|
+
equal, that is, contain equal elements. *)
|
|
82
|
+
|
|
83
|
+
val forEachU: t -> (value -> unit [@bs]) -> unit
|
|
84
|
+
val forEach: t -> (value -> unit) -> unit
|
|
85
|
+
(** `forEach s f` applies `f` in turn to all elements of `s`.
|
|
86
|
+
In increasing order *)
|
|
87
|
+
|
|
88
|
+
val reduceU: t -> 'a -> ('a -> value -> 'a [@bs]) -> 'a
|
|
89
|
+
val reduce: t -> 'a -> ('a -> value -> 'a) -> 'a
|
|
90
|
+
(** Iterate in increasing order. *)
|
|
91
|
+
|
|
92
|
+
val everyU: t -> (value -> bool [@bs]) -> bool
|
|
93
|
+
val every: t -> (value -> bool) -> bool
|
|
94
|
+
(** `every p s` checks if all elements of the set
|
|
95
|
+
satisfy the predicate `p`. Order unspecified. *)
|
|
96
|
+
|
|
97
|
+
val someU: t -> (value -> bool [@bs]) -> bool
|
|
98
|
+
val some: t -> (value -> bool) -> bool
|
|
99
|
+
(** `some p s` checks if at least one element of
|
|
100
|
+
the set satisfies the predicate `p`. Oder unspecified. *)
|
|
101
|
+
|
|
102
|
+
val keepU: t -> (value -> bool [@bs]) -> t
|
|
103
|
+
val keep: t -> (value -> bool) -> t
|
|
104
|
+
(** `keep p s` returns the set of all elements in `s`
|
|
105
|
+
that satisfy predicate `p`. *)
|
|
106
|
+
|
|
107
|
+
val partitionU: t -> (value -> bool [@bs]) -> t * t
|
|
108
|
+
val partition: t -> (value -> bool) -> t * t
|
|
109
|
+
(**
|
|
110
|
+
`partition p s` returns a pair of sets `(s1, s2)`, where
|
|
111
|
+
`s1` is the set of all the elements of `s` that satisfy the
|
|
112
|
+
predicate `p`, and `s2` is the set of all the elements of
|
|
113
|
+
`s` that do not satisfy `p`.
|
|
114
|
+
*)
|
|
115
|
+
|
|
116
|
+
val size: t -> int
|
|
117
|
+
|
|
118
|
+
val toList: t -> value list
|
|
119
|
+
(** In increasing order *)
|
|
120
|
+
|
|
121
|
+
val toArray: t -> value array
|
|
122
|
+
|
|
123
|
+
val minimum: t -> value option
|
|
124
|
+
|
|
125
|
+
val minUndefined: t -> value Js.undefined
|
|
126
|
+
|
|
127
|
+
val maximum: t -> value option
|
|
128
|
+
|
|
129
|
+
val maxUndefined: t -> value Js.undefined
|
|
130
|
+
|
|
131
|
+
val get: t -> value -> value option
|
|
132
|
+
|
|
133
|
+
val getUndefined: t -> value -> value Js.undefined
|
|
134
|
+
|
|
135
|
+
val getExn: t -> value -> value
|
|
136
|
+
|
|
137
|
+
val split: t -> value -> (t * t) * bool
|
|
138
|
+
(**
|
|
139
|
+
`split x s` returns a triple `(l, present, r)`, where
|
|
140
|
+
`l` is the set of elements of `s` that are
|
|
141
|
+
strictly less than `x`;
|
|
142
|
+
`r` is the set of elements of `s` that are
|
|
143
|
+
strictly greater than `x`;
|
|
144
|
+
`present` is `false` if `s` contains no element equal to `x`,
|
|
145
|
+
or `true` if `s` contains an element equal to `x`.
|
|
146
|
+
*)
|
|
147
|
+
|
|
148
|
+
val checkInvariantInternal: t -> unit
|
|
149
|
+
(**
|
|
150
|
+
**raise** when invariant is not held
|
|
151
|
+
*)
|
|
Binary file
|
|
Binary file
|