@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,167 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
(* no mli file emitted, since mli is not very meaningful
|
|
4
|
+
except which identifiers are exposed
|
|
5
|
+
exported functions:
|
|
6
|
+
|
|
7
|
+
- [ app f args]
|
|
8
|
+
called when apply a curried function with a list of arugments
|
|
9
|
+
- [ _1 o arg ] .. [ _n]
|
|
10
|
+
called when apply a curried function with [n] argument
|
|
11
|
+
- [ __1 o] .. [ __n o]
|
|
12
|
+
*)
|
|
13
|
+
let prelude ={|
|
|
14
|
+
(* Copyright (C) 2015 - Hongbo Zhang, Authors of ReScript
|
|
15
|
+
*
|
|
16
|
+
* This program is free software: you can redistribute it and/or modify
|
|
17
|
+
* it under the terms of the GNU Lesser General Public License as published by
|
|
18
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
19
|
+
* (at your option) any later version.
|
|
20
|
+
*
|
|
21
|
+
* In addition to the permissions granted to you by the LGPL, you may combine
|
|
22
|
+
* or link a "work that uses the Library" with a publicly distributed version
|
|
23
|
+
* of this file to produce a combined library or application, then distribute
|
|
24
|
+
* that combined work under the terms of your choosing, with no requirement
|
|
25
|
+
* to comply with the obligations normally placed on you by section 4 of the
|
|
26
|
+
* LGPL version 3 (or the corresponding section of a later version of the LGPL
|
|
27
|
+
* should you choose to use a later version).
|
|
28
|
+
*
|
|
29
|
+
* This program is distributed in the hope that it will be useful,
|
|
30
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
31
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
32
|
+
* GNU Lesser General Public License for more details.
|
|
33
|
+
*
|
|
34
|
+
* You should have received a copy of the GNU Lesser General Public License
|
|
35
|
+
* along with this program; if not, write to the Free Software
|
|
36
|
+
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *)
|
|
37
|
+
|
|
38
|
+
(* Generated by scripts/curry_gen.ml *)
|
|
39
|
+
external function_length : 'a -> int = "#function_length"
|
|
40
|
+
external apply_args : ('a -> 'b) -> _ array -> 'b = "#apply"
|
|
41
|
+
external sub : 'a array -> int -> int -> 'a array = "?array_sub"
|
|
42
|
+
|
|
43
|
+
(* Public *)
|
|
44
|
+
let rec app f args =
|
|
45
|
+
let init_arity = function_length f in
|
|
46
|
+
let arity = if init_arity = 0 then 1 else init_arity in (* arity fixing *)
|
|
47
|
+
let len = Caml_array_extern.length args in
|
|
48
|
+
let d = arity - len in
|
|
49
|
+
if d = 0 then
|
|
50
|
+
apply_args f args (* f.apply (null,args) *)
|
|
51
|
+
else if d < 0 then
|
|
52
|
+
(* TODO: could avoid copy by tracking the index *)
|
|
53
|
+
app (Obj.magic (apply_args f (sub args 0 arity)))
|
|
54
|
+
(sub args arity (-d))
|
|
55
|
+
else
|
|
56
|
+
Obj.magic (fun x -> app f (Caml_array_extern.append args [|x|] ))
|
|
57
|
+
|
|
58
|
+
|}
|
|
59
|
+
|
|
60
|
+
let list_init n fn = Array.to_list (Array.init n fn)
|
|
61
|
+
|
|
62
|
+
let generate_case
|
|
63
|
+
?arity
|
|
64
|
+
~args_number args_array args =
|
|
65
|
+
match arity with
|
|
66
|
+
| None ->
|
|
67
|
+
Printf.sprintf " _ -> Obj.magic (app o [|%s|])"
|
|
68
|
+
(String.concat ";"args)
|
|
69
|
+
| Some arity ->
|
|
70
|
+
Printf.sprintf " %d -> %s" arity
|
|
71
|
+
(if arity >= args_number then
|
|
72
|
+
Printf.sprintf "apply%d (Obj.magic o) %s"
|
|
73
|
+
arity (String.concat " " args)
|
|
74
|
+
else
|
|
75
|
+
Printf.sprintf
|
|
76
|
+
"app (apply%d (Obj.magic o) %s) [|%s|]"
|
|
77
|
+
arity
|
|
78
|
+
(String.concat " "(Array.to_list (Array.sub args_array 0 arity)))
|
|
79
|
+
(String.concat ";"
|
|
80
|
+
(Array.to_list (Array.sub args_array arity (args_number - arity)))))
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
let number = 8
|
|
85
|
+
|
|
86
|
+
let generate_apply arity =
|
|
87
|
+
let vars =
|
|
88
|
+
list_init (arity + 1)
|
|
89
|
+
(fun i -> Printf.sprintf "'a%d" i) in
|
|
90
|
+
let ty =
|
|
91
|
+
match vars with
|
|
92
|
+
| [] -> assert false
|
|
93
|
+
| x::xs
|
|
94
|
+
->
|
|
95
|
+
List.fold_left
|
|
96
|
+
(fun acc x -> acc ^ " -> " ^ x )
|
|
97
|
+
x xs in
|
|
98
|
+
Printf.sprintf
|
|
99
|
+
"(* Internal use *)\n\
|
|
100
|
+
external apply%d : (%s) -> %s = \"#apply%d\""
|
|
101
|
+
arity ty ty arity
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
let generate_fun args_number =
|
|
106
|
+
let args_array =
|
|
107
|
+
Array.init args_number (fun i -> Printf.sprintf "a%d" i) in
|
|
108
|
+
let args = Array.to_list args_array in
|
|
109
|
+
let args_string = (String.concat " " args) in
|
|
110
|
+
|
|
111
|
+
Printf.sprintf {|
|
|
112
|
+
|
|
113
|
+
let %%private curry_%d o %s arity =
|
|
114
|
+
match arity with
|
|
115
|
+
|%s
|
|
116
|
+
|
|
117
|
+
(* Public *)
|
|
118
|
+
let _%d o %s =
|
|
119
|
+
let arity = function_length o in
|
|
120
|
+
if arity = %d then apply%d o %s
|
|
121
|
+
else curry_%d o %s arity
|
|
122
|
+
|
|
123
|
+
(* Public *)
|
|
124
|
+
let __%d o =
|
|
125
|
+
let arity = function_length o in
|
|
126
|
+
if arity = %d then o
|
|
127
|
+
else fun %s -> _%d o %s
|
|
128
|
+
|}
|
|
129
|
+
args_number
|
|
130
|
+
args_string
|
|
131
|
+
(String.concat "\n |"
|
|
132
|
+
|
|
133
|
+
(list_init (number - 1)
|
|
134
|
+
(fun arity -> generate_case ~arity:(arity + 1) ~args_number args_array args)
|
|
135
|
+
@ [ generate_case ~args_number args_array args]
|
|
136
|
+
)
|
|
137
|
+
)
|
|
138
|
+
|
|
139
|
+
args_number
|
|
140
|
+
args_string
|
|
141
|
+
args_number
|
|
142
|
+
args_number
|
|
143
|
+
args_string
|
|
144
|
+
args_number
|
|
145
|
+
args_string
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
args_number
|
|
149
|
+
args_number
|
|
150
|
+
args_string
|
|
151
|
+
args_number
|
|
152
|
+
args_string
|
|
153
|
+
|
|
154
|
+
let () =
|
|
155
|
+
print_endline
|
|
156
|
+
@@ Printf.sprintf
|
|
157
|
+
"%s\n%s\n%s"
|
|
158
|
+
prelude
|
|
159
|
+
(String.concat "\n"
|
|
160
|
+
(list_init number (fun i -> generate_apply (i + 1)))
|
|
161
|
+
)
|
|
162
|
+
(String.concat "\n"
|
|
163
|
+
(list_init 8 (fun i -> generate_fun (i + 1))))
|
|
164
|
+
|
|
165
|
+
(* local variables: *)
|
|
166
|
+
(* compile-command: "ocaml curry_gen.ml > ../jscomp/runtime/curry.ml" *)
|
|
167
|
+
(* end: *)
|
package/scripts/dbg
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
var cp = require("child_process");
|
|
3
|
+
var path = require("path");
|
|
4
|
+
|
|
5
|
+
var file = process.argv[2];
|
|
6
|
+
console.log(file);
|
|
7
|
+
var fmt = path.parse(file);
|
|
8
|
+
|
|
9
|
+
process.env.RES_DEBUG_FILE = 1;
|
|
10
|
+
var ninja = path.join(__dirname, "..", process.platform, "ninja.exe");
|
|
11
|
+
cp.execSync(`touch ${file} && ${ninja} ${fmt.dir}/${fmt.name}.cmj`, {
|
|
12
|
+
stdio: [0, 1, 2]
|
|
13
|
+
});
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
//@ts-check
|
|
2
|
+
var fs = require("fs");
|
|
3
|
+
var cp = require("child_process");
|
|
4
|
+
var path = require("path");
|
|
5
|
+
|
|
6
|
+
var jscompDir = path.join(__dirname, "..", "jscomp");
|
|
7
|
+
|
|
8
|
+
var sourceDirs = [
|
|
9
|
+
"stubs",
|
|
10
|
+
"ext",
|
|
11
|
+
"common",
|
|
12
|
+
"syntax",
|
|
13
|
+
"depends",
|
|
14
|
+
"core",
|
|
15
|
+
"super_errors",
|
|
16
|
+
"outcome_printer",
|
|
17
|
+
"bsb",
|
|
18
|
+
"ounit",
|
|
19
|
+
"ounit_tests",
|
|
20
|
+
"main",
|
|
21
|
+
];
|
|
22
|
+
|
|
23
|
+
var files = cp.execSync(`git ls-files ${sourceDirs.join(" ")}`, {
|
|
24
|
+
cwd: jscompDir,
|
|
25
|
+
encoding: "utf8",
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
var filesPath = files.split("\n");
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* @type {Map<string,string>}
|
|
32
|
+
*/
|
|
33
|
+
var collection = new Map();
|
|
34
|
+
for (let file of filesPath) {
|
|
35
|
+
let base = path.basename(file);
|
|
36
|
+
if (collection.has(base)) {
|
|
37
|
+
if (base.endsWith(".ml") && !file.includes("templates")) {
|
|
38
|
+
console.log(`duplicate ${base} : ${collection.get(base)} vs ${file}`);
|
|
39
|
+
}
|
|
40
|
+
} else {
|
|
41
|
+
collection.set(base, file);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
debugger;
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
//@ts-check
|
|
2
|
+
|
|
3
|
+
// This assume you already have cmi at hand
|
|
4
|
+
// Okay to use ES6 since it is generated before shipping
|
|
5
|
+
|
|
6
|
+
var fs = require("fs");
|
|
7
|
+
|
|
8
|
+
var path = require("path");
|
|
9
|
+
var child_process = require("child_process");
|
|
10
|
+
|
|
11
|
+
var versionPrefix = require("./buildocaml.js").getVersionPrefix();
|
|
12
|
+
var stdlibVersion = versionPrefix.includes("4.02")
|
|
13
|
+
? "stdlib-402"
|
|
14
|
+
: "stdlib-406";
|
|
15
|
+
var runtime_dir = path.join(__dirname, "..", "jscomp", "runtime");
|
|
16
|
+
var others_dir = path.join(__dirname, "..", "jscomp", "others");
|
|
17
|
+
var stdlib_dir = path.join(__dirname, "..", "jscomp", stdlibVersion);
|
|
18
|
+
var jscomp = path.join(__dirname, "..", "jscomp");
|
|
19
|
+
var runtime_prefix = path.relative(jscomp, runtime_dir);
|
|
20
|
+
var others_prefix = path.relative(jscomp, others_dir);
|
|
21
|
+
var ocamldoc = path.join(
|
|
22
|
+
__dirname,
|
|
23
|
+
"..",
|
|
24
|
+
"native",
|
|
25
|
+
versionPrefix,
|
|
26
|
+
"bin",
|
|
27
|
+
"ocamldoc.opt"
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* @param {string} s
|
|
33
|
+
*/
|
|
34
|
+
const capitalize = s => {
|
|
35
|
+
if (typeof s !== "string") return "";
|
|
36
|
+
return s.charAt(0).toUpperCase() + s.slice(1);
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
*
|
|
40
|
+
* @param {string} filename
|
|
41
|
+
*/
|
|
42
|
+
const strip = filename => filename.split(".").slice(0, -1).join(".");
|
|
43
|
+
function main() {
|
|
44
|
+
/**
|
|
45
|
+
* @type {string[]}
|
|
46
|
+
*/
|
|
47
|
+
var hidden_list = [];
|
|
48
|
+
var runtime_files = fs
|
|
49
|
+
.readdirSync(runtime_dir)
|
|
50
|
+
.filter(
|
|
51
|
+
file =>
|
|
52
|
+
file.startsWith("js") &&
|
|
53
|
+
(file.endsWith(".ml") || file.endsWith(".mli")) &&
|
|
54
|
+
!file.endsWith(".cppo.ml") &&
|
|
55
|
+
!file.endsWith(".cppo.mli")
|
|
56
|
+
)
|
|
57
|
+
.map(x => {
|
|
58
|
+
if (x.includes("internal")) {
|
|
59
|
+
hidden_list.push(capitalize(strip(x)));
|
|
60
|
+
}
|
|
61
|
+
return path.join(runtime_prefix, x);
|
|
62
|
+
})
|
|
63
|
+
.join(" ");
|
|
64
|
+
|
|
65
|
+
var others_files = fs
|
|
66
|
+
.readdirSync(others_dir)
|
|
67
|
+
.filter(
|
|
68
|
+
file =>
|
|
69
|
+
(file.endsWith(".ml") || file.endsWith(".mli")) &&
|
|
70
|
+
!file.endsWith(".cppo.ml") &&
|
|
71
|
+
!file.endsWith(".cppo.mli")
|
|
72
|
+
)
|
|
73
|
+
.map(x => {
|
|
74
|
+
if (x.includes("internal")) {
|
|
75
|
+
hidden_list.push(capitalize(strip(x)));
|
|
76
|
+
}
|
|
77
|
+
return path.join(others_prefix, x);
|
|
78
|
+
})
|
|
79
|
+
.join(" ");
|
|
80
|
+
|
|
81
|
+
var odoc_gendir = path.join(__dirname, "..", "odoc_gen");
|
|
82
|
+
|
|
83
|
+
var api_doc_dir = path.join(__dirname, "..", "docs", "api");
|
|
84
|
+
var intro = path.join(__dirname, "..", "jscomp", "others", "intro.txt");
|
|
85
|
+
//
|
|
86
|
+
var generator = `-g ${odoc_gendir}/generator.cmxs`;
|
|
87
|
+
// var generator = `-html`
|
|
88
|
+
|
|
89
|
+
var hidden_modules = ``;
|
|
90
|
+
// hidden_modules = `-hide ${hidden_list.join(',')}`
|
|
91
|
+
|
|
92
|
+
var prefix_flags = `${ocamldoc} ${generator} ${hidden_modules} -w -40 -nostdlib -nopervasives -I ${others_dir} -I ${runtime_dir} -open Bs_stdlib_mini -charset utf-8 -intro ${intro} -sort -ppx '${path.join(
|
|
93
|
+
__dirname,
|
|
94
|
+
"..",
|
|
95
|
+
process.platform,
|
|
96
|
+
"bsc"
|
|
97
|
+
)} -as-ppx' -d ${api_doc_dir}`;
|
|
98
|
+
|
|
99
|
+
// -html it is weird
|
|
100
|
+
// It is weird, -html will unload the plugin
|
|
101
|
+
|
|
102
|
+
// It seems ocamldoc does need require all files for indexing modules, WTF ocamldoc !!
|
|
103
|
+
var cmd = `${prefix_flags} ${runtime_files} ${others_files}`;
|
|
104
|
+
|
|
105
|
+
console.log(`Running ${cmd}`);
|
|
106
|
+
|
|
107
|
+
child_process.execSync(cmd, { cwd: jscomp, encoding: "utf8" });
|
|
108
|
+
}
|
|
109
|
+
exports.main = main;
|
|
110
|
+
if (require.main === module) {
|
|
111
|
+
main();
|
|
112
|
+
}
|
|
113
|
+
// console.log(`runtime files : ${runtime_files}`)
|
|
114
|
+
// child_process.execSync(`${prefix_flags} ${runtime_files} `, {cwd : runtime_dir})
|
|
115
|
+
|
|
116
|
+
// console.log(`others files : ${others_files}`)
|
|
117
|
+
// child_process.execSync(`${prefix_flags} ${others_files} `, {cwd : others_dir})
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
//@ts-check
|
|
2
|
+
// For Windows, we distribute a prebuilt bsc.exe
|
|
3
|
+
// To build on windows, we still need figure out constructing config.ml
|
|
4
|
+
// from existing compiler
|
|
5
|
+
|
|
6
|
+
// For other OSes, we detect
|
|
7
|
+
// if there is other compiler installed and the version matches,
|
|
8
|
+
// we get the config.ml from existing OCaml compiler and build whole_compiler
|
|
9
|
+
|
|
10
|
+
// Otherwise, we build the compiler shipped with Buckle and use the
|
|
11
|
+
// old compiler.ml
|
|
12
|
+
// This will be run in npm postinstall, don't use too fancy features here
|
|
13
|
+
|
|
14
|
+
var child_process = require("child_process");
|
|
15
|
+
var fs = require("fs");
|
|
16
|
+
var path = require("path");
|
|
17
|
+
var root_dir = path.join(__dirname, "..");
|
|
18
|
+
var lib_dir = path.join(root_dir, "lib");
|
|
19
|
+
var jscomp_dir = path.join(root_dir, "jscomp");
|
|
20
|
+
|
|
21
|
+
var supported_os = ["darwin", "freebsd", "linux", "openbsd", "win32"];
|
|
22
|
+
if (supported_os.indexOf(process.platform) < 0) {
|
|
23
|
+
throw new Error("Not supported platform" + process.platform);
|
|
24
|
+
}
|
|
25
|
+
var is_windows = process.platform === "win32";
|
|
26
|
+
|
|
27
|
+
var bsc_exe = require("./bin_path").bsc_exe;
|
|
28
|
+
|
|
29
|
+
var ninja_bin_filename = process.platform === "win32" ? "ninja.exe" : "ninja";
|
|
30
|
+
var ninja_bin_output = require("./bin_path").ninja_exe;
|
|
31
|
+
|
|
32
|
+
var force_compiler_rebuild = process.argv.includes("-force-compiler-rebuild");
|
|
33
|
+
var force_lib_rebuild = process.argv.includes("-force-lib-rebuild");
|
|
34
|
+
/**
|
|
35
|
+
* Make sure `ninja_bin_output` exists
|
|
36
|
+
* The installation of `ninja.exe` is re-entrant, since we always pre-check if it is already installed
|
|
37
|
+
* This is less problematic since `ninja.exe` is very stable
|
|
38
|
+
*/
|
|
39
|
+
function provideNinja() {
|
|
40
|
+
var vendor_ninja_version = "1.9.0.git";
|
|
41
|
+
var ninja_source_dir = path.join(root_dir, "vendor", "ninja");
|
|
42
|
+
function build_ninja() {
|
|
43
|
+
console.log(`building ninja`);
|
|
44
|
+
ensureExists(ninja_source_dir);
|
|
45
|
+
if (fs.existsSync(path.join(root_dir, "vendor", "ninja.tar.gz"))) {
|
|
46
|
+
console.log("Extracting ninja sources...");
|
|
47
|
+
child_process.execSync(`tar xzf ../ninja.tar.gz`, {
|
|
48
|
+
cwd: ninja_source_dir,
|
|
49
|
+
stdio: [0, 1, 2],
|
|
50
|
+
});
|
|
51
|
+
console.log("No prebuilt Ninja, building Ninja now");
|
|
52
|
+
var build_ninja_command = "./configure.py --bootstrap";
|
|
53
|
+
child_process.execSync(build_ninja_command, {
|
|
54
|
+
cwd: ninja_source_dir,
|
|
55
|
+
stdio: [0, 1, 2],
|
|
56
|
+
});
|
|
57
|
+
fs.copyFileSync(
|
|
58
|
+
path.join(ninja_source_dir, ninja_bin_filename),
|
|
59
|
+
ninja_bin_output
|
|
60
|
+
);
|
|
61
|
+
} else {
|
|
62
|
+
console.log(`ninja.tar.gz not availble in CI mode`);
|
|
63
|
+
require("../ninja/snapshot").build();
|
|
64
|
+
fs.copyFileSync(
|
|
65
|
+
path.join(root_dir, "ninja", ninja_bin_filename),
|
|
66
|
+
ninja_bin_output
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
console.log("ninja binary is ready: ", ninja_bin_output);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// sanity check to make sure the binary actually runs. Used for Linux. Too many variants
|
|
74
|
+
/**
|
|
75
|
+
*
|
|
76
|
+
* @param {string} binary_path
|
|
77
|
+
*/
|
|
78
|
+
function test_ninja_compatible(binary_path) {
|
|
79
|
+
var version;
|
|
80
|
+
try {
|
|
81
|
+
version = child_process
|
|
82
|
+
.execSync(JSON.stringify(binary_path) + " --version", {
|
|
83
|
+
encoding: "utf8",
|
|
84
|
+
stdio: ["pipe", "pipe", "ignore"], // execSync outputs to stdout even if we catch the error. Silent it here
|
|
85
|
+
})
|
|
86
|
+
.trim();
|
|
87
|
+
} catch (e) {
|
|
88
|
+
console.log("ninja not compatible?", String(e));
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
return version === vendor_ninja_version;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
if (
|
|
95
|
+
process.env.NINJA_FORCE_REBUILD === undefined &&
|
|
96
|
+
fs.existsSync(ninja_bin_output) &&
|
|
97
|
+
test_ninja_compatible(ninja_bin_output)
|
|
98
|
+
) {
|
|
99
|
+
console.log(
|
|
100
|
+
"ninja binary is already cached and installed: ",
|
|
101
|
+
ninja_bin_output
|
|
102
|
+
);
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
build_ninja();
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
*
|
|
111
|
+
* @param {string} dir
|
|
112
|
+
* TODO: `mkdirSync` may fail
|
|
113
|
+
*/
|
|
114
|
+
function ensureExists(dir) {
|
|
115
|
+
if (!fs.existsSync(dir)) {
|
|
116
|
+
fs.mkdirSync(dir);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* @returns {string|undefined}
|
|
122
|
+
*/
|
|
123
|
+
function checkPrebuiltBscCompiler() {
|
|
124
|
+
if (process.env.RESCRIPT_FORCE_REBUILD || force_compiler_rebuild) {
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
try {
|
|
128
|
+
var version = String(child_process.execFileSync(bsc_exe, ["-v"]));
|
|
129
|
+
|
|
130
|
+
var myOCamlVersion = version.substr(
|
|
131
|
+
version.indexOf(":") + 1,
|
|
132
|
+
version.lastIndexOf(" ") - version.indexOf(":") - 1
|
|
133
|
+
);
|
|
134
|
+
console.log("checkoutput:", version, "ocaml version", myOCamlVersion);
|
|
135
|
+
console.log("Prebuilt compiler works good");
|
|
136
|
+
|
|
137
|
+
return myOCamlVersion;
|
|
138
|
+
} catch (e) {
|
|
139
|
+
console.log("No working prebuilt ReScript compiler");
|
|
140
|
+
if (is_windows) {
|
|
141
|
+
throw new Error("no prebuilt bsc compiler on windows");
|
|
142
|
+
}
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
*
|
|
148
|
+
* @param {string} stdlib
|
|
149
|
+
*/
|
|
150
|
+
function buildLibs(stdlib) {
|
|
151
|
+
ensureExists(lib_dir);
|
|
152
|
+
ensureExists(path.join(lib_dir, "js"));
|
|
153
|
+
ensureExists(path.join(lib_dir, "es6"));
|
|
154
|
+
process.env.NINJA_IGNORE_GENERATOR = "true";
|
|
155
|
+
var releaseNinja = `
|
|
156
|
+
bsc = ${bsc_exe}
|
|
157
|
+
stdlib = ${stdlib}
|
|
158
|
+
subninja runtime/release.ninja
|
|
159
|
+
subninja others/release.ninja
|
|
160
|
+
subninja $stdlib/release.ninja
|
|
161
|
+
${process.env.RESCRIPT_FORCE_REBUILD ? "subninja test/build.ninja\n" : "\n"}
|
|
162
|
+
o all: phony runtime others $stdlib
|
|
163
|
+
`;
|
|
164
|
+
var filePath = path.join(jscomp_dir, "release.ninja");
|
|
165
|
+
fs.writeFileSync(filePath, releaseNinja, "ascii");
|
|
166
|
+
var cleanArgs = ["-f", "release.ninja", "-t", "clean"];
|
|
167
|
+
child_process.execFileSync(ninja_bin_output, cleanArgs, {
|
|
168
|
+
cwd: jscomp_dir,
|
|
169
|
+
stdio: [0, 1, 2],
|
|
170
|
+
shell: false,
|
|
171
|
+
});
|
|
172
|
+
var buildArgs = ["-f", "release.ninja", "--verbose", "-k", "1"];
|
|
173
|
+
child_process.execFileSync(ninja_bin_output, buildArgs, {
|
|
174
|
+
cwd: jscomp_dir,
|
|
175
|
+
stdio: [0, 1, 2],
|
|
176
|
+
shell: false,
|
|
177
|
+
});
|
|
178
|
+
fs.unlinkSync(filePath);
|
|
179
|
+
console.log("Build finished");
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* @returns {string}
|
|
184
|
+
*/
|
|
185
|
+
function provideCompiler() {
|
|
186
|
+
var myVersion = checkPrebuiltBscCompiler();
|
|
187
|
+
if (myVersion !== undefined) {
|
|
188
|
+
return myVersion;
|
|
189
|
+
} else {
|
|
190
|
+
var ocamlopt = "ocamlopt.opt";
|
|
191
|
+
myVersion = "4.06.1";
|
|
192
|
+
if (!require("./buildocaml.js").checkEnvCompiler()) {
|
|
193
|
+
// no compiler available
|
|
194
|
+
var prefix = require("./buildocaml.js").build(true);
|
|
195
|
+
ocamlopt = `${prefix}/bin/${ocamlopt}`;
|
|
196
|
+
}
|
|
197
|
+
// Note this ninja file only works under *nix due to the suffix
|
|
198
|
+
// under windows require '.exe'
|
|
199
|
+
var releaseNinja = require("./ninjaFactory.js").libNinja({
|
|
200
|
+
ocamlopt: ocamlopt,
|
|
201
|
+
INCL: myVersion,
|
|
202
|
+
isWin: is_windows,
|
|
203
|
+
});
|
|
204
|
+
|
|
205
|
+
var filePath = path.join(lib_dir, "release.ninja");
|
|
206
|
+
fs.writeFileSync(filePath, releaseNinja, "ascii");
|
|
207
|
+
child_process.execFileSync(
|
|
208
|
+
ninja_bin_output,
|
|
209
|
+
["-f", "release.ninja", "-t", "clean"],
|
|
210
|
+
{
|
|
211
|
+
cwd: lib_dir,
|
|
212
|
+
stdio: [0, 1, 2],
|
|
213
|
+
}
|
|
214
|
+
);
|
|
215
|
+
child_process.execFileSync(
|
|
216
|
+
ninja_bin_output,
|
|
217
|
+
["-f", "release.ninja", "-v"],
|
|
218
|
+
{
|
|
219
|
+
cwd: lib_dir,
|
|
220
|
+
stdio: [0, 1, 2],
|
|
221
|
+
}
|
|
222
|
+
);
|
|
223
|
+
fs.unlinkSync(filePath);
|
|
224
|
+
return myVersion;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
provideNinja();
|
|
229
|
+
|
|
230
|
+
provideCompiler();
|
|
231
|
+
|
|
232
|
+
var stdlib = "stdlib-406";
|
|
233
|
+
|
|
234
|
+
if (process.env.RESCRIPT_FORCE_REBUILD || force_lib_rebuild) {
|
|
235
|
+
buildLibs(stdlib);
|
|
236
|
+
require("./installUtils.js").install();
|
|
237
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
//@ts-check
|
|
3
|
+
var fs = require("fs");
|
|
4
|
+
var path = require("path");
|
|
5
|
+
var assert = require("assert");
|
|
6
|
+
/**
|
|
7
|
+
*
|
|
8
|
+
* @param {string} src
|
|
9
|
+
* @param {(file:string)=>boolean} filter
|
|
10
|
+
* @param {string} dest
|
|
11
|
+
*/
|
|
12
|
+
function installDirBy(src, dest, filter) {
|
|
13
|
+
fs.readdir(src, function (err, files) {
|
|
14
|
+
if (err === null) {
|
|
15
|
+
files.forEach(function (file) {
|
|
16
|
+
if (filter(file)) {
|
|
17
|
+
var x = path.join(src, file);
|
|
18
|
+
var y = path.join(dest, file);
|
|
19
|
+
// console.log(x, '----->', y )
|
|
20
|
+
fs.copyFile(x, y, err => assert.equal(err, null));
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
} else {
|
|
24
|
+
throw err;
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function install() {
|
|
30
|
+
var root_dir = path.join(__dirname, "..");
|
|
31
|
+
var lib_dir = path.join(root_dir, "lib");
|
|
32
|
+
var jscomp_dir = path.join(root_dir, "jscomp");
|
|
33
|
+
var runtime_dir = path.join(jscomp_dir, "runtime");
|
|
34
|
+
var others_dir = path.join(jscomp_dir, "others");
|
|
35
|
+
var ocaml_dir = path.join(lib_dir, "ocaml");
|
|
36
|
+
var stdlib_dir = path.join(jscomp_dir, "stdlib-406");
|
|
37
|
+
if (!fs.existsSync(ocaml_dir)) {
|
|
38
|
+
fs.mkdirSync(ocaml_dir);
|
|
39
|
+
}
|
|
40
|
+
// sync up with cmij_main.ml
|
|
41
|
+
installDirBy(runtime_dir, ocaml_dir, function (file) {
|
|
42
|
+
var y = path.parse(file);
|
|
43
|
+
return y.name === "js" && y.ext !== ".cmj";
|
|
44
|
+
// install js.cmi, js.mli
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
// for merlin or other IDE
|
|
48
|
+
var installed_suffixes = [".ml", ".mli", ".cmi", ".cmt", ".cmti"];
|
|
49
|
+
installDirBy(others_dir, ocaml_dir, function (file) {
|
|
50
|
+
var y = path.parse(file);
|
|
51
|
+
if (y.ext === ".cmi") {
|
|
52
|
+
return !y.base.match(/Belt_internal/i);
|
|
53
|
+
}
|
|
54
|
+
return installed_suffixes.includes(y.ext);
|
|
55
|
+
});
|
|
56
|
+
installDirBy(stdlib_dir, ocaml_dir, function (file) {
|
|
57
|
+
var y = path.parse(file);
|
|
58
|
+
return installed_suffixes.includes(y.ext);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
exports.install = install;
|