@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,803 @@
|
|
|
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
|
+
|
|
26
|
+
(*
|
|
27
|
+
perf is not everything, there are better memory represenations
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
type 'a cell = {
|
|
31
|
+
mutable head : 'a;
|
|
32
|
+
mutable tail : 'a opt_cell
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
and 'a opt_cell = 'a cell Js.null
|
|
36
|
+
|
|
37
|
+
and 'a t = {
|
|
38
|
+
length : int ;
|
|
39
|
+
data : 'a opt_cell
|
|
40
|
+
}
|
|
41
|
+
```
|
|
42
|
+
However,
|
|
43
|
+
- people use List not because of its perf, but its
|
|
44
|
+
convenience, in that case, pattern match and compatibility seems
|
|
45
|
+
more attractive, we could keep a mutable list
|
|
46
|
+
- The built in types would indicate that
|
|
47
|
+
its construtor is immutable, a better optimizer would break such code
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
type 'a t = {
|
|
51
|
+
head : 'a;
|
|
52
|
+
mutable tail : 'a t | int
|
|
53
|
+
}
|
|
54
|
+
```
|
|
55
|
+
In the future, we could come up with a safer version
|
|
56
|
+
```
|
|
57
|
+
type 'a t =
|
|
58
|
+
| Nil
|
|
59
|
+
| Cons of { hd : 'a ; mutable tail : 'a t }
|
|
60
|
+
```
|
|
61
|
+
*)
|
|
62
|
+
|
|
63
|
+
[@@@bs.config {flags = [| "-bs-noassertfalse" |]}]
|
|
64
|
+
|
|
65
|
+
type 'a t = 'a list
|
|
66
|
+
|
|
67
|
+
module A = Belt_Array
|
|
68
|
+
|
|
69
|
+
external mutableCell :
|
|
70
|
+
'a -> 'a t -> 'a t = "#makemutablelist"
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
(*
|
|
74
|
+
`mutableCell x []` == `x`
|
|
75
|
+
but tell the compiler that is a mutable cell, so it wont
|
|
76
|
+
be mis-inlined in the future
|
|
77
|
+
dont inline a binding to mutable cell, it is mutable
|
|
78
|
+
*)
|
|
79
|
+
(* INVARIANT: relies on Literals.tl (internal representation) *)
|
|
80
|
+
external unsafeMutateTail : 'a t -> 'a t -> unit = "tl" [@@bs.set]
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
(*
|
|
86
|
+
- the cell is not empty
|
|
87
|
+
*)
|
|
88
|
+
|
|
89
|
+
let head x =
|
|
90
|
+
match x with
|
|
91
|
+
| [] -> None
|
|
92
|
+
| x::_ -> Some x
|
|
93
|
+
|
|
94
|
+
let headExn x =
|
|
95
|
+
match x with
|
|
96
|
+
| [] -> raise Not_found
|
|
97
|
+
| x::_ -> x
|
|
98
|
+
|
|
99
|
+
let tail x =
|
|
100
|
+
match x with
|
|
101
|
+
| [] -> None
|
|
102
|
+
| _::xs -> Some xs
|
|
103
|
+
|
|
104
|
+
let tailExn x =
|
|
105
|
+
match x with
|
|
106
|
+
| [] -> raise Not_found
|
|
107
|
+
| _::t -> t
|
|
108
|
+
|
|
109
|
+
let add xs x = x :: xs
|
|
110
|
+
|
|
111
|
+
(* Assume `n >=0` *)
|
|
112
|
+
let rec nthAux x n =
|
|
113
|
+
match x with
|
|
114
|
+
| h::t -> if n = 0 then Some h else nthAux t (n - 1)
|
|
115
|
+
| _ -> None
|
|
116
|
+
|
|
117
|
+
let rec nthAuxAssert x n =
|
|
118
|
+
match x with
|
|
119
|
+
| h::t -> if n = 0 then h else nthAuxAssert t (n - 1)
|
|
120
|
+
| _ -> raise Not_found
|
|
121
|
+
|
|
122
|
+
let get x n =
|
|
123
|
+
if n < 0 then None
|
|
124
|
+
else nthAux x n
|
|
125
|
+
|
|
126
|
+
let getExn x n =
|
|
127
|
+
if n < 0 then raise Not_found
|
|
128
|
+
else nthAuxAssert x n
|
|
129
|
+
|
|
130
|
+
let rec partitionAux p cell precX precY =
|
|
131
|
+
match cell with
|
|
132
|
+
| [] -> ()
|
|
133
|
+
| h::t ->
|
|
134
|
+
let next = mutableCell h [] in
|
|
135
|
+
if p h [@bs] then
|
|
136
|
+
begin
|
|
137
|
+
unsafeMutateTail precX next ;
|
|
138
|
+
partitionAux p t next precY
|
|
139
|
+
end
|
|
140
|
+
else
|
|
141
|
+
begin
|
|
142
|
+
unsafeMutateTail precY next ;
|
|
143
|
+
partitionAux p t precX next
|
|
144
|
+
end
|
|
145
|
+
|
|
146
|
+
let rec splitAux cell precX precY =
|
|
147
|
+
match cell with
|
|
148
|
+
| [] -> ()
|
|
149
|
+
| (a,b)::t ->
|
|
150
|
+
let nextA = mutableCell a [] in
|
|
151
|
+
let nextB = mutableCell b [] in
|
|
152
|
+
unsafeMutateTail precX nextA;
|
|
153
|
+
unsafeMutateTail precY nextB;
|
|
154
|
+
splitAux t nextA nextB
|
|
155
|
+
|
|
156
|
+
(* return the tail pointer so it can continue copy other
|
|
157
|
+
list
|
|
158
|
+
*)
|
|
159
|
+
let rec copyAuxCont cellX prec =
|
|
160
|
+
match cellX with
|
|
161
|
+
| [] -> prec
|
|
162
|
+
| h::t ->
|
|
163
|
+
let next = mutableCell h [] in
|
|
164
|
+
unsafeMutateTail prec next ;
|
|
165
|
+
copyAuxCont t next
|
|
166
|
+
|
|
167
|
+
let rec copyAuxWitFilter f cellX prec =
|
|
168
|
+
match cellX with
|
|
169
|
+
| [] ->
|
|
170
|
+
()
|
|
171
|
+
| h::t ->
|
|
172
|
+
if f h [@bs] then
|
|
173
|
+
begin
|
|
174
|
+
let next = mutableCell h [] in
|
|
175
|
+
unsafeMutateTail prec next ;
|
|
176
|
+
copyAuxWitFilter f t next
|
|
177
|
+
end
|
|
178
|
+
else copyAuxWitFilter f t prec
|
|
179
|
+
|
|
180
|
+
let rec copyAuxWithFilterIndex f cellX prec i =
|
|
181
|
+
match cellX with
|
|
182
|
+
| [] ->
|
|
183
|
+
()
|
|
184
|
+
| h::t ->
|
|
185
|
+
if f h i [@bs] then
|
|
186
|
+
begin
|
|
187
|
+
let next = mutableCell h [] in
|
|
188
|
+
unsafeMutateTail prec next ;
|
|
189
|
+
copyAuxWithFilterIndex f t next (i + 1)
|
|
190
|
+
end
|
|
191
|
+
else copyAuxWithFilterIndex f t prec (i + 1)
|
|
192
|
+
|
|
193
|
+
let rec copyAuxWitFilterMap f cellX prec =
|
|
194
|
+
match cellX with
|
|
195
|
+
| [] ->
|
|
196
|
+
()
|
|
197
|
+
| h::t ->
|
|
198
|
+
match f h [@bs] with
|
|
199
|
+
| Some h ->
|
|
200
|
+
begin
|
|
201
|
+
let next = mutableCell h [] in
|
|
202
|
+
unsafeMutateTail prec next ;
|
|
203
|
+
copyAuxWitFilterMap f t next
|
|
204
|
+
end
|
|
205
|
+
| None -> copyAuxWitFilterMap f t prec
|
|
206
|
+
|
|
207
|
+
let rec removeAssocAuxWithMap cellX x prec f =
|
|
208
|
+
match cellX with
|
|
209
|
+
| [] -> false
|
|
210
|
+
| ((a,_) as h):: t ->
|
|
211
|
+
if f a x [@bs] then
|
|
212
|
+
(unsafeMutateTail prec t ; true)
|
|
213
|
+
else
|
|
214
|
+
let next = mutableCell h [] in
|
|
215
|
+
unsafeMutateTail prec next ;
|
|
216
|
+
removeAssocAuxWithMap t x next f
|
|
217
|
+
|
|
218
|
+
let rec setAssocAuxWithMap cellX x k prec eq =
|
|
219
|
+
match cellX with
|
|
220
|
+
| [] -> false
|
|
221
|
+
| ((a,_) as h) :: t ->
|
|
222
|
+
if eq a x [@bs] then
|
|
223
|
+
(unsafeMutateTail prec ( (x,k)::t); true)
|
|
224
|
+
else
|
|
225
|
+
let next = mutableCell h [] in
|
|
226
|
+
unsafeMutateTail prec next ;
|
|
227
|
+
setAssocAuxWithMap t x k next eq
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
let rec copyAuxWithMap cellX prec f =
|
|
231
|
+
match cellX with
|
|
232
|
+
| [] ->
|
|
233
|
+
()
|
|
234
|
+
| h::t ->
|
|
235
|
+
let next = mutableCell (f h [@bs]) [] in
|
|
236
|
+
unsafeMutateTail prec next ;
|
|
237
|
+
copyAuxWithMap t next f
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
let rec zipAux cellX cellY prec =
|
|
241
|
+
match cellX, cellY with
|
|
242
|
+
| h1::t1, h2::t2 ->
|
|
243
|
+
let next = mutableCell ( h1, h2) [] in
|
|
244
|
+
unsafeMutateTail prec next ;
|
|
245
|
+
zipAux t1 t2 next
|
|
246
|
+
| [],_ | _,[] ->
|
|
247
|
+
()
|
|
248
|
+
|
|
249
|
+
let rec copyAuxWithMap2 f cellX cellY prec =
|
|
250
|
+
match cellX, cellY with
|
|
251
|
+
| h1::t1, h2::t2 ->
|
|
252
|
+
let next = mutableCell (f h1 h2 [@bs]) [] in
|
|
253
|
+
unsafeMutateTail prec next ;
|
|
254
|
+
copyAuxWithMap2 f t1 t2 next
|
|
255
|
+
| [],_ | _,[] ->
|
|
256
|
+
()
|
|
257
|
+
|
|
258
|
+
let rec copyAuxWithMapI f i cellX prec =
|
|
259
|
+
match cellX with
|
|
260
|
+
| h::t ->
|
|
261
|
+
let next = mutableCell (f i h [@bs]) [] in
|
|
262
|
+
unsafeMutateTail prec next ;
|
|
263
|
+
copyAuxWithMapI f (i + 1) t next
|
|
264
|
+
| [] ->
|
|
265
|
+
()
|
|
266
|
+
|
|
267
|
+
let rec takeAux n cell prec =
|
|
268
|
+
if n = 0 then true
|
|
269
|
+
else
|
|
270
|
+
match cell with
|
|
271
|
+
| [] -> false
|
|
272
|
+
| x::xs ->
|
|
273
|
+
let cell = mutableCell x [] in
|
|
274
|
+
unsafeMutateTail prec cell;
|
|
275
|
+
takeAux (n - 1) xs cell
|
|
276
|
+
|
|
277
|
+
let rec splitAtAux n cell prec =
|
|
278
|
+
if n = 0 then Some cell
|
|
279
|
+
else
|
|
280
|
+
match cell with
|
|
281
|
+
| [] -> None
|
|
282
|
+
| x::xs ->
|
|
283
|
+
let cell = mutableCell x [] in
|
|
284
|
+
unsafeMutateTail prec cell;
|
|
285
|
+
splitAtAux (n - 1) xs cell
|
|
286
|
+
|
|
287
|
+
(* invarint `n >= 0` *)
|
|
288
|
+
let take lst n =
|
|
289
|
+
if n < 0 then None
|
|
290
|
+
else
|
|
291
|
+
if n = 0 then Some []
|
|
292
|
+
else
|
|
293
|
+
match lst with
|
|
294
|
+
| [] -> None
|
|
295
|
+
| x::xs ->
|
|
296
|
+
let cell = mutableCell x [] in
|
|
297
|
+
let has = takeAux (n-1) xs cell in
|
|
298
|
+
if has then Some cell
|
|
299
|
+
else None
|
|
300
|
+
(* invariant `n >= 0 ` *)
|
|
301
|
+
let rec dropAux l n =
|
|
302
|
+
if n = 0 then Some l
|
|
303
|
+
else
|
|
304
|
+
match l with
|
|
305
|
+
| _::tl -> dropAux tl (n -1)
|
|
306
|
+
| [] -> None
|
|
307
|
+
|
|
308
|
+
let drop lst n =
|
|
309
|
+
if n < 0 then None
|
|
310
|
+
else
|
|
311
|
+
dropAux lst n
|
|
312
|
+
|
|
313
|
+
let splitAt lst n =
|
|
314
|
+
if n < 0 then None
|
|
315
|
+
else
|
|
316
|
+
if n = 0 then Some ([],lst)
|
|
317
|
+
else
|
|
318
|
+
match lst with
|
|
319
|
+
| [] -> None
|
|
320
|
+
| x::xs ->
|
|
321
|
+
let cell = mutableCell x [] in
|
|
322
|
+
let rest = splitAtAux (n - 1) xs cell in
|
|
323
|
+
match rest with
|
|
324
|
+
| Some rest -> Some (cell, rest)
|
|
325
|
+
| None -> None
|
|
326
|
+
|
|
327
|
+
let concat xs ys =
|
|
328
|
+
match xs with
|
|
329
|
+
| [] -> ys
|
|
330
|
+
| h::t ->
|
|
331
|
+
let cell = mutableCell h [] in
|
|
332
|
+
unsafeMutateTail (copyAuxCont t cell) ys;
|
|
333
|
+
cell
|
|
334
|
+
|
|
335
|
+
let mapU xs f =
|
|
336
|
+
match xs with
|
|
337
|
+
| [] -> []
|
|
338
|
+
| h::t ->
|
|
339
|
+
let cell = mutableCell (f h [@bs]) [] in
|
|
340
|
+
copyAuxWithMap t cell f;
|
|
341
|
+
cell
|
|
342
|
+
|
|
343
|
+
let map xs f = mapU xs (fun[@bs] x -> f x )
|
|
344
|
+
|
|
345
|
+
let zipByU l1 l2 f =
|
|
346
|
+
match (l1, l2) with
|
|
347
|
+
| (a1::l1, a2::l2) ->
|
|
348
|
+
let cell = mutableCell (f a1 a2 [@bs]) [] in
|
|
349
|
+
copyAuxWithMap2 f l1 l2 cell;
|
|
350
|
+
cell
|
|
351
|
+
| [], _ | _, [] -> []
|
|
352
|
+
|
|
353
|
+
let zipBy l1 l2 f = zipByU l1 l2 (fun[@bs] x y -> f x y)
|
|
354
|
+
|
|
355
|
+
let mapWithIndexU xs f =
|
|
356
|
+
match xs with
|
|
357
|
+
[] -> []
|
|
358
|
+
| h::t ->
|
|
359
|
+
let cell = mutableCell (f 0 h [@bs]) [] in
|
|
360
|
+
copyAuxWithMapI f 1 t cell;
|
|
361
|
+
cell
|
|
362
|
+
|
|
363
|
+
let mapWithIndex xs f = mapWithIndexU xs (fun[@bs] i x -> f i x)
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
let makeByU n f =
|
|
367
|
+
if n <= 0 then []
|
|
368
|
+
else
|
|
369
|
+
let headX = mutableCell (f 0 [@bs]) [] in
|
|
370
|
+
let cur = ref headX in
|
|
371
|
+
let i = ref 1 in
|
|
372
|
+
while i.contents < n do
|
|
373
|
+
let v = mutableCell (f i.contents [@bs]) [] in
|
|
374
|
+
unsafeMutateTail cur.contents v ;
|
|
375
|
+
cur.contents<- v ;
|
|
376
|
+
i.contents <- i.contents + 1 ;
|
|
377
|
+
done
|
|
378
|
+
;
|
|
379
|
+
headX
|
|
380
|
+
|
|
381
|
+
let makeBy n f = makeByU n (fun[@bs] x -> f x)
|
|
382
|
+
|
|
383
|
+
let make (type a) n (v : a) : a list =
|
|
384
|
+
if n <= 0 then []
|
|
385
|
+
else
|
|
386
|
+
let headX = mutableCell v [] in
|
|
387
|
+
let cur = ref headX in
|
|
388
|
+
let i = ref 1 in
|
|
389
|
+
while i.contents < n do
|
|
390
|
+
let v = mutableCell v [] in
|
|
391
|
+
unsafeMutateTail cur.contents v ;
|
|
392
|
+
cur.contents<- v ;
|
|
393
|
+
i.contents <- i.contents + 1 ;
|
|
394
|
+
done
|
|
395
|
+
;
|
|
396
|
+
headX
|
|
397
|
+
|
|
398
|
+
let rec lengthAux x acc =
|
|
399
|
+
match x with
|
|
400
|
+
| [] -> acc
|
|
401
|
+
| _::t -> lengthAux t (acc + 1)
|
|
402
|
+
|
|
403
|
+
let length xs = lengthAux xs 0
|
|
404
|
+
let size = length
|
|
405
|
+
|
|
406
|
+
let rec fillAux arr i x =
|
|
407
|
+
match x with
|
|
408
|
+
| [] -> ()
|
|
409
|
+
| h::t ->
|
|
410
|
+
A.setUnsafe arr i h ;
|
|
411
|
+
fillAux arr (i + 1) t
|
|
412
|
+
|
|
413
|
+
let rec fromArrayAux a i res =
|
|
414
|
+
if i < 0 then res
|
|
415
|
+
else fromArrayAux a (i - 1) (A.getUnsafe a i :: res)
|
|
416
|
+
|
|
417
|
+
let fromArray a =
|
|
418
|
+
fromArrayAux a (A.length a - 1) []
|
|
419
|
+
|
|
420
|
+
let toArray ( x : _ t) =
|
|
421
|
+
let len = length x in
|
|
422
|
+
let arr = A.makeUninitializedUnsafe len in
|
|
423
|
+
fillAux arr 0 x;
|
|
424
|
+
arr
|
|
425
|
+
|
|
426
|
+
let shuffle xs =
|
|
427
|
+
let v = toArray xs in
|
|
428
|
+
A.shuffleInPlace v ;
|
|
429
|
+
fromArray v
|
|
430
|
+
|
|
431
|
+
(* let rec fillAuxMap arr i x f =
|
|
432
|
+
match x with
|
|
433
|
+
| [] -> ()
|
|
434
|
+
| h::t ->
|
|
435
|
+
A.setUnsafe arr i (f h [@bs]) ;
|
|
436
|
+
fillAuxMap arr (i + 1) t f *)
|
|
437
|
+
|
|
438
|
+
(* module J = Js_json *)
|
|
439
|
+
(* type json = J.t *)
|
|
440
|
+
(* let toJson x f = *)
|
|
441
|
+
(* let len = length x in *)
|
|
442
|
+
(* let arr = Belt_Array.makeUninitializedUnsafe len in *)
|
|
443
|
+
(* fillAuxMap arr 0 x f; *)
|
|
444
|
+
(* J.array arr *)
|
|
445
|
+
|
|
446
|
+
(* TODO: best practice about raising excpetion
|
|
447
|
+
1. raise OCaml exception, no stacktrace
|
|
448
|
+
2. raise JS exception, how to pattern match
|
|
449
|
+
*)
|
|
450
|
+
|
|
451
|
+
|
|
452
|
+
|
|
453
|
+
let rec reverseConcat l1 l2 =
|
|
454
|
+
match l1 with
|
|
455
|
+
[] -> l2
|
|
456
|
+
| a :: l -> reverseConcat l (a :: l2)
|
|
457
|
+
|
|
458
|
+
let reverse l = reverseConcat l []
|
|
459
|
+
|
|
460
|
+
let rec flattenAux prec xs =
|
|
461
|
+
match xs with
|
|
462
|
+
| [] ->unsafeMutateTail prec []
|
|
463
|
+
| h::r -> flattenAux (copyAuxCont h prec) r
|
|
464
|
+
|
|
465
|
+
|
|
466
|
+
let rec flatten xs =
|
|
467
|
+
match xs with
|
|
468
|
+
| [] -> []
|
|
469
|
+
| []::xs -> flatten xs
|
|
470
|
+
| (h::t):: r ->
|
|
471
|
+
let cell = mutableCell h [] in
|
|
472
|
+
flattenAux (copyAuxCont t cell) r ;
|
|
473
|
+
cell
|
|
474
|
+
|
|
475
|
+
let concatMany xs =
|
|
476
|
+
match xs with
|
|
477
|
+
| [||] -> []
|
|
478
|
+
| [|x|] -> x
|
|
479
|
+
| _ ->
|
|
480
|
+
let len = A.length xs in
|
|
481
|
+
let v = ref (A.getUnsafe xs (len - 1)) in
|
|
482
|
+
for i = len - 2 downto 0 do
|
|
483
|
+
v .contents<- concat (A.getUnsafe xs i) v.contents
|
|
484
|
+
done ;
|
|
485
|
+
v.contents
|
|
486
|
+
|
|
487
|
+
let rec mapRevAux f accu xs =
|
|
488
|
+
match xs with
|
|
489
|
+
| [] -> accu
|
|
490
|
+
| a::l -> mapRevAux f (f a [@bs] :: accu) l
|
|
491
|
+
|
|
492
|
+
let mapReverseU l f =
|
|
493
|
+
mapRevAux f [] l
|
|
494
|
+
|
|
495
|
+
let mapReverse l f = mapReverseU l (fun [@bs] x -> f x)
|
|
496
|
+
|
|
497
|
+
let rec forEachU xs f =
|
|
498
|
+
match xs with
|
|
499
|
+
[] -> ()
|
|
500
|
+
| a::l -> f a [@bs] |. ignore ; forEachU l f
|
|
501
|
+
|
|
502
|
+
let forEach xs f = forEachU xs (fun [@bs] x -> f x)
|
|
503
|
+
|
|
504
|
+
let rec iteri xs i f =
|
|
505
|
+
match xs with
|
|
506
|
+
[] -> ()
|
|
507
|
+
| a::l -> f i a [@bs] |. ignore ; iteri l (i + 1) f
|
|
508
|
+
|
|
509
|
+
let forEachWithIndexU l f = iteri l 0 f
|
|
510
|
+
let forEachWithIndex l f = forEachWithIndexU l (fun [@bs] i x -> f i x)
|
|
511
|
+
|
|
512
|
+
let rec reduceU l accu f =
|
|
513
|
+
match l with
|
|
514
|
+
[] -> accu
|
|
515
|
+
| a::l -> reduceU l (f accu a [@bs]) f
|
|
516
|
+
|
|
517
|
+
let reduce l accu f =
|
|
518
|
+
reduceU l accu (fun[@bs] acc x -> f acc x )
|
|
519
|
+
|
|
520
|
+
let rec reduceReverseUnsafeU l accu f =
|
|
521
|
+
match l with
|
|
522
|
+
[] -> accu
|
|
523
|
+
| a::l -> f (reduceReverseUnsafeU l accu f) a [@bs]
|
|
524
|
+
|
|
525
|
+
let reduceReverseU (type a ) (type b) (l : a list) (acc : b) f =
|
|
526
|
+
let len = length l in
|
|
527
|
+
if len < 1000 then
|
|
528
|
+
reduceReverseUnsafeU l acc f
|
|
529
|
+
else
|
|
530
|
+
A.reduceReverseU (toArray l) acc f
|
|
531
|
+
|
|
532
|
+
let reduceReverse l accu f =
|
|
533
|
+
reduceReverseU l accu (fun [@bs] a b -> f a b)
|
|
534
|
+
|
|
535
|
+
let rec reduceWithIndexAuxU l acc f i =
|
|
536
|
+
match l with
|
|
537
|
+
| [] -> acc
|
|
538
|
+
| x::xs -> reduceWithIndexAuxU xs ((f acc x i)[@bs]) f (i + 1)
|
|
539
|
+
|
|
540
|
+
let reduceWithIndexU l acc f = reduceWithIndexAuxU l acc f 0
|
|
541
|
+
|
|
542
|
+
let reduceWithIndex l acc f =
|
|
543
|
+
reduceWithIndexU l acc (fun [@bs] acc x i -> f acc x i)
|
|
544
|
+
|
|
545
|
+
let rec mapRevAux2 l1 l2 accu f =
|
|
546
|
+
match (l1, l2) with
|
|
547
|
+
| (a1::l1, a2::l2) -> mapRevAux2 l1 l2 (f a1 a2 [@bs]:: accu) f
|
|
548
|
+
| _, [] | [], _ -> accu
|
|
549
|
+
|
|
550
|
+
let mapReverse2U l1 l2 f =
|
|
551
|
+
mapRevAux2 l1 l2 [] f
|
|
552
|
+
|
|
553
|
+
let mapReverse2 l1 l2 f = mapReverse2U l1 l2 (fun [@bs] a b -> f a b)
|
|
554
|
+
|
|
555
|
+
let rec forEach2U l1 l2 f =
|
|
556
|
+
match (l1, l2) with
|
|
557
|
+
| (a1::l1, a2::l2) -> f a1 a2 [@bs] |. ignore ; forEach2U l1 l2 f
|
|
558
|
+
| [],_ | _, [] -> ()
|
|
559
|
+
|
|
560
|
+
let forEach2 l1 l2 f = forEach2U l1 l2 (fun [@bs] a b -> f a b)
|
|
561
|
+
|
|
562
|
+
let rec reduce2U l1 l2 accu f =
|
|
563
|
+
match (l1, l2) with
|
|
564
|
+
| (a1::l1, a2::l2) ->
|
|
565
|
+
reduce2U l1 l2 (f accu a1 a2 [@bs]) f
|
|
566
|
+
| [], _ | _, [] -> accu
|
|
567
|
+
|
|
568
|
+
let reduce2 l1 l2 acc f = reduce2U l1 l2 acc (fun[@bs] a b c -> f a b c )
|
|
569
|
+
|
|
570
|
+
let rec reduceReverse2UnsafeU l1 l2 accu f =
|
|
571
|
+
match (l1, l2) with
|
|
572
|
+
([], []) -> accu
|
|
573
|
+
| (a1::l1, a2::l2) ->
|
|
574
|
+
f (reduceReverse2UnsafeU l1 l2 accu f) a1 a2 [@bs]
|
|
575
|
+
| _, [] | [], _ -> accu
|
|
576
|
+
|
|
577
|
+
let reduceReverse2U (type a ) (type b ) (type c)
|
|
578
|
+
(l1 : a list) (l2 : b list) (acc : c) f =
|
|
579
|
+
let len = length l1 in
|
|
580
|
+
if len < 1000 then
|
|
581
|
+
reduceReverse2UnsafeU l1 l2 acc f
|
|
582
|
+
else
|
|
583
|
+
A.reduceReverse2U (toArray l1) (toArray l2) acc f
|
|
584
|
+
|
|
585
|
+
let reduceReverse2 l1 l2 acc f =
|
|
586
|
+
reduceReverse2U l1 l2 acc (fun [@bs] a b c -> f a b c)
|
|
587
|
+
|
|
588
|
+
let rec everyU xs p =
|
|
589
|
+
match xs with
|
|
590
|
+
[] -> true
|
|
591
|
+
| a::l -> p a [@bs] && everyU l p
|
|
592
|
+
|
|
593
|
+
let every xs p = everyU xs (fun[@bs] x -> p x)
|
|
594
|
+
|
|
595
|
+
let rec someU xs p =
|
|
596
|
+
match xs with
|
|
597
|
+
[] -> false
|
|
598
|
+
| a::l -> p a [@bs] || someU l p
|
|
599
|
+
|
|
600
|
+
let some xs p = someU xs (fun[@bs] x -> p x)
|
|
601
|
+
|
|
602
|
+
let rec every2U l1 l2 p =
|
|
603
|
+
match (l1, l2) with
|
|
604
|
+
| _,[] | [], _ -> true
|
|
605
|
+
| (a1::l1, a2::l2) -> p a1 a2 [@bs] && every2U l1 l2 p
|
|
606
|
+
|
|
607
|
+
let every2 l1 l2 p = every2U l1 l2 (fun[@bs] a b -> p a b)
|
|
608
|
+
|
|
609
|
+
let rec cmpByLength l1 l2 =
|
|
610
|
+
match l1, l2 with
|
|
611
|
+
| [], [] -> 0
|
|
612
|
+
| _, [] -> 1
|
|
613
|
+
| [], _ -> -1
|
|
614
|
+
| _ :: l1s , _ :: l2s ->
|
|
615
|
+
cmpByLength l1s l2s
|
|
616
|
+
|
|
617
|
+
let rec cmpU l1 l2 p =
|
|
618
|
+
match (l1, l2) with
|
|
619
|
+
| [], [] -> 0
|
|
620
|
+
| _ , [] -> 1
|
|
621
|
+
| [], _ -> -1
|
|
622
|
+
| (a1::l1, a2::l2) ->
|
|
623
|
+
let c = p a1 a2 [@bs] in
|
|
624
|
+
if c = 0 then
|
|
625
|
+
cmpU l1 l2 p
|
|
626
|
+
else c
|
|
627
|
+
|
|
628
|
+
let cmp l1 l2 f = cmpU l1 l2 (fun [@bs] x y -> f x y)
|
|
629
|
+
|
|
630
|
+
|
|
631
|
+
let rec eqU l1 l2 p =
|
|
632
|
+
match (l1, l2) with
|
|
633
|
+
| [], [] -> true
|
|
634
|
+
| _ , []
|
|
635
|
+
| [], _ -> false
|
|
636
|
+
| (a1::l1, a2::l2) ->
|
|
637
|
+
if p a1 a2 [@bs] then
|
|
638
|
+
eqU l1 l2 p
|
|
639
|
+
else false
|
|
640
|
+
let eq l1 l2 f = eqU l1 l2 (fun [@bs] x y -> f x y)
|
|
641
|
+
|
|
642
|
+
let rec some2U l1 l2 p =
|
|
643
|
+
match (l1, l2) with
|
|
644
|
+
| [], _ | _, [] -> false
|
|
645
|
+
| (a1::l1, a2::l2) -> p a1 a2 [@bs] || some2U l1 l2 p
|
|
646
|
+
|
|
647
|
+
let some2 l1 l2 p = some2U l1 l2 (fun[@bs] a b -> p a b)
|
|
648
|
+
|
|
649
|
+
let rec hasU xs x eq =
|
|
650
|
+
match xs with
|
|
651
|
+
[] -> false
|
|
652
|
+
| a::l -> eq a x [@bs] || hasU l x eq
|
|
653
|
+
|
|
654
|
+
let has xs x eq = hasU xs x (fun [@bs] a b -> eq a b)
|
|
655
|
+
|
|
656
|
+
|
|
657
|
+
let rec getAssocU xs x eq =
|
|
658
|
+
match xs with
|
|
659
|
+
| [] -> None
|
|
660
|
+
| (a,b)::l ->
|
|
661
|
+
if eq a x [@bs] then Some b
|
|
662
|
+
else getAssocU l x eq
|
|
663
|
+
|
|
664
|
+
let getAssoc xs x eq = getAssocU xs x (fun[@bs] a b -> eq a b)
|
|
665
|
+
|
|
666
|
+
|
|
667
|
+
let rec hasAssocU xs x eq =
|
|
668
|
+
match xs with
|
|
669
|
+
| [] -> false
|
|
670
|
+
| (a, _) :: l -> eq a x [@bs] || hasAssocU l x eq
|
|
671
|
+
|
|
672
|
+
let hasAssoc xs x eq = hasAssocU xs x (fun[@bs] a b -> eq a b)
|
|
673
|
+
|
|
674
|
+
|
|
675
|
+
|
|
676
|
+
let removeAssocU xs x eq =
|
|
677
|
+
match xs with
|
|
678
|
+
| [] -> []
|
|
679
|
+
| (a, _ as pair) :: l ->
|
|
680
|
+
if eq a x [@bs] then l
|
|
681
|
+
else
|
|
682
|
+
let cell = mutableCell pair [] in
|
|
683
|
+
let removed = removeAssocAuxWithMap l x cell eq in
|
|
684
|
+
if removed then
|
|
685
|
+
cell
|
|
686
|
+
else xs
|
|
687
|
+
|
|
688
|
+
let removeAssoc xs x eq = removeAssocU xs x (fun [@bs] a b -> eq a b)
|
|
689
|
+
|
|
690
|
+
let setAssocU xs x k eq =
|
|
691
|
+
match xs with
|
|
692
|
+
| [] -> [x,k]
|
|
693
|
+
| (a, _ as pair) :: l ->
|
|
694
|
+
if eq a x [@bs] then (x,k)::l
|
|
695
|
+
else
|
|
696
|
+
let cell = mutableCell pair [] in
|
|
697
|
+
let replaced = setAssocAuxWithMap l x k cell eq in
|
|
698
|
+
if replaced then cell
|
|
699
|
+
else (x,k)::xs
|
|
700
|
+
|
|
701
|
+
let setAssoc xs x k eq = setAssocU xs x k (fun [@bs] a b -> eq a b)
|
|
702
|
+
|
|
703
|
+
let sortU xs cmp =
|
|
704
|
+
let arr = toArray xs in
|
|
705
|
+
Belt_SortArray.stableSortInPlaceByU arr cmp;
|
|
706
|
+
fromArray arr
|
|
707
|
+
|
|
708
|
+
let sort xs cmp = sortU xs (fun [@bs] x y -> cmp x y)
|
|
709
|
+
|
|
710
|
+
let rec getByU xs p =
|
|
711
|
+
match xs with
|
|
712
|
+
| [] -> None
|
|
713
|
+
| x :: l ->
|
|
714
|
+
if p x [@bs] then Some x
|
|
715
|
+
else getByU l p
|
|
716
|
+
|
|
717
|
+
let getBy xs p = getByU xs (fun[@bs] a -> p a)
|
|
718
|
+
|
|
719
|
+
let rec keepU xs p =
|
|
720
|
+
match xs with
|
|
721
|
+
| [] -> []
|
|
722
|
+
| h::t ->
|
|
723
|
+
if p h [@bs] then
|
|
724
|
+
begin
|
|
725
|
+
let cell = mutableCell h [] in
|
|
726
|
+
copyAuxWitFilter p t cell ;
|
|
727
|
+
cell
|
|
728
|
+
end
|
|
729
|
+
else
|
|
730
|
+
keepU t p
|
|
731
|
+
|
|
732
|
+
let keep xs p = keepU xs (fun[@bs] x -> p x)
|
|
733
|
+
|
|
734
|
+
let filter = keep
|
|
735
|
+
|
|
736
|
+
let keepWithIndexU xs p =
|
|
737
|
+
let rec auxKeepWithIndex xs p i =
|
|
738
|
+
match xs with
|
|
739
|
+
| [] -> []
|
|
740
|
+
| h::t ->
|
|
741
|
+
if p h i [@bs] then
|
|
742
|
+
begin
|
|
743
|
+
let cell = mutableCell h [] in
|
|
744
|
+
copyAuxWithFilterIndex p t cell (i + 1) ;
|
|
745
|
+
cell
|
|
746
|
+
end
|
|
747
|
+
else
|
|
748
|
+
auxKeepWithIndex t p (i + 1)
|
|
749
|
+
in auxKeepWithIndex xs p 0
|
|
750
|
+
|
|
751
|
+
let keepWithIndex xs p = keepWithIndexU xs (fun [@bs] x i -> p x i)
|
|
752
|
+
|
|
753
|
+
let filterWithIndex = keepWithIndex
|
|
754
|
+
|
|
755
|
+
let rec keepMapU xs p =
|
|
756
|
+
match xs with
|
|
757
|
+
| [] -> []
|
|
758
|
+
| h::t ->
|
|
759
|
+
match p h [@bs] with
|
|
760
|
+
| Some h ->
|
|
761
|
+
begin
|
|
762
|
+
let cell = mutableCell h [] in
|
|
763
|
+
copyAuxWitFilterMap p t cell ;
|
|
764
|
+
cell
|
|
765
|
+
end
|
|
766
|
+
| None ->
|
|
767
|
+
keepMapU t p
|
|
768
|
+
|
|
769
|
+
let keepMap xs p = keepMapU xs (fun [@bs] x -> p x)
|
|
770
|
+
|
|
771
|
+
let partitionU l p =
|
|
772
|
+
match l with
|
|
773
|
+
| [] -> [],[]
|
|
774
|
+
| h::t ->
|
|
775
|
+
let nextX = mutableCell h [] in
|
|
776
|
+
let nextY = mutableCell h [] in
|
|
777
|
+
let b = p h [@bs] in
|
|
778
|
+
partitionAux p t nextX nextY;
|
|
779
|
+
if b then
|
|
780
|
+
nextX, (match nextY with _ :: tail -> tail | [] -> assert false)
|
|
781
|
+
else
|
|
782
|
+
(match nextX with _ :: tail -> tail | [] -> assert false) , nextY
|
|
783
|
+
|
|
784
|
+
let partition l p = partitionU l (fun [@bs] x -> p x)
|
|
785
|
+
|
|
786
|
+
let unzip xs =
|
|
787
|
+
match xs with
|
|
788
|
+
| [] -> ([], [])
|
|
789
|
+
| (x,y)::l ->
|
|
790
|
+
let cellX = mutableCell x [] in
|
|
791
|
+
let cellY = mutableCell y [] in
|
|
792
|
+
splitAux l cellX cellY ;
|
|
793
|
+
cellX, cellY
|
|
794
|
+
|
|
795
|
+
|
|
796
|
+
let zip l1 l2 =
|
|
797
|
+
match (l1, l2) with
|
|
798
|
+
_, [] | [], _ -> []
|
|
799
|
+
| (a1::l1, a2::l2) ->
|
|
800
|
+
let cell = mutableCell (a1,a2) [] in
|
|
801
|
+
zipAux l1 l2 cell;
|
|
802
|
+
cell
|
|
803
|
+
|