From 474e5cd49b276b5becc54e6f1bf4d9c044ef5b76 Mon Sep 17 00:00:00 2001 From: Blaine Bublitz Date: Thu, 12 Jan 2023 15:35:45 -0700 Subject: [PATCH] feat!: Upgrade to libbinaryen v110 (#173) chore!: Require dune 3.0 to better support js_of_ocaml feat: Add operations on the Type System feat: Add operations on Packed Types feat: Add operations on Heap Types feat!: Update memory operations to require memory name chore!: Remove RttCanon and RttSub expression kinds feat: Add strings feature feat!: Add optimize argument to StackIR emitting functions feat: Add Stringref and Stringview Types feat: Add functions for converting between Types and Heap Types chore!: Require js_of_ocaml 4.1 to ensure optimization fix chore: Fallback to upstream repository if possible --- .github/workflows/opam.yml | 21 +- README.md | 16 - binaryen.opam | 8 +- dune-project | 2 +- dune-workspace | 2 +- esy.lock/index.json | 575 +++++++++--------- .../opam/{base.v0.14.3 => base.v0.15.1}/opam | 8 +- .../opam | 10 +- .../opam | 12 +- .../opam | 10 +- .../{dune-rpc.3.5.0 => dune-rpc.3.6.1}/opam | 10 +- esy.lock/opam/{dune.3.5.0 => dune.3.6.1}/opam | 12 +- esy.lock/opam/{dyn.3.5.0 => dyn.3.6.1}/opam | 10 +- .../opam/{fiber.3.5.0 => fiber.3.6.1}/opam | 10 +- .../opam | 19 +- esy.lock/opam/menhir.20220210/opam | 2 +- esy.lock/opam/menhirLib.20220210/opam | 2 +- esy.lock/opam/menhirSdk.20220210/opam | 2 +- .../opam | 10 +- .../opam | 24 +- .../opam | 8 +- .../{ordering.3.5.0 => ordering.3.6.1}/opam | 10 +- .../opam | 6 +- .../{stdio.v0.14.0 => stdio.v0.15.0}/opam | 8 +- .../opam/{stdune.3.5.0 => stdune.3.6.1}/opam | 10 +- .../opam/{topkg.1.0.5 => topkg.1.0.6}/opam | 41 +- esy.lock/opam/{xdg.3.5.0 => xdg.3.6.1}/opam | 10 +- .../package.json | 3 - package.json | 14 +- src/binaryen_stubs_expressions.c | 76 ++- src/binaryen_stubs_expressions.js | 263 ++++++-- src/binaryen_stubs_features.c | 6 + src/binaryen_stubs_features.js | 6 + src/binaryen_stubs_heap_types.c | 95 +++ src/binaryen_stubs_heap_types.js | 65 ++ src/binaryen_stubs_imports.c | 14 +- src/binaryen_stubs_imports.js | 12 +- src/binaryen_stubs_memory.c | 39 +- src/binaryen_stubs_memory.js | 55 +- src/binaryen_stubs_modules.c | 14 +- src/binaryen_stubs_modules.js | 12 +- src/binaryen_stubs_packed_types.c | 26 + src/binaryen_stubs_packed_types.js | 17 + src/binaryen_stubs_type_system.c | 40 ++ src/binaryen_stubs_type_system.js | 29 + src/binaryen_stubs_types.c | 44 ++ src/binaryen_stubs_types.js | 36 ++ src/dune | 47 +- src/expression.ml | 46 +- src/expression.mli | 18 +- src/heap_type.ml | 15 + src/heap_type.mli | 12 + src/import.ml | 6 +- src/import.mli | 4 +- src/memory.ml | 12 +- src/memory.mli | 15 +- src/module.ml | 14 +- src/module.mli | 5 +- src/ocaml_helpers.h | 1 + src/packed_type.ml | 13 + src/packed_type.mli | 5 + src/type.ml | 19 + src/type.mli | 7 + src/type_system.ml | 7 + src/type_system.mli | 7 + test/dune | 39 +- test/test.expected | 2 +- test/test.ml | 32 +- 68 files changed, 1376 insertions(+), 674 deletions(-) rename esy.lock/opam/{base.v0.14.3 => base.v0.15.1}/opam (80%) rename esy.lock/opam/{chrome-trace.3.5.0 => chrome-trace.3.6.1}/opam (67%) rename esy.lock/opam/{dune-build-info.3.5.0 => dune-build-info.3.6.1}/opam (69%) rename esy.lock/opam/{dune-configurator.3.5.0 => dune-configurator.3.6.1}/opam (74%) rename esy.lock/opam/{dune-rpc.3.5.0 => dune-rpc.3.6.1}/opam (67%) rename esy.lock/opam/{dune.3.5.0 => dune.3.6.1}/opam (77%) rename esy.lock/opam/{dyn.3.5.0 => dyn.3.6.1}/opam (65%) rename esy.lock/opam/{fiber.3.5.0 => fiber.3.6.1}/opam (68%) rename esy.lock/opam/{js_of_ocaml-compiler.4.0.0 => js_of_ocaml-compiler.4.1.0}/opam (70%) rename esy.lock/opam/{ocaml-lsp-server.1.14.1 => ocaml-lsp-server.1.12.4}/opam (77%) rename esy.lock/opam/{ocamlformat.0.20.1 => ocamlformat.0.24.1}/opam (70%) rename esy.lock/opam/{odoc-parser.1.0.1 => odoc-parser.2.0.0}/opam (79%) rename esy.lock/opam/{ordering.3.5.0 => ordering.3.6.1}/opam (64%) rename esy.lock/opam/{sexplib0.v0.14.0 => sexplib0.v0.15.1}/opam (81%) rename esy.lock/opam/{stdio.v0.14.0 => stdio.v0.15.0}/opam (74%) rename esy.lock/opam/{stdune.3.5.0 => stdune.3.6.1}/opam (69%) rename esy.lock/opam/{topkg.1.0.5 => topkg.1.0.6}/opam (66%) rename esy.lock/opam/{xdg.3.5.0 => xdg.3.6.1}/opam (66%) delete mode 100644 esy.lock/overrides/opam__s__js__of__ocaml_compiler_opam__c__4.0.0_opam_override/package.json create mode 100644 src/binaryen_stubs_heap_types.c create mode 100644 src/binaryen_stubs_heap_types.js create mode 100644 src/binaryen_stubs_packed_types.c create mode 100644 src/binaryen_stubs_packed_types.js create mode 100644 src/binaryen_stubs_type_system.c create mode 100644 src/binaryen_stubs_type_system.js create mode 100644 src/heap_type.ml create mode 100644 src/heap_type.mli create mode 100644 src/packed_type.ml create mode 100644 src/packed_type.mli create mode 100644 src/type_system.ml create mode 100644 src/type_system.mli diff --git a/.github/workflows/opam.yml b/.github/workflows/opam.yml index 71b39f1a..4c58f220 100644 --- a/.github/workflows/opam.yml +++ b/.github/workflows/opam.yml @@ -20,8 +20,25 @@ jobs: with: submodules: "recursive" + # This is supposed to be solved by the time opam 2.2.0 is released + # Hack provided by https://github.com/ocaml/setup-ocaml/issues/529#issuecomment-1142547616 + - name: Hack Git CRLF for ocaml/setup-ocaml with MinGW and upstream repository + if: ${{ startsWith(matrix.os, 'windows-') }} + run: | + git config --system core.autocrlf input + + - name: Setup OCaml ${{ matrix.ocaml-compiler }} + uses: ocaml/setup-ocaml@v2 + if: ${{ startsWith(matrix.os, 'windows-') }} + with: + ocaml-compiler: ${{ matrix.ocaml-compiler }} + opam-repositories: | + default: https://github.com/fdopen/opam-repository-mingw.git#opam2 + upstream: https://github.com/ocaml/opam-repository.git + - name: Setup OCaml ${{ matrix.ocaml-compiler }} uses: ocaml/setup-ocaml@v2 + if: ${{ !startsWith(matrix.os, 'windows-') }} with: ocaml-compiler: ${{ matrix.ocaml-compiler }} @@ -31,8 +48,8 @@ jobs: - name: Build project run: | - opam exec -- dune build @all @install --no-buffer + opam exec -- dune build - name: Run tests run: | - opam exec -- dune runtest --force + opam exec -- dune runtest --display=short diff --git a/README.md b/README.md index ebb4d4a5..a91466f2 100644 --- a/README.md +++ b/README.md @@ -76,22 +76,6 @@ If you are planning to create portable binaries for Windows, it will try to find These flags might not work on other operating systems (like MacOS), so you'll probably need to use `dune-configurator` to vary the flags per platform. -## JavaScript - -When compiling to JavaScript with `js_of_ocaml`, you'll need to add the `--disable share` flag. This is needed until we can depend on the bug fix from [ocsigen/js_of_ocaml#1249](https://github.com/ocsigen/js_of_ocaml/pull/1249). In the meantime, you can change your dune file: - -```diff - (executable - (name example) - (public_name example) - (modes - (byte js)) -+ (js_of_ocaml -+ (flags --disable share)) - (modules example) - (libraries binaryen)) -``` - ## Contributing You'll need Node.js and [`esy`](https://esy.sh/docs/en/getting-started.html#install-esy) to build this project. diff --git a/binaryen.opam b/binaryen.opam index 08b20e96..da1d72d9 100644 --- a/binaryen.opam +++ b/binaryen.opam @@ -13,8 +13,8 @@ build: [ ] depends: [ "ocaml" {>= "4.12.0"} - "dune" {>= "2.9.1"} - "dune-configurator" {>= "2.9.1"} - "js_of_ocaml-compiler" {>= "3.10.0"} - "libbinaryen" {>= "109.0.0" < "110.0.0"} + "dune" {>= "3.0.0"} + "dune-configurator" {>= "3.0.0"} + "js_of_ocaml-compiler" {>= "4.1.0" < "5.0.0"} + "libbinaryen" {>= "110.0.0" < "111.0.0"} ] diff --git a/dune-project b/dune-project index e1b9f7a9..7e96924d 100644 --- a/dune-project +++ b/dune-project @@ -1,3 +1,3 @@ -(lang dune 2.7) +(lang dune 3.0) (name binaryen) diff --git a/dune-workspace b/dune-workspace index 331aa0bf..fb5b81a5 100644 --- a/dune-workspace +++ b/dune-workspace @@ -1,3 +1,3 @@ -(lang dune 2.7) +(lang dune 3.0) (profile release) diff --git a/esy.lock/index.json b/esy.lock/index.json index 7c06d7cc..b852f7a8 100644 --- a/esy.lock/index.json +++ b/esy.lock/index.json @@ -1,5 +1,5 @@ { - "checksum": "7cdce143d291152aacf85843a406a725", + "checksum": "8f8fff53a9883f33ed348e5e443fc279", "root": "@grain/binaryen.ml@link-dev:./package.json", "node": { "ocaml@4.14.0@d41d8cd9": { @@ -35,37 +35,37 @@ "overrides": [], "dependencies": [ "ocaml@4.14.0@d41d8cd9", "@opam/seq@opam:base@d8d7de1d", - "@opam/dune@opam:3.5.0@fba55e5e", "@opam/cppo@opam:1.6.9@db929a12", + "@opam/dune@opam:3.6.1@662f326b", "@opam/cppo@opam:1.6.9@db929a12", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ "ocaml@4.14.0@d41d8cd9", "@opam/seq@opam:base@d8d7de1d", - "@opam/dune@opam:3.5.0@fba55e5e" + "@opam/dune@opam:3.6.1@662f326b" ] }, - "@opam/xdg@opam:3.5.0@e89f24d1": { - "id": "@opam/xdg@opam:3.5.0@e89f24d1", + "@opam/xdg@opam:3.6.1@103ee897": { + "id": "@opam/xdg@opam:3.6.1@103ee897", "name": "@opam/xdg", - "version": "opam:3.5.0", + "version": "opam:3.6.1", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/sha256/77/77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610#sha256:77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610", - "archive:https://github.com/ocaml/dune/releases/download/3.5.0/dune-3.5.0.tbz#sha256:77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610" + "archive:https://opam.ocaml.org/cache/sha256/f1/f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce#sha256:f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce", + "archive:https://github.com/ocaml/dune/releases/download/3.6.1/dune-3.6.1.tbz#sha256:f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce" ], "opam": { "name": "xdg", - "version": "3.5.0", - "path": "esy.lock/opam/xdg.3.5.0" + "version": "3.6.1", + "path": "esy.lock/opam/xdg.3.6.1" } }, "overrides": [], "dependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e", + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e" + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b" ] }, "@opam/uutf@opam:1.0.3@47c95a18": { @@ -86,7 +86,7 @@ }, "overrides": [], "dependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/topkg@opam:1.0.5@0aa59f51", + "ocaml@4.14.0@d41d8cd9", "@opam/topkg@opam:1.0.6@da3f4ab1", "@opam/ocamlfind@opam:1.9.5@c23112ba", "@opam/ocamlbuild@opam:0.14.2@c6163b28", "@opam/cmdliner@opam:1.1.1@03763729", @@ -113,7 +113,7 @@ "overrides": [], "dependencies": [ "ocaml@4.14.0@d41d8cd9", "@opam/uutf@opam:1.0.3@47c95a18", - "@opam/uucp@opam:15.0.0@55460339", "@opam/topkg@opam:1.0.5@0aa59f51", + "@opam/uucp@opam:15.0.0@55460339", "@opam/topkg@opam:1.0.6@da3f4ab1", "@opam/ocamlfind@opam:1.9.5@c23112ba", "@opam/ocamlbuild@opam:0.14.2@c6163b28", "@opam/cmdliner@opam:1.1.1@03763729", @@ -142,7 +142,7 @@ "overrides": [], "dependencies": [ "ocaml@4.14.0@d41d8cd9", "@opam/uutf@opam:1.0.3@47c95a18", - "@opam/topkg@opam:1.0.5@0aa59f51", + "@opam/topkg@opam:1.0.6@da3f4ab1", "@opam/ocamlfind@opam:1.9.5@c23112ba", "@opam/ocamlbuild@opam:0.14.2@c6163b28", "@opam/cmdliner@opam:1.1.1@03763729", @@ -150,20 +150,20 @@ ], "devDependencies": [ "ocaml@4.14.0@d41d8cd9" ] }, - "@opam/topkg@opam:1.0.5@0aa59f51": { - "id": "@opam/topkg@opam:1.0.5@0aa59f51", + "@opam/topkg@opam:1.0.6@da3f4ab1": { + "id": "@opam/topkg@opam:1.0.6@da3f4ab1", "name": "@opam/topkg", - "version": "opam:1.0.5", + "version": "opam:1.0.6", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/sha512/94/9450e9139209aacd8ddb4ba18e4225770837e526a52a56d94fd5c9c4c9941e83e0e7102e2292b440104f4c338fabab47cdd6bb51d69b41cc92cc7a551e6fefab#sha512:9450e9139209aacd8ddb4ba18e4225770837e526a52a56d94fd5c9c4c9941e83e0e7102e2292b440104f4c338fabab47cdd6bb51d69b41cc92cc7a551e6fefab", - "archive:https://erratique.ch/software/topkg/releases/topkg-1.0.5.tbz#sha512:9450e9139209aacd8ddb4ba18e4225770837e526a52a56d94fd5c9c4c9941e83e0e7102e2292b440104f4c338fabab47cdd6bb51d69b41cc92cc7a551e6fefab" + "archive:https://opam.ocaml.org/cache/sha512/8e/8e34391e2f499cec332b79454a4edb36a35db6fe22437f017fd5c80ae065160dc967ac02d894a94d08d62dd476521e63733f4cadc3b9b6b314b6aa5b2b4ede78#sha512:8e34391e2f499cec332b79454a4edb36a35db6fe22437f017fd5c80ae065160dc967ac02d894a94d08d62dd476521e63733f4cadc3b9b6b314b6aa5b2b4ede78", + "archive:https://erratique.ch/software/topkg/releases/topkg-1.0.6.tbz#sha512:8e34391e2f499cec332b79454a4edb36a35db6fe22437f017fd5c80ae065160dc967ac02d894a94d08d62dd476521e63733f4cadc3b9b6b314b6aa5b2b4ede78" ], "opam": { "name": "topkg", - "version": "1.0.5", - "path": "esy.lock/opam/topkg.1.0.5" + "version": "1.0.6", + "path": "esy.lock/opam/topkg.1.0.6" } }, "overrides": [], @@ -176,35 +176,35 @@ "ocaml@4.14.0@d41d8cd9", "@opam/ocamlbuild@opam:0.14.2@c6163b28" ] }, - "@opam/stdune@opam:3.5.0@ea85fcde": { - "id": "@opam/stdune@opam:3.5.0@ea85fcde", + "@opam/stdune@opam:3.6.1@8c52218e": { + "id": "@opam/stdune@opam:3.6.1@8c52218e", "name": "@opam/stdune", - "version": "opam:3.5.0", + "version": "opam:3.6.1", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/sha256/77/77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610#sha256:77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610", - "archive:https://github.com/ocaml/dune/releases/download/3.5.0/dune-3.5.0.tbz#sha256:77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610" + "archive:https://opam.ocaml.org/cache/sha256/f1/f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce#sha256:f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce", + "archive:https://github.com/ocaml/dune/releases/download/3.6.1/dune-3.6.1.tbz#sha256:f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce" ], "opam": { "name": "stdune", - "version": "3.5.0", - "path": "esy.lock/opam/stdune.3.5.0" + "version": "3.6.1", + "path": "esy.lock/opam/stdune.3.6.1" } }, "overrides": [], "dependencies": [ "ocaml@4.14.0@d41d8cd9", "@opam/pp@opam:1.1.2@89ad03b5", - "@opam/ordering@opam:3.5.0@bc593f7a", - "@opam/dyn@opam:3.5.0@5e82db53", "@opam/dune@opam:3.5.0@fba55e5e", + "@opam/ordering@opam:3.6.1@0095dfd8", + "@opam/dyn@opam:3.6.1@6b14b55c", "@opam/dune@opam:3.6.1@662f326b", "@opam/csexp@opam:1.5.1@8a8fb3a7", "@opam/base-unix@opam:base@87d0b2eb", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ "ocaml@4.14.0@d41d8cd9", "@opam/pp@opam:1.1.2@89ad03b5", - "@opam/ordering@opam:3.5.0@bc593f7a", - "@opam/dyn@opam:3.5.0@5e82db53", "@opam/dune@opam:3.5.0@fba55e5e", + "@opam/ordering@opam:3.6.1@0095dfd8", + "@opam/dyn@opam:3.6.1@6b14b55c", "@opam/dune@opam:3.6.1@662f326b", "@opam/csexp@opam:1.5.1@8a8fb3a7", "@opam/base-unix@opam:base@87d0b2eb" ] @@ -227,38 +227,38 @@ }, "overrides": [], "dependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e", + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e" + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b" ] }, - "@opam/stdio@opam:v0.14.0@a5affb43": { - "id": "@opam/stdio@opam:v0.14.0@a5affb43", + "@opam/stdio@opam:v0.15.0@aeefdf96": { + "id": "@opam/stdio@opam:v0.15.0@aeefdf96", "name": "@opam/stdio", - "version": "opam:v0.14.0", + "version": "opam:v0.15.0", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/md5/4c/4cbdf15f0be88c3258aaeff9e04e00e9#md5:4cbdf15f0be88c3258aaeff9e04e00e9", - "archive:https://ocaml.janestreet.com/ocaml-core/v0.14/files/stdio-v0.14.0.tar.gz#md5:4cbdf15f0be88c3258aaeff9e04e00e9" + "archive:https://opam.ocaml.org/cache/sha256/c3/c37292921dc6a88425f773eba6bdbeac1dedacd1f55917fa4bcd9c4b25795e4b#sha256:c37292921dc6a88425f773eba6bdbeac1dedacd1f55917fa4bcd9c4b25795e4b", + "archive:https://ocaml.janestreet.com/ocaml-core/v0.15/files/stdio-v0.15.0.tar.gz#sha256:c37292921dc6a88425f773eba6bdbeac1dedacd1f55917fa4bcd9c4b25795e4b" ], "opam": { "name": "stdio", - "version": "v0.14.0", - "path": "esy.lock/opam/stdio.v0.14.0" + "version": "v0.15.0", + "path": "esy.lock/opam/stdio.v0.15.0" } }, "overrides": [], "dependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e", - "@opam/base@opam:v0.14.3@b3ddb868", + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b", + "@opam/base@opam:v0.15.1@e8a71f35", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e", - "@opam/base@opam:v0.14.3@b3ddb868" + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b", + "@opam/base@opam:v0.15.1@e8a71f35" ] }, "@opam/spawn@opam:v0.15.1@85e9d6f1": { @@ -279,36 +279,36 @@ }, "overrides": [], "dependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e", + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e" + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b" ] }, - "@opam/sexplib0@opam:v0.14.0@70ace5c1": { - "id": "@opam/sexplib0@opam:v0.14.0@70ace5c1", + "@opam/sexplib0@opam:v0.15.1@51111c0c": { + "id": "@opam/sexplib0@opam:v0.15.1@51111c0c", "name": "@opam/sexplib0", - "version": "opam:v0.14.0", + "version": "opam:v0.15.1", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/md5/37/37aff0af8f8f6f759249475684aebdc4#md5:37aff0af8f8f6f759249475684aebdc4", - "archive:https://ocaml.janestreet.com/ocaml-core/v0.14/files/sexplib0-v0.14.0.tar.gz#md5:37aff0af8f8f6f759249475684aebdc4" + "archive:https://opam.ocaml.org/cache/md5/ab/ab8fd6273f35a792cad48cbb3024a7f9#md5:ab8fd6273f35a792cad48cbb3024a7f9", + "archive:https://github.com/janestreet/sexplib0/archive/refs/tags/v0.15.1.tar.gz#md5:ab8fd6273f35a792cad48cbb3024a7f9" ], "opam": { "name": "sexplib0", - "version": "v0.14.0", - "path": "esy.lock/opam/sexplib0.v0.14.0" + "version": "v0.15.1", + "path": "esy.lock/opam/sexplib0.v0.15.1" } }, "overrides": [], "dependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e", + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e" + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b" ] }, "@opam/seq@opam:base@d8d7de1d": { @@ -348,11 +348,11 @@ }, "overrides": [], "dependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e", + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e" + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b" ] }, "@opam/re@opam:1.10.4@c4910ba6": { @@ -374,11 +374,11 @@ "overrides": [], "dependencies": [ "ocaml@4.14.0@d41d8cd9", "@opam/seq@opam:base@d8d7de1d", - "@opam/dune@opam:3.5.0@fba55e5e", "@esy-ocaml/substs@0.0.1@d41d8cd9" + "@opam/dune@opam:3.6.1@662f326b", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ "ocaml@4.14.0@d41d8cd9", "@opam/seq@opam:base@d8d7de1d", - "@opam/dune@opam:3.5.0@fba55e5e" + "@opam/dune@opam:3.6.1@662f326b" ] }, "@opam/ppxlib@opam:0.28.0@8c51d241": { @@ -400,17 +400,17 @@ "overrides": [], "dependencies": [ "ocaml@4.14.0@d41d8cd9", "@opam/stdlib-shims@opam:0.3.0@72c7bc98", - "@opam/sexplib0@opam:v0.14.0@70ace5c1", + "@opam/sexplib0@opam:v0.15.1@51111c0c", "@opam/ppx_derivers@opam:1.2.1@e2cbad12", "@opam/ocaml-compiler-libs@opam:v0.12.4@41979882", - "@opam/dune@opam:3.5.0@fba55e5e", "@esy-ocaml/substs@0.0.1@d41d8cd9" + "@opam/dune@opam:3.6.1@662f326b", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ "ocaml@4.14.0@d41d8cd9", "@opam/stdlib-shims@opam:0.3.0@72c7bc98", - "@opam/sexplib0@opam:v0.14.0@70ace5c1", + "@opam/sexplib0@opam:v0.15.1@51111c0c", "@opam/ppx_derivers@opam:1.2.1@e2cbad12", "@opam/ocaml-compiler-libs@opam:v0.12.4@41979882", - "@opam/dune@opam:3.5.0@fba55e5e" + "@opam/dune@opam:3.6.1@662f326b" ] }, "@opam/ppx_yojson_conv_lib@opam:v0.15.0@773058a7": { @@ -432,11 +432,11 @@ "overrides": [], "dependencies": [ "ocaml@4.14.0@d41d8cd9", "@opam/yojson@opam:2.0.2@eb65f292", - "@opam/dune@opam:3.5.0@fba55e5e", "@esy-ocaml/substs@0.0.1@d41d8cd9" + "@opam/dune@opam:3.6.1@662f326b", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ "ocaml@4.14.0@d41d8cd9", "@opam/yojson@opam:2.0.2@eb65f292", - "@opam/dune@opam:3.5.0@fba55e5e" + "@opam/dune@opam:3.6.1@662f326b" ] }, "@opam/ppx_derivers@opam:1.2.1@e2cbad12": { @@ -457,11 +457,11 @@ }, "overrides": [], "dependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e", + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e" + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b" ] }, "@opam/pp@opam:1.1.2@89ad03b5": { @@ -482,36 +482,36 @@ }, "overrides": [], "dependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e", + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e" + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b" ] }, - "@opam/ordering@opam:3.5.0@bc593f7a": { - "id": "@opam/ordering@opam:3.5.0@bc593f7a", + "@opam/ordering@opam:3.6.1@0095dfd8": { + "id": "@opam/ordering@opam:3.6.1@0095dfd8", "name": "@opam/ordering", - "version": "opam:3.5.0", + "version": "opam:3.6.1", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/sha256/77/77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610#sha256:77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610", - "archive:https://github.com/ocaml/dune/releases/download/3.5.0/dune-3.5.0.tbz#sha256:77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610" + "archive:https://opam.ocaml.org/cache/sha256/f1/f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce#sha256:f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce", + "archive:https://github.com/ocaml/dune/releases/download/3.6.1/dune-3.6.1.tbz#sha256:f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce" ], "opam": { "name": "ordering", - "version": "3.5.0", - "path": "esy.lock/opam/ordering.3.5.0" + "version": "3.6.1", + "path": "esy.lock/opam/ordering.3.6.1" } }, "overrides": [], "dependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e", + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e" + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b" ] }, "@opam/omd@opam:1.3.2@511d53d2": { @@ -532,44 +532,44 @@ }, "overrides": [], "dependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e", + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b", "@opam/base-bytes@opam:base@19d0c2ff", "@opam/base-bigarray@opam:base@b03491b0", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e", + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b", "@opam/base-bytes@opam:base@19d0c2ff", "@opam/base-bigarray@opam:base@b03491b0" ] }, - "@opam/odoc-parser@opam:1.0.1@4bf15d79": { - "id": "@opam/odoc-parser@opam:1.0.1@4bf15d79", + "@opam/odoc-parser@opam:2.0.0@a08011a0": { + "id": "@opam/odoc-parser@opam:2.0.0@a08011a0", "name": "@opam/odoc-parser", - "version": "opam:1.0.1", + "version": "opam:2.0.0", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/sha256/a2/a2bbe8e4201b60e980bab01e96e41f2ba0b05ba3f50b44f75837e8a2fb907d2c#sha256:a2bbe8e4201b60e980bab01e96e41f2ba0b05ba3f50b44f75837e8a2fb907d2c", - "archive:https://github.com/ocaml-doc/odoc-parser/releases/download/1.0.1/odoc-parser-1.0.1.tbz#sha256:a2bbe8e4201b60e980bab01e96e41f2ba0b05ba3f50b44f75837e8a2fb907d2c" + "archive:https://opam.ocaml.org/cache/sha256/40/407919fbb0eb95761d6fc6ec6777628d94aa1907343bdca678b1880bafb33922#sha256:407919fbb0eb95761d6fc6ec6777628d94aa1907343bdca678b1880bafb33922", + "archive:https://github.com/ocaml-doc/odoc-parser/releases/download/2.0.0/odoc-parser-2.0.0.tbz#sha256:407919fbb0eb95761d6fc6ec6777628d94aa1907343bdca678b1880bafb33922" ], "opam": { "name": "odoc-parser", - "version": "1.0.1", - "path": "esy.lock/opam/odoc-parser.1.0.1" + "version": "2.0.0", + "path": "esy.lock/opam/odoc-parser.2.0.0" } }, "overrides": [], "dependencies": [ "ocaml@4.14.0@d41d8cd9", "@opam/result@opam:1.5@1c6a6533", - "@opam/dune@opam:3.5.0@fba55e5e", + "@opam/dune@opam:3.6.1@662f326b", "@opam/camlp-streams@opam:5.0.1@daaa0f94", "@opam/astring@opam:0.8.5@1300cee8", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ "ocaml@4.14.0@d41d8cd9", "@opam/result@opam:1.5@1c6a6533", - "@opam/dune@opam:3.5.0@fba55e5e", + "@opam/dune@opam:3.6.1@662f326b", "@opam/camlp-streams@opam:5.0.1@daaa0f94", "@opam/astring@opam:0.8.5@1300cee8" ] @@ -592,11 +592,11 @@ }, "overrides": [], "dependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e", + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e" + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b" ] }, "@opam/ocp-indent@opam:1.7.0@2da3c6e5": { @@ -618,14 +618,14 @@ "overrides": [], "dependencies": [ "ocaml@4.14.0@d41d8cd9", "@opam/ocamlfind@opam:1.9.5@c23112ba", - "@opam/dune@opam:3.5.0@fba55e5e", + "@opam/dune@opam:3.6.1@662f326b", "@opam/cmdliner@opam:1.1.1@03763729", "@opam/base-bytes@opam:base@19d0c2ff", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ "ocaml@4.14.0@d41d8cd9", "@opam/ocamlfind@opam:1.9.5@c23112ba", - "@opam/dune@opam:3.5.0@fba55e5e", + "@opam/dune@opam:3.6.1@662f326b", "@opam/cmdliner@opam:1.1.1@03763729", "@opam/base-bytes@opam:base@19d0c2ff" ] @@ -648,67 +648,67 @@ }, "overrides": [], "dependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e", + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b", "@opam/csexp@opam:1.5.1@8a8fb3a7", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e", + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b", "@opam/csexp@opam:1.5.1@8a8fb3a7" ] }, - "@opam/ocamlformat@opam:0.20.1@86f627a5": { - "id": "@opam/ocamlformat@opam:0.20.1@86f627a5", + "@opam/ocamlformat@opam:0.24.1@80ba1b34": { + "id": "@opam/ocamlformat@opam:0.24.1@80ba1b34", "name": "@opam/ocamlformat", - "version": "opam:0.20.1", + "version": "opam:0.24.1", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/sha256/7d/7d3a51645416fa78287344fa03af6b78450067a1a61e4790bf1b29779cd10235#sha256:7d3a51645416fa78287344fa03af6b78450067a1a61e4790bf1b29779cd10235", - "archive:https://github.com/ocaml-ppx/ocamlformat/releases/download/0.20.1/ocamlformat-0.20.1.tbz#sha256:7d3a51645416fa78287344fa03af6b78450067a1a61e4790bf1b29779cd10235" + "archive:https://opam.ocaml.org/cache/sha256/02/023425e9818f80ea50537b2371a4a766c149a9957d05807e88a004d2d5f441ce#sha256:023425e9818f80ea50537b2371a4a766c149a9957d05807e88a004d2d5f441ce", + "archive:https://github.com/ocaml-ppx/ocamlformat/releases/download/0.24.1/ocamlformat-0.24.1.tbz#sha256:023425e9818f80ea50537b2371a4a766c149a9957d05807e88a004d2d5f441ce" ], "opam": { "name": "ocamlformat", - "version": "0.20.1", - "path": "esy.lock/opam/ocamlformat.0.20.1" + "version": "0.24.1", + "path": "esy.lock/opam/ocamlformat.0.24.1" } }, "overrides": [], "dependencies": [ "ocaml@4.14.0@d41d8cd9", "@opam/uutf@opam:1.0.3@47c95a18", "@opam/uuseg@opam:15.0.0@14085231", - "@opam/stdio@opam:v0.14.0@a5affb43", "@opam/re@opam:1.10.4@c4910ba6", - "@opam/odoc-parser@opam:1.0.1@4bf15d79", + "@opam/stdio@opam:v0.15.0@aeefdf96", "@opam/re@opam:1.10.4@c4910ba6", + "@opam/odoc-parser@opam:2.0.0@a08011a0", "@opam/ocp-indent@opam:1.7.0@2da3c6e5", "@opam/ocaml-version@opam:3.5.0@6bef55f5", - "@opam/menhirSdk@opam:20220210@b8921e41", - "@opam/menhirLib@opam:20220210@e6562f4f", - "@opam/menhir@opam:20220210@ff87a93b", + "@opam/menhirSdk@opam:20220210@fe146ed3", + "@opam/menhirLib@opam:20220210@9afeb270", + "@opam/menhir@opam:20220210@ff5ea9a7", "@opam/fpath@opam:0.7.3@674d8125", "@opam/fix@opam:20220121@17b9a1a4", "@opam/either@opam:1.0.0@be5a1416", - "@opam/dune-build-info@opam:3.5.0@621e3e0f", - "@opam/dune@opam:3.5.0@fba55e5e", + "@opam/dune-build-info@opam:3.6.1@5877ed82", + "@opam/dune@opam:3.6.1@662f326b", "@opam/csexp@opam:1.5.1@8a8fb3a7", "@opam/cmdliner@opam:1.1.1@03763729", - "@opam/base@opam:v0.14.3@b3ddb868", + "@opam/base@opam:v0.15.1@e8a71f35", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ "ocaml@4.14.0@d41d8cd9", "@opam/uutf@opam:1.0.3@47c95a18", "@opam/uuseg@opam:15.0.0@14085231", - "@opam/stdio@opam:v0.14.0@a5affb43", "@opam/re@opam:1.10.4@c4910ba6", - "@opam/odoc-parser@opam:1.0.1@4bf15d79", + "@opam/stdio@opam:v0.15.0@aeefdf96", "@opam/re@opam:1.10.4@c4910ba6", + "@opam/odoc-parser@opam:2.0.0@a08011a0", "@opam/ocp-indent@opam:1.7.0@2da3c6e5", "@opam/ocaml-version@opam:3.5.0@6bef55f5", - "@opam/menhirSdk@opam:20220210@b8921e41", - "@opam/menhirLib@opam:20220210@e6562f4f", - "@opam/menhir@opam:20220210@ff87a93b", + "@opam/menhirSdk@opam:20220210@fe146ed3", + "@opam/menhirLib@opam:20220210@9afeb270", + "@opam/menhir@opam:20220210@ff5ea9a7", "@opam/fpath@opam:0.7.3@674d8125", "@opam/fix@opam:20220121@17b9a1a4", "@opam/either@opam:1.0.0@be5a1416", - "@opam/dune-build-info@opam:3.5.0@621e3e0f", - "@opam/dune@opam:3.5.0@fba55e5e", + "@opam/dune-build-info@opam:3.6.1@5877ed82", + "@opam/dune@opam:3.6.1@662f326b", "@opam/csexp@opam:1.5.1@8a8fb3a7", "@opam/cmdliner@opam:1.1.1@03763729", - "@opam/base@opam:v0.14.3@b3ddb868" + "@opam/base@opam:v0.15.1@e8a71f35" ] }, "@opam/ocamlfind@opam:1.9.5@c23112ba": { @@ -783,62 +783,62 @@ }, "overrides": [], "dependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e", + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e" + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b" ] }, - "@opam/ocaml-lsp-server@opam:1.14.1@ac41cc96": { - "id": "@opam/ocaml-lsp-server@opam:1.14.1@ac41cc96", + "@opam/ocaml-lsp-server@opam:1.12.4@c24ab770": { + "id": "@opam/ocaml-lsp-server@opam:1.12.4@c24ab770", "name": "@opam/ocaml-lsp-server", - "version": "opam:1.14.1", + "version": "opam:1.12.4", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/sha256/e6/e64c4c33dd037791fcc9bedfd4d615dda6d169e3eaced150f365539dacab69d9#sha256:e64c4c33dd037791fcc9bedfd4d615dda6d169e3eaced150f365539dacab69d9", - "archive:https://github.com/ocaml/ocaml-lsp/releases/download/1.14.1/lsp-1.14.1.tbz#sha256:e64c4c33dd037791fcc9bedfd4d615dda6d169e3eaced150f365539dacab69d9" + "archive:https://opam.ocaml.org/cache/sha256/91/919b98027cbc56359dabe8a911d3d24d1706cea8cd04e8173a2d1d3b06f9d846#sha256:919b98027cbc56359dabe8a911d3d24d1706cea8cd04e8173a2d1d3b06f9d846", + "archive:https://github.com/ocaml/ocaml-lsp/releases/download/1.12.4/lsp-1.12.4.tbz#sha256:919b98027cbc56359dabe8a911d3d24d1706cea8cd04e8173a2d1d3b06f9d846" ], "opam": { "name": "ocaml-lsp-server", - "version": "1.14.1", - "path": "esy.lock/opam/ocaml-lsp-server.1.14.1" + "version": "1.12.4", + "path": "esy.lock/opam/ocaml-lsp-server.1.12.4" } }, "overrides": [], "dependencies": [ "ocaml@4.14.0@d41d8cd9", "@opam/yojson@opam:2.0.2@eb65f292", - "@opam/xdg@opam:3.5.0@e89f24d1", "@opam/uutf@opam:1.0.3@47c95a18", - "@opam/stdune@opam:3.5.0@ea85fcde", + "@opam/xdg@opam:3.6.1@103ee897", "@opam/uutf@opam:1.0.3@47c95a18", + "@opam/stdune@opam:3.6.1@8c52218e", "@opam/spawn@opam:v0.15.1@85e9d6f1", "@opam/re@opam:1.10.4@c4910ba6", "@opam/ppx_yojson_conv_lib@opam:v0.15.0@773058a7", - "@opam/pp@opam:1.1.2@89ad03b5", "@opam/ordering@opam:3.5.0@bc593f7a", + "@opam/pp@opam:1.1.2@89ad03b5", "@opam/ordering@opam:3.6.1@0095dfd8", "@opam/omd@opam:1.3.2@511d53d2", "@opam/octavius@opam:1.2.2@2205cc65", "@opam/ocamlformat-rpc-lib@opam:0.24.1@4b5db4b3", - "@opam/fiber@opam:3.5.0@56fce66b", "@opam/dyn@opam:3.5.0@5e82db53", - "@opam/dune-rpc@opam:3.5.0@80ba21cc", - "@opam/dune-build-info@opam:3.5.0@621e3e0f", - "@opam/dune@opam:3.5.0@fba55e5e", "@opam/csexp@opam:1.5.1@8a8fb3a7", - "@opam/chrome-trace@opam:3.5.0@845aba37", + "@opam/fiber@opam:3.6.1@014772b4", "@opam/dyn@opam:3.6.1@6b14b55c", + "@opam/dune-rpc@opam:3.6.1@d9761fef", + "@opam/dune-build-info@opam:3.6.1@5877ed82", + "@opam/dune@opam:3.6.1@662f326b", "@opam/csexp@opam:1.5.1@8a8fb3a7", + "@opam/chrome-trace@opam:3.6.1@69703ee2", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ "ocaml@4.14.0@d41d8cd9", "@opam/yojson@opam:2.0.2@eb65f292", - "@opam/xdg@opam:3.5.0@e89f24d1", "@opam/uutf@opam:1.0.3@47c95a18", - "@opam/stdune@opam:3.5.0@ea85fcde", + "@opam/xdg@opam:3.6.1@103ee897", "@opam/uutf@opam:1.0.3@47c95a18", + "@opam/stdune@opam:3.6.1@8c52218e", "@opam/spawn@opam:v0.15.1@85e9d6f1", "@opam/re@opam:1.10.4@c4910ba6", "@opam/ppx_yojson_conv_lib@opam:v0.15.0@773058a7", - "@opam/pp@opam:1.1.2@89ad03b5", "@opam/ordering@opam:3.5.0@bc593f7a", + "@opam/pp@opam:1.1.2@89ad03b5", "@opam/ordering@opam:3.6.1@0095dfd8", "@opam/omd@opam:1.3.2@511d53d2", "@opam/octavius@opam:1.2.2@2205cc65", "@opam/ocamlformat-rpc-lib@opam:0.24.1@4b5db4b3", - "@opam/fiber@opam:3.5.0@56fce66b", "@opam/dyn@opam:3.5.0@5e82db53", - "@opam/dune-rpc@opam:3.5.0@80ba21cc", - "@opam/dune-build-info@opam:3.5.0@621e3e0f", - "@opam/dune@opam:3.5.0@fba55e5e", "@opam/csexp@opam:1.5.1@8a8fb3a7", - "@opam/chrome-trace@opam:3.5.0@845aba37" + "@opam/fiber@opam:3.6.1@014772b4", "@opam/dyn@opam:3.6.1@6b14b55c", + "@opam/dune-rpc@opam:3.6.1@d9761fef", + "@opam/dune-build-info@opam:3.6.1@5877ed82", + "@opam/dune@opam:3.6.1@662f326b", "@opam/csexp@opam:1.5.1@8a8fb3a7", + "@opam/chrome-trace@opam:3.6.1@69703ee2" ] }, "@opam/ocaml-compiler-libs@opam:v0.12.4@41979882": { @@ -859,15 +859,15 @@ }, "overrides": [], "dependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e", + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e" + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b" ] }, - "@opam/menhirSdk@opam:20220210@b8921e41": { - "id": "@opam/menhirSdk@opam:20220210@b8921e41", + "@opam/menhirSdk@opam:20220210@fe146ed3": { + "id": "@opam/menhirSdk@opam:20220210@fe146ed3", "name": "@opam/menhirSdk", "version": "opam:20220210", "source": { @@ -884,15 +884,15 @@ }, "overrides": [], "dependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e", + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e" + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b" ] }, - "@opam/menhirLib@opam:20220210@e6562f4f": { - "id": "@opam/menhirLib@opam:20220210@e6562f4f", + "@opam/menhirLib@opam:20220210@9afeb270": { + "id": "@opam/menhirLib@opam:20220210@9afeb270", "name": "@opam/menhirLib", "version": "opam:20220210", "source": { @@ -909,15 +909,15 @@ }, "overrides": [], "dependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e", + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e" + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b" ] }, - "@opam/menhir@opam:20220210@ff87a93b": { - "id": "@opam/menhir@opam:20220210@ff87a93b", + "@opam/menhir@opam:20220210@ff5ea9a7": { + "id": "@opam/menhir@opam:20220210@ff5ea9a7", "name": "@opam/menhir", "version": "opam:20220210", "source": { @@ -934,56 +934,51 @@ }, "overrides": [], "dependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/menhirSdk@opam:20220210@b8921e41", - "@opam/menhirLib@opam:20220210@e6562f4f", - "@opam/dune@opam:3.5.0@fba55e5e", "@esy-ocaml/substs@0.0.1@d41d8cd9" + "ocaml@4.14.0@d41d8cd9", "@opam/menhirSdk@opam:20220210@fe146ed3", + "@opam/menhirLib@opam:20220210@9afeb270", + "@opam/dune@opam:3.6.1@662f326b", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/menhirSdk@opam:20220210@b8921e41", - "@opam/menhirLib@opam:20220210@e6562f4f", - "@opam/dune@opam:3.5.0@fba55e5e" + "ocaml@4.14.0@d41d8cd9", "@opam/menhirSdk@opam:20220210@fe146ed3", + "@opam/menhirLib@opam:20220210@9afeb270", + "@opam/dune@opam:3.6.1@662f326b" ] }, - "@opam/js_of_ocaml-compiler@opam:4.0.0@e10fcdb0": { - "id": "@opam/js_of_ocaml-compiler@opam:4.0.0@e10fcdb0", + "@opam/js_of_ocaml-compiler@opam:4.1.0@fe77344f": { + "id": "@opam/js_of_ocaml-compiler@opam:4.1.0@fe77344f", "name": "@opam/js_of_ocaml-compiler", - "version": "opam:4.0.0", + "version": "opam:4.1.0", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/sha256/df/df02f819e5b2f48234af2b3e3e7c9781afa8212f8bece7ebcfbd8358b394495e#sha256:df02f819e5b2f48234af2b3e3e7c9781afa8212f8bece7ebcfbd8358b394495e", - "archive:https://github.com/ocsigen/js_of_ocaml/releases/download/4.0.0/js_of_ocaml-4.0.0.tbz#sha256:df02f819e5b2f48234af2b3e3e7c9781afa8212f8bece7ebcfbd8358b394495e" + "archive:https://opam.ocaml.org/cache/sha256/91/91793f29a5af3deaba3f7d35ceab11e739cfe0a5cc30556f6201461a6d4236ef#sha256:91793f29a5af3deaba3f7d35ceab11e739cfe0a5cc30556f6201461a6d4236ef", + "archive:https://github.com/ocsigen/js_of_ocaml/releases/download/4.1.0/js_of_ocaml-4.1.0.tbz#sha256:91793f29a5af3deaba3f7d35ceab11e739cfe0a5cc30556f6201461a6d4236ef" ], "opam": { "name": "js_of_ocaml-compiler", - "version": "4.0.0", - "path": "esy.lock/opam/js_of_ocaml-compiler.4.0.0" + "version": "4.1.0", + "path": "esy.lock/opam/js_of_ocaml-compiler.4.1.0" } }, - "overrides": [ - { - "opamoverride": - "esy.lock/overrides/opam__s__js__of__ocaml_compiler_opam__c__4.0.0_opam_override" - } - ], + "overrides": [], "dependencies": [ "ocaml@4.14.0@d41d8cd9", "@opam/yojson@opam:2.0.2@eb65f292", "@opam/ppxlib@opam:0.28.0@8c51d241", "@opam/ocamlfind@opam:1.9.5@c23112ba", - "@opam/menhirSdk@opam:20220210@b8921e41", - "@opam/menhirLib@opam:20220210@e6562f4f", - "@opam/menhir@opam:20220210@ff87a93b", - "@opam/dune@opam:3.5.0@fba55e5e", + "@opam/menhirSdk@opam:20220210@fe146ed3", + "@opam/menhirLib@opam:20220210@9afeb270", + "@opam/menhir@opam:20220210@ff5ea9a7", + "@opam/dune@opam:3.6.1@662f326b", "@opam/cmdliner@opam:1.1.1@03763729", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ "ocaml@4.14.0@d41d8cd9", "@opam/yojson@opam:2.0.2@eb65f292", "@opam/ppxlib@opam:0.28.0@8c51d241", - "@opam/menhirSdk@opam:20220210@b8921e41", - "@opam/menhirLib@opam:20220210@e6562f4f", - "@opam/menhir@opam:20220210@ff87a93b", - "@opam/dune@opam:3.5.0@fba55e5e", + "@opam/menhirSdk@opam:20220210@fe146ed3", + "@opam/menhirLib@opam:20220210@9afeb270", + "@opam/menhir@opam:20220210@ff5ea9a7", + "@opam/dune@opam:3.6.1@662f326b", "@opam/cmdliner@opam:1.1.1@03763729" ] }, @@ -1005,7 +1000,7 @@ }, "overrides": [], "dependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/topkg@opam:1.0.5@0aa59f51", + "ocaml@4.14.0@d41d8cd9", "@opam/topkg@opam:1.0.6@da3f4ab1", "@opam/ocamlfind@opam:1.9.5@c23112ba", "@opam/ocamlbuild@opam:0.14.2@c6163b28", "@opam/astring@opam:0.8.5@1300cee8", @@ -1033,38 +1028,38 @@ }, "overrides": [], "dependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e", + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e" + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b" ] }, - "@opam/fiber@opam:3.5.0@56fce66b": { - "id": "@opam/fiber@opam:3.5.0@56fce66b", + "@opam/fiber@opam:3.6.1@014772b4": { + "id": "@opam/fiber@opam:3.6.1@014772b4", "name": "@opam/fiber", - "version": "opam:3.5.0", + "version": "opam:3.6.1", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/sha256/77/77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610#sha256:77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610", - "archive:https://github.com/ocaml/dune/releases/download/3.5.0/dune-3.5.0.tbz#sha256:77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610" + "archive:https://opam.ocaml.org/cache/sha256/f1/f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce#sha256:f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce", + "archive:https://github.com/ocaml/dune/releases/download/3.6.1/dune-3.6.1.tbz#sha256:f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce" ], "opam": { "name": "fiber", - "version": "3.5.0", - "path": "esy.lock/opam/fiber.3.5.0" + "version": "3.6.1", + "path": "esy.lock/opam/fiber.3.6.1" } }, "overrides": [], "dependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/stdune@opam:3.5.0@ea85fcde", - "@opam/dyn@opam:3.5.0@5e82db53", "@opam/dune@opam:3.5.0@fba55e5e", + "ocaml@4.14.0@d41d8cd9", "@opam/stdune@opam:3.6.1@8c52218e", + "@opam/dyn@opam:3.6.1@6b14b55c", "@opam/dune@opam:3.6.1@662f326b", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/stdune@opam:3.5.0@ea85fcde", - "@opam/dyn@opam:3.5.0@5e82db53", "@opam/dune@opam:3.5.0@fba55e5e" + "ocaml@4.14.0@d41d8cd9", "@opam/stdune@opam:3.6.1@8c52218e", + "@opam/dyn@opam:3.6.1@6b14b55c", "@opam/dune@opam:3.6.1@662f326b" ] }, "@opam/either@opam:1.0.0@be5a1416": { @@ -1085,136 +1080,136 @@ }, "overrides": [], "dependencies": [ - "@opam/dune@opam:3.5.0@fba55e5e", "@esy-ocaml/substs@0.0.1@d41d8cd9" + "@opam/dune@opam:3.6.1@662f326b", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], - "devDependencies": [ "@opam/dune@opam:3.5.0@fba55e5e" ] + "devDependencies": [ "@opam/dune@opam:3.6.1@662f326b" ] }, - "@opam/dyn@opam:3.5.0@5e82db53": { - "id": "@opam/dyn@opam:3.5.0@5e82db53", + "@opam/dyn@opam:3.6.1@6b14b55c": { + "id": "@opam/dyn@opam:3.6.1@6b14b55c", "name": "@opam/dyn", - "version": "opam:3.5.0", + "version": "opam:3.6.1", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/sha256/77/77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610#sha256:77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610", - "archive:https://github.com/ocaml/dune/releases/download/3.5.0/dune-3.5.0.tbz#sha256:77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610" + "archive:https://opam.ocaml.org/cache/sha256/f1/f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce#sha256:f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce", + "archive:https://github.com/ocaml/dune/releases/download/3.6.1/dune-3.6.1.tbz#sha256:f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce" ], "opam": { "name": "dyn", - "version": "3.5.0", - "path": "esy.lock/opam/dyn.3.5.0" + "version": "3.6.1", + "path": "esy.lock/opam/dyn.3.6.1" } }, "overrides": [], "dependencies": [ "ocaml@4.14.0@d41d8cd9", "@opam/pp@opam:1.1.2@89ad03b5", - "@opam/ordering@opam:3.5.0@bc593f7a", - "@opam/dune@opam:3.5.0@fba55e5e", "@esy-ocaml/substs@0.0.1@d41d8cd9" + "@opam/ordering@opam:3.6.1@0095dfd8", + "@opam/dune@opam:3.6.1@662f326b", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ "ocaml@4.14.0@d41d8cd9", "@opam/pp@opam:1.1.2@89ad03b5", - "@opam/ordering@opam:3.5.0@bc593f7a", - "@opam/dune@opam:3.5.0@fba55e5e" + "@opam/ordering@opam:3.6.1@0095dfd8", + "@opam/dune@opam:3.6.1@662f326b" ] }, - "@opam/dune-rpc@opam:3.5.0@80ba21cc": { - "id": "@opam/dune-rpc@opam:3.5.0@80ba21cc", + "@opam/dune-rpc@opam:3.6.1@d9761fef": { + "id": "@opam/dune-rpc@opam:3.6.1@d9761fef", "name": "@opam/dune-rpc", - "version": "opam:3.5.0", + "version": "opam:3.6.1", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/sha256/77/77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610#sha256:77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610", - "archive:https://github.com/ocaml/dune/releases/download/3.5.0/dune-3.5.0.tbz#sha256:77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610" + "archive:https://opam.ocaml.org/cache/sha256/f1/f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce#sha256:f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce", + "archive:https://github.com/ocaml/dune/releases/download/3.6.1/dune-3.6.1.tbz#sha256:f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce" ], "opam": { "name": "dune-rpc", - "version": "3.5.0", - "path": "esy.lock/opam/dune-rpc.3.5.0" + "version": "3.6.1", + "path": "esy.lock/opam/dune-rpc.3.6.1" } }, "overrides": [], "dependencies": [ - "@opam/xdg@opam:3.5.0@e89f24d1", "@opam/stdune@opam:3.5.0@ea85fcde", - "@opam/pp@opam:1.1.2@89ad03b5", "@opam/ordering@opam:3.5.0@bc593f7a", - "@opam/dyn@opam:3.5.0@5e82db53", "@opam/dune@opam:3.5.0@fba55e5e", + "@opam/xdg@opam:3.6.1@103ee897", "@opam/stdune@opam:3.6.1@8c52218e", + "@opam/pp@opam:1.1.2@89ad03b5", "@opam/ordering@opam:3.6.1@0095dfd8", + "@opam/dyn@opam:3.6.1@6b14b55c", "@opam/dune@opam:3.6.1@662f326b", "@opam/csexp@opam:1.5.1@8a8fb3a7", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ - "@opam/xdg@opam:3.5.0@e89f24d1", "@opam/stdune@opam:3.5.0@ea85fcde", - "@opam/pp@opam:1.1.2@89ad03b5", "@opam/ordering@opam:3.5.0@bc593f7a", - "@opam/dyn@opam:3.5.0@5e82db53", "@opam/dune@opam:3.5.0@fba55e5e", + "@opam/xdg@opam:3.6.1@103ee897", "@opam/stdune@opam:3.6.1@8c52218e", + "@opam/pp@opam:1.1.2@89ad03b5", "@opam/ordering@opam:3.6.1@0095dfd8", + "@opam/dyn@opam:3.6.1@6b14b55c", "@opam/dune@opam:3.6.1@662f326b", "@opam/csexp@opam:1.5.1@8a8fb3a7" ] }, - "@opam/dune-configurator@opam:3.5.0@5f776796": { - "id": "@opam/dune-configurator@opam:3.5.0@5f776796", + "@opam/dune-configurator@opam:3.6.1@966be260": { + "id": "@opam/dune-configurator@opam:3.6.1@966be260", "name": "@opam/dune-configurator", - "version": "opam:3.5.0", + "version": "opam:3.6.1", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/sha256/77/77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610#sha256:77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610", - "archive:https://github.com/ocaml/dune/releases/download/3.5.0/dune-3.5.0.tbz#sha256:77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610" + "archive:https://opam.ocaml.org/cache/sha256/f1/f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce#sha256:f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce", + "archive:https://github.com/ocaml/dune/releases/download/3.6.1/dune-3.6.1.tbz#sha256:f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce" ], "opam": { "name": "dune-configurator", - "version": "3.5.0", - "path": "esy.lock/opam/dune-configurator.3.5.0" + "version": "3.6.1", + "path": "esy.lock/opam/dune-configurator.3.6.1" } }, "overrides": [], "dependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e", + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b", "@opam/csexp@opam:1.5.1@8a8fb3a7", "@opam/base-unix@opam:base@87d0b2eb", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e", + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b", "@opam/csexp@opam:1.5.1@8a8fb3a7", "@opam/base-unix@opam:base@87d0b2eb" ] }, - "@opam/dune-build-info@opam:3.5.0@621e3e0f": { - "id": "@opam/dune-build-info@opam:3.5.0@621e3e0f", + "@opam/dune-build-info@opam:3.6.1@5877ed82": { + "id": "@opam/dune-build-info@opam:3.6.1@5877ed82", "name": "@opam/dune-build-info", - "version": "opam:3.5.0", + "version": "opam:3.6.1", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/sha256/77/77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610#sha256:77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610", - "archive:https://github.com/ocaml/dune/releases/download/3.5.0/dune-3.5.0.tbz#sha256:77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610" + "archive:https://opam.ocaml.org/cache/sha256/f1/f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce#sha256:f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce", + "archive:https://github.com/ocaml/dune/releases/download/3.6.1/dune-3.6.1.tbz#sha256:f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce" ], "opam": { "name": "dune-build-info", - "version": "3.5.0", - "path": "esy.lock/opam/dune-build-info.3.5.0" + "version": "3.6.1", + "path": "esy.lock/opam/dune-build-info.3.6.1" } }, "overrides": [], "dependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e", + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e" + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b" ] }, - "@opam/dune@opam:3.5.0@fba55e5e": { - "id": "@opam/dune@opam:3.5.0@fba55e5e", + "@opam/dune@opam:3.6.1@662f326b": { + "id": "@opam/dune@opam:3.6.1@662f326b", "name": "@opam/dune", - "version": "opam:3.5.0", + "version": "opam:3.6.1", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/sha256/77/77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610#sha256:77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610", - "archive:https://github.com/ocaml/dune/releases/download/3.5.0/dune-3.5.0.tbz#sha256:77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610" + "archive:https://opam.ocaml.org/cache/sha256/f1/f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce#sha256:f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce", + "archive:https://github.com/ocaml/dune/releases/download/3.6.1/dune-3.6.1.tbz#sha256:f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce" ], "opam": { "name": "dune", - "version": "3.5.0", - "path": "esy.lock/opam/dune.3.5.0" + "version": "3.6.1", + "path": "esy.lock/opam/dune.3.6.1" } }, "overrides": [], @@ -1246,11 +1241,11 @@ }, "overrides": [], "dependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e", + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e" + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b" ] }, "@opam/cppo@opam:1.6.9@db929a12": { @@ -1271,12 +1266,12 @@ }, "overrides": [], "dependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e", + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b", "@opam/base-unix@opam:base@87d0b2eb", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e", + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b", "@opam/base-unix@opam:base@87d0b2eb" ] }, @@ -1318,29 +1313,29 @@ ], "devDependencies": [ "ocaml@4.14.0@d41d8cd9" ] }, - "@opam/chrome-trace@opam:3.5.0@845aba37": { - "id": "@opam/chrome-trace@opam:3.5.0@845aba37", + "@opam/chrome-trace@opam:3.6.1@69703ee2": { + "id": "@opam/chrome-trace@opam:3.6.1@69703ee2", "name": "@opam/chrome-trace", - "version": "opam:3.5.0", + "version": "opam:3.6.1", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/sha256/77/77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610#sha256:77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610", - "archive:https://github.com/ocaml/dune/releases/download/3.5.0/dune-3.5.0.tbz#sha256:77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610" + "archive:https://opam.ocaml.org/cache/sha256/f1/f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce#sha256:f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce", + "archive:https://github.com/ocaml/dune/releases/download/3.6.1/dune-3.6.1.tbz#sha256:f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce" ], "opam": { "name": "chrome-trace", - "version": "3.5.0", - "path": "esy.lock/opam/chrome-trace.3.5.0" + "version": "3.6.1", + "path": "esy.lock/opam/chrome-trace.3.6.1" } }, "overrides": [], "dependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e", + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e" + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b" ] }, "@opam/camlp-streams@opam:5.0.1@daaa0f94": { @@ -1361,11 +1356,11 @@ }, "overrides": [], "dependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e", + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.5.0@fba55e5e" + "ocaml@4.14.0@d41d8cd9", "@opam/dune@opam:3.6.1@662f326b" ] }, "@opam/base-unix@opam:base@87d0b2eb": { @@ -1441,32 +1436,32 @@ "dependencies": [ "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [] }, - "@opam/base@opam:v0.14.3@b3ddb868": { - "id": "@opam/base@opam:v0.14.3@b3ddb868", + "@opam/base@opam:v0.15.1@e8a71f35": { + "id": "@opam/base@opam:v0.15.1@e8a71f35", "name": "@opam/base", - "version": "opam:v0.14.3", + "version": "opam:v0.15.1", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/sha256/e3/e34dc0dd052a386c84f5f67e71a90720dff76e0edd01f431604404bee86ebe5a#sha256:e34dc0dd052a386c84f5f67e71a90720dff76e0edd01f431604404bee86ebe5a", - "archive:https://github.com/janestreet/base/archive/v0.14.3.tar.gz#sha256:e34dc0dd052a386c84f5f67e71a90720dff76e0edd01f431604404bee86ebe5a" + "archive:https://opam.ocaml.org/cache/sha256/75/755e303171ea267e3ba5af7aa8ea27537f3394d97c77d340b10f806d6ef61a14#sha256:755e303171ea267e3ba5af7aa8ea27537f3394d97c77d340b10f806d6ef61a14", + "archive:https://github.com/janestreet/base/archive/refs/tags/v0.15.1.tar.gz#sha256:755e303171ea267e3ba5af7aa8ea27537f3394d97c77d340b10f806d6ef61a14" ], "opam": { "name": "base", - "version": "v0.14.3", - "path": "esy.lock/opam/base.v0.14.3" + "version": "v0.15.1", + "path": "esy.lock/opam/base.v0.15.1" } }, "overrides": [], "dependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/sexplib0@opam:v0.14.0@70ace5c1", - "@opam/dune-configurator@opam:3.5.0@5f776796", - "@opam/dune@opam:3.5.0@fba55e5e", "@esy-ocaml/substs@0.0.1@d41d8cd9" + "ocaml@4.14.0@d41d8cd9", "@opam/sexplib0@opam:v0.15.1@51111c0c", + "@opam/dune-configurator@opam:3.6.1@966be260", + "@opam/dune@opam:3.6.1@662f326b", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/sexplib0@opam:v0.14.0@70ace5c1", - "@opam/dune-configurator@opam:3.5.0@5f776796", - "@opam/dune@opam:3.5.0@fba55e5e" + "ocaml@4.14.0@d41d8cd9", "@opam/sexplib0@opam:v0.15.1@51111c0c", + "@opam/dune-configurator@opam:3.6.1@966be260", + "@opam/dune@opam:3.6.1@662f326b" ] }, "@opam/astring@opam:0.8.5@1300cee8": { @@ -1487,28 +1482,28 @@ }, "overrides": [], "dependencies": [ - "ocaml@4.14.0@d41d8cd9", "@opam/topkg@opam:1.0.5@0aa59f51", + "ocaml@4.14.0@d41d8cd9", "@opam/topkg@opam:1.0.6@da3f4ab1", "@opam/ocamlfind@opam:1.9.5@c23112ba", "@opam/ocamlbuild@opam:0.14.2@c6163b28", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ "ocaml@4.14.0@d41d8cd9" ] }, - "@grain/libbinaryen@109.0.0@d41d8cd9": { - "id": "@grain/libbinaryen@109.0.0@d41d8cd9", + "@grain/libbinaryen@110.0.0@d41d8cd9": { + "id": "@grain/libbinaryen@110.0.0@d41d8cd9", "name": "@grain/libbinaryen", - "version": "109.0.0", + "version": "110.0.0", "source": { "type": "install", "source": [ - "archive:https://registry.npmjs.org/@grain/libbinaryen/-/libbinaryen-109.0.0.tgz#sha1:64df721b8f2e5257ef7e94429c66ad0d15e52efe" + "archive:https://registry.npmjs.org/@grain/libbinaryen/-/libbinaryen-110.0.0.tgz#sha1:1b4dd06b78461f32682998a30ad54a75add29848" ] }, "overrides": [], "dependencies": [ "ocaml@4.14.0@d41d8cd9", - "@opam/dune-configurator@opam:3.5.0@5f776796", - "@opam/dune@opam:3.5.0@fba55e5e", + "@opam/dune-configurator@opam:3.6.1@966be260", + "@opam/dune@opam:3.6.1@662f326b", "@opam/conf-cmake@github:grain-lang/cmake:esy.json#1cead3871bbb27a45adab2263ef2dff4a38a8869@d41d8cd9" ], "devDependencies": [], @@ -1526,14 +1521,14 @@ "overrides": [], "dependencies": [ "ocaml@4.14.0@d41d8cd9", - "@opam/dune-configurator@opam:3.5.0@5f776796", - "@opam/dune@opam:3.5.0@fba55e5e", - "@grain/libbinaryen@109.0.0@d41d8cd9" + "@opam/dune-configurator@opam:3.6.1@966be260", + "@opam/dune@opam:3.6.1@662f326b", + "@grain/libbinaryen@110.0.0@d41d8cd9" ], "devDependencies": [ - "@opam/ocamlformat@opam:0.20.1@86f627a5", - "@opam/ocaml-lsp-server@opam:1.14.1@ac41cc96", - "@opam/js_of_ocaml-compiler@opam:4.0.0@e10fcdb0" + "@opam/ocamlformat@opam:0.24.1@80ba1b34", + "@opam/ocaml-lsp-server@opam:1.12.4@c24ab770", + "@opam/js_of_ocaml-compiler@opam:4.1.0@fe77344f" ], "installConfig": { "pnp": false } }, diff --git a/esy.lock/opam/base.v0.14.3/opam b/esy.lock/opam/base.v0.15.1/opam similarity index 80% rename from esy.lock/opam/base.v0.14.3/opam rename to esy.lock/opam/base.v0.15.1/opam index 5636969d..29478ac3 100644 --- a/esy.lock/opam/base.v0.14.3/opam +++ b/esy.lock/opam/base.v0.15.1/opam @@ -10,8 +10,8 @@ build: [ ["dune" "build" "-p" name "-j" jobs] ] depends: [ - "ocaml" {>= "4.08.0"} - "sexplib0" {>= "v0.14" & < "v0.15"} + "ocaml" {>= "4.10.0"} + "sexplib0" {>= "v0.15" & < "v0.16"} "dune" {>= "2.0.0"} "dune-configurator" ] @@ -31,6 +31,6 @@ provided by companion libraries such as stdio: https://github.com/janestreet/stdio " url { - src: "https://github.com/janestreet/base/archive/v0.14.3.tar.gz" - checksum: "sha256=e34dc0dd052a386c84f5f67e71a90720dff76e0edd01f431604404bee86ebe5a" +src: "https://github.com/janestreet/base/archive/refs/tags/v0.15.1.tar.gz" +checksum: "sha256=755e303171ea267e3ba5af7aa8ea27537f3394d97c77d340b10f806d6ef61a14" } diff --git a/esy.lock/opam/chrome-trace.3.5.0/opam b/esy.lock/opam/chrome-trace.3.6.1/opam similarity index 67% rename from esy.lock/opam/chrome-trace.3.5.0/opam rename to esy.lock/opam/chrome-trace.3.6.1/opam index 5f32b4d7..4f2fa667 100644 --- a/esy.lock/opam/chrome-trace.3.5.0/opam +++ b/esy.lock/opam/chrome-trace.3.6.1/opam @@ -9,7 +9,7 @@ homepage: "https://github.com/ocaml/dune" doc: "https://dune.readthedocs.io/" bug-reports: "https://github.com/ocaml/dune/issues" depends: [ - "dune" {>= "3.3"} + "dune" {>= "3.5"} "ocaml" {>= "4.08.0"} "odoc" {with-doc} ] @@ -30,10 +30,10 @@ build: [ ] ] url { - src: "https://github.com/ocaml/dune/releases/download/3.5.0/dune-3.5.0.tbz" + src: "https://github.com/ocaml/dune/releases/download/3.6.1/dune-3.6.1.tbz" checksum: [ - "sha256=77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610" - "sha512=acaed76ab8618977118579641a1f6734ed4a225ab46494c6c5fd8e1bf9a0889e62db9adc7bd11770da602f4dd4785cef5ece4ad26512d08b64b8f3bd8954c80d" + "sha256=f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce" + "sha512=64714ab6155cd04bc33d693fc7a6d9d61aa7a278357eeff159df324e083914fcd556459a3945acacf1bbc3775f2232ab0c78006ab8a434dc58dcf95ffdffac52" ] } -x-commit-hash: "77c1e6f8f27f57fe0c04ec1624a85069b02437cf" +x-commit-hash: "7d2788fc94a071bca897aefc95f1464911870a4c" diff --git a/esy.lock/opam/dune-build-info.3.5.0/opam b/esy.lock/opam/dune-build-info.3.6.1/opam similarity index 69% rename from esy.lock/opam/dune-build-info.3.5.0/opam rename to esy.lock/opam/dune-build-info.3.6.1/opam index 67712890..a15dee7a 100644 --- a/esy.lock/opam/dune-build-info.3.5.0/opam +++ b/esy.lock/opam/dune-build-info.3.6.1/opam @@ -1,5 +1,5 @@ opam-version: "2.0" -synopsis: "Embed build informations inside executable" +synopsis: "Embed build information inside executable" description: """ The build-info library allows to access information about how the executable was built, such as the version of the project at which it @@ -15,7 +15,7 @@ homepage: "https://github.com/ocaml/dune" doc: "https://dune.readthedocs.io/" bug-reports: "https://github.com/ocaml/dune/issues" depends: [ - "dune" {>= "3.3"} + "dune" {>= "3.5"} "ocaml" {>= "4.08"} "odoc" {with-doc} ] @@ -36,10 +36,10 @@ build: [ ] ] url { - src: "https://github.com/ocaml/dune/releases/download/3.5.0/dune-3.5.0.tbz" + src: "https://github.com/ocaml/dune/releases/download/3.6.1/dune-3.6.1.tbz" checksum: [ - "sha256=77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610" - "sha512=acaed76ab8618977118579641a1f6734ed4a225ab46494c6c5fd8e1bf9a0889e62db9adc7bd11770da602f4dd4785cef5ece4ad26512d08b64b8f3bd8954c80d" + "sha256=f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce" + "sha512=64714ab6155cd04bc33d693fc7a6d9d61aa7a278357eeff159df324e083914fcd556459a3945acacf1bbc3775f2232ab0c78006ab8a434dc58dcf95ffdffac52" ] } -x-commit-hash: "77c1e6f8f27f57fe0c04ec1624a85069b02437cf" +x-commit-hash: "7d2788fc94a071bca897aefc95f1464911870a4c" diff --git a/esy.lock/opam/dune-configurator.3.5.0/opam b/esy.lock/opam/dune-configurator.3.6.1/opam similarity index 74% rename from esy.lock/opam/dune-configurator.3.5.0/opam rename to esy.lock/opam/dune-configurator.3.6.1/opam index 510cae33..0b7401c0 100644 --- a/esy.lock/opam/dune-configurator.3.5.0/opam +++ b/esy.lock/opam/dune-configurator.3.6.1/opam @@ -17,7 +17,7 @@ homepage: "https://github.com/ocaml/dune" doc: "https://dune.readthedocs.io/" bug-reports: "https://github.com/ocaml/dune/issues" depends: [ - "dune" {>= "3.3"} + "dune" {>= "3.5"} "ocaml" {>= "4.04.0"} "base-unix" "csexp" {>= "1.5.0"} @@ -40,10 +40,10 @@ build: [ ] ] url { - src: "https://github.com/ocaml/dune/releases/download/3.5.0/dune-3.5.0.tbz" + src: "https://github.com/ocaml/dune/releases/download/3.6.1/dune-3.6.1.tbz" checksum: [ - "sha256=77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610" - "sha512=acaed76ab8618977118579641a1f6734ed4a225ab46494c6c5fd8e1bf9a0889e62db9adc7bd11770da602f4dd4785cef5ece4ad26512d08b64b8f3bd8954c80d" + "sha256=f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce" + "sha512=64714ab6155cd04bc33d693fc7a6d9d61aa7a278357eeff159df324e083914fcd556459a3945acacf1bbc3775f2232ab0c78006ab8a434dc58dcf95ffdffac52" ] } -x-commit-hash: "77c1e6f8f27f57fe0c04ec1624a85069b02437cf" +x-commit-hash: "7d2788fc94a071bca897aefc95f1464911870a4c" diff --git a/esy.lock/opam/dune-rpc.3.5.0/opam b/esy.lock/opam/dune-rpc.3.6.1/opam similarity index 67% rename from esy.lock/opam/dune-rpc.3.5.0/opam rename to esy.lock/opam/dune-rpc.3.6.1/opam index 5641f700..817b72f3 100644 --- a/esy.lock/opam/dune-rpc.3.5.0/opam +++ b/esy.lock/opam/dune-rpc.3.6.1/opam @@ -8,7 +8,7 @@ homepage: "https://github.com/ocaml/dune" doc: "https://dune.readthedocs.io/" bug-reports: "https://github.com/ocaml/dune/issues" depends: [ - "dune" {>= "3.3"} + "dune" {>= "3.5"} "csexp" "ordering" "dyn" @@ -34,10 +34,10 @@ build: [ ] ] url { - src: "https://github.com/ocaml/dune/releases/download/3.5.0/dune-3.5.0.tbz" + src: "https://github.com/ocaml/dune/releases/download/3.6.1/dune-3.6.1.tbz" checksum: [ - "sha256=77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610" - "sha512=acaed76ab8618977118579641a1f6734ed4a225ab46494c6c5fd8e1bf9a0889e62db9adc7bd11770da602f4dd4785cef5ece4ad26512d08b64b8f3bd8954c80d" + "sha256=f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce" + "sha512=64714ab6155cd04bc33d693fc7a6d9d61aa7a278357eeff159df324e083914fcd556459a3945acacf1bbc3775f2232ab0c78006ab8a434dc58dcf95ffdffac52" ] } -x-commit-hash: "77c1e6f8f27f57fe0c04ec1624a85069b02437cf" +x-commit-hash: "7d2788fc94a071bca897aefc95f1464911870a4c" diff --git a/esy.lock/opam/dune.3.5.0/opam b/esy.lock/opam/dune.3.6.1/opam similarity index 77% rename from esy.lock/opam/dune.3.5.0/opam rename to esy.lock/opam/dune.3.6.1/opam index f0fe054b..a1791e8c 100644 --- a/esy.lock/opam/dune.3.5.0/opam +++ b/esy.lock/opam/dune.3.6.1/opam @@ -36,8 +36,8 @@ conflicts: [ ] dev-repo: "git+https://github.com/ocaml/dune.git" build: [ - ["ocaml" "bootstrap.ml" "-j" jobs] - ["./dune.exe" "build" "dune.install" "--release" "--profile" "dune-bootstrap" "-j" jobs] + ["ocaml" "boot/bootstrap.ml" "-j" jobs] + ["./_boot/dune.exe" "build" "dune.install" "--release" "--profile" "dune-bootstrap" "-j" jobs] ] depends: [ # Please keep the lower bound in sync with .github/workflows/workflow.yml, @@ -47,10 +47,10 @@ depends: [ "base-threads" ] url { - src: "https://github.com/ocaml/dune/releases/download/3.5.0/dune-3.5.0.tbz" + src: "https://github.com/ocaml/dune/releases/download/3.6.1/dune-3.6.1.tbz" checksum: [ - "sha256=77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610" - "sha512=acaed76ab8618977118579641a1f6734ed4a225ab46494c6c5fd8e1bf9a0889e62db9adc7bd11770da602f4dd4785cef5ece4ad26512d08b64b8f3bd8954c80d" + "sha256=f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce" + "sha512=64714ab6155cd04bc33d693fc7a6d9d61aa7a278357eeff159df324e083914fcd556459a3945acacf1bbc3775f2232ab0c78006ab8a434dc58dcf95ffdffac52" ] } -x-commit-hash: "77c1e6f8f27f57fe0c04ec1624a85069b02437cf" +x-commit-hash: "7d2788fc94a071bca897aefc95f1464911870a4c" diff --git a/esy.lock/opam/dyn.3.5.0/opam b/esy.lock/opam/dyn.3.6.1/opam similarity index 65% rename from esy.lock/opam/dyn.3.5.0/opam rename to esy.lock/opam/dyn.3.6.1/opam index 4fa5ad29..660d14cf 100644 --- a/esy.lock/opam/dyn.3.5.0/opam +++ b/esy.lock/opam/dyn.3.6.1/opam @@ -8,7 +8,7 @@ homepage: "https://github.com/ocaml/dune" doc: "https://dune.readthedocs.io/" bug-reports: "https://github.com/ocaml/dune/issues" depends: [ - "dune" {>= "3.3"} + "dune" {>= "3.5"} "ocaml" {>= "4.08.0"} "ordering" {= version} "pp" {>= "1.1.0"} @@ -31,10 +31,10 @@ build: [ ] ] url { - src: "https://github.com/ocaml/dune/releases/download/3.5.0/dune-3.5.0.tbz" + src: "https://github.com/ocaml/dune/releases/download/3.6.1/dune-3.6.1.tbz" checksum: [ - "sha256=77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610" - "sha512=acaed76ab8618977118579641a1f6734ed4a225ab46494c6c5fd8e1bf9a0889e62db9adc7bd11770da602f4dd4785cef5ece4ad26512d08b64b8f3bd8954c80d" + "sha256=f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce" + "sha512=64714ab6155cd04bc33d693fc7a6d9d61aa7a278357eeff159df324e083914fcd556459a3945acacf1bbc3775f2232ab0c78006ab8a434dc58dcf95ffdffac52" ] } -x-commit-hash: "77c1e6f8f27f57fe0c04ec1624a85069b02437cf" +x-commit-hash: "7d2788fc94a071bca897aefc95f1464911870a4c" diff --git a/esy.lock/opam/fiber.3.5.0/opam b/esy.lock/opam/fiber.3.6.1/opam similarity index 68% rename from esy.lock/opam/fiber.3.5.0/opam rename to esy.lock/opam/fiber.3.6.1/opam index f4147325..69d0f279 100644 --- a/esy.lock/opam/fiber.3.5.0/opam +++ b/esy.lock/opam/fiber.3.6.1/opam @@ -9,7 +9,7 @@ homepage: "https://github.com/ocaml/dune" doc: "https://dune.readthedocs.io/" bug-reports: "https://github.com/ocaml/dune/issues" depends: [ - "dune" {>= "3.3"} + "dune" {>= "3.5"} "ocaml" {>= "4.08.0"} "stdune" {= version} "dyn" {= version} @@ -32,10 +32,10 @@ build: [ ] ] url { - src: "https://github.com/ocaml/dune/releases/download/3.5.0/dune-3.5.0.tbz" + src: "https://github.com/ocaml/dune/releases/download/3.6.1/dune-3.6.1.tbz" checksum: [ - "sha256=77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610" - "sha512=acaed76ab8618977118579641a1f6734ed4a225ab46494c6c5fd8e1bf9a0889e62db9adc7bd11770da602f4dd4785cef5ece4ad26512d08b64b8f3bd8954c80d" + "sha256=f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce" + "sha512=64714ab6155cd04bc33d693fc7a6d9d61aa7a278357eeff159df324e083914fcd556459a3945acacf1bbc3775f2232ab0c78006ab8a434dc58dcf95ffdffac52" ] } -x-commit-hash: "77c1e6f8f27f57fe0c04ec1624a85069b02437cf" +x-commit-hash: "7d2788fc94a071bca897aefc95f1464911870a4c" diff --git a/esy.lock/opam/js_of_ocaml-compiler.4.0.0/opam b/esy.lock/opam/js_of_ocaml-compiler.4.1.0/opam similarity index 70% rename from esy.lock/opam/js_of_ocaml-compiler.4.0.0/opam rename to esy.lock/opam/js_of_ocaml-compiler.4.1.0/opam index 47bdee23..8c294534 100644 --- a/esy.lock/opam/js_of_ocaml-compiler.4.0.0/opam +++ b/esy.lock/opam/js_of_ocaml-compiler.4.1.0/opam @@ -10,13 +10,13 @@ homepage: "https://ocsigen.org/js_of_ocaml/latest/manual/overview" doc: "https://ocsigen.org/js_of_ocaml/latest/manual/overview" bug-reports: "https://github.com/ocsigen/js_of_ocaml/issues" depends: [ - "dune" {>= "2.9"} - "ocaml" {>= "4.04" & < "4.15"} + "dune" {>= "3.2"} + "ocaml" {>= "4.04" & < "5.1"} "num" {with-test} "ppx_expect" {>= "v0.14.2" & with-test} "ppxlib" {>= "0.15.0"} "re" {with-test} - "cmdliner" {>= "1.0.0"} + "cmdliner" {>= "1.1.0"} "menhir" "menhirLib" "menhirSdk" @@ -27,7 +27,8 @@ depopts: ["ocamlfind"] conflicts: [ "ocamlfind" {< "1.5.1"} "js_of_ocaml" {< "3.0"} - "base-domains" + "ocaml-variants" {= "4.12.0+domains" | = "4.12.0+domains+effects"} + "ocaml-option-bytecode-only" ] dev-repo: "git+https://github.com/ocsigen/js_of_ocaml.git" build: [ @@ -39,18 +40,16 @@ build: [ name "-j" jobs - "--promote-install-files=false" "@install" "@doc" {with-doc} ] - ["dune" "install" "-p" name "--create-install-files" name] ] url { src: - "https://github.com/ocsigen/js_of_ocaml/releases/download/4.0.0/js_of_ocaml-4.0.0.tbz" + "https://github.com/ocsigen/js_of_ocaml/releases/download/4.1.0/js_of_ocaml-4.1.0.tbz" checksum: [ - "sha256=df02f819e5b2f48234af2b3e3e7c9781afa8212f8bece7ebcfbd8358b394495e" - "sha512=92e822849c8be14ce0428f7f4be3991449f76e65d408073a5b8b9674ba2d099439027aa11618b603c7ee31a179cf6976d54a929917a69b269425f0367926c200" + "sha256=91793f29a5af3deaba3f7d35ceab11e739cfe0a5cc30556f6201461a6d4236ef" + "sha512=43f91c1f37939dfc894558a23a8ca163e6f316db442bdd0a5909bd095f5b0eb596d0943883452f4b78641da71222a775476877ea9ba0500583700d1fb35e04a5" ] } -x-commit-hash: "6fb1d008061b6c028c375b240882bb735d54a5bc" +x-commit-hash: "9cb30b78c1a4bde6176652b94c96b26e1140f8a4" diff --git a/esy.lock/opam/menhir.20220210/opam b/esy.lock/opam/menhir.20220210/opam index 3cd79886..498658b4 100644 --- a/esy.lock/opam/menhir.20220210/opam +++ b/esy.lock/opam/menhir.20220210/opam @@ -8,7 +8,7 @@ authors: [ homepage: "http://gitlab.inria.fr/fpottier/menhir" dev-repo: "git+https://gitlab.inria.fr/fpottier/menhir.git" bug-reports: "https://gitlab.inria.fr/fpottier/menhir/-/issues" -license: "LGPL-2.0-only with OCaml-LGPL-linking-exception" +license: "LGPL-2.0-only WITH OCaml-LGPL-linking-exception" build: [ ["dune" "build" "-p" name "-j" jobs] ] diff --git a/esy.lock/opam/menhirLib.20220210/opam b/esy.lock/opam/menhirLib.20220210/opam index 895b5427..d2097ae4 100644 --- a/esy.lock/opam/menhirLib.20220210/opam +++ b/esy.lock/opam/menhirLib.20220210/opam @@ -8,7 +8,7 @@ authors: [ homepage: "http://gitlab.inria.fr/fpottier/menhir" dev-repo: "git+https://gitlab.inria.fr/fpottier/menhir.git" bug-reports: "https://gitlab.inria.fr/fpottier/menhir/-/issues" -license: "LGPL-2.0-only with OCaml-LGPL-linking-exception" +license: "LGPL-2.0-only WITH OCaml-LGPL-linking-exception" build: [ ["dune" "build" "-p" name "-j" jobs] ] diff --git a/esy.lock/opam/menhirSdk.20220210/opam b/esy.lock/opam/menhirSdk.20220210/opam index d95c170d..585d2ca3 100644 --- a/esy.lock/opam/menhirSdk.20220210/opam +++ b/esy.lock/opam/menhirSdk.20220210/opam @@ -8,7 +8,7 @@ authors: [ homepage: "http://gitlab.inria.fr/fpottier/menhir" dev-repo: "git+https://gitlab.inria.fr/fpottier/menhir.git" bug-reports: "https://gitlab.inria.fr/fpottier/menhir/-/issues" -license: "LGPL-2.0-only with OCaml-LGPL-linking-exception" +license: "LGPL-2.0-only WITH OCaml-LGPL-linking-exception" build: [ ["dune" "build" "-p" name "-j" jobs] ] diff --git a/esy.lock/opam/ocaml-lsp-server.1.14.1/opam b/esy.lock/opam/ocaml-lsp-server.1.12.4/opam similarity index 77% rename from esy.lock/opam/ocaml-lsp-server.1.14.1/opam rename to esy.lock/opam/ocaml-lsp-server.1.12.4/opam index d20da993..44bd9a0d 100644 --- a/esy.lock/opam/ocaml-lsp-server.1.14.1/opam +++ b/esy.lock/opam/ocaml-lsp-server.1.12.4/opam @@ -22,7 +22,7 @@ depends: [ "yojson" "re" {>= "1.5.0"} "ppx_yojson_conv_lib" {>= "v0.14"} - "dune-rpc" {>= "3.4.0"} + "dune-rpc" "chrome-trace" {>= "3.3.0"} "dyn" "stdune" @@ -54,10 +54,10 @@ build: [ ] url { src: - "https://github.com/ocaml/ocaml-lsp/releases/download/1.14.1/lsp-1.14.1.tbz" + "https://github.com/ocaml/ocaml-lsp/releases/download/1.12.4/lsp-1.12.4.tbz" checksum: [ - "sha256=e64c4c33dd037791fcc9bedfd4d615dda6d169e3eaced150f365539dacab69d9" - "sha512=1eeede473ab2c3481f2e6c67676451d50e005cf44e418ca209848be5ee0c6f034b08e17f8312a751d13f0194f6519b02cb82f232553fe7ec80b53e5c5a56f947" + "sha256=919b98027cbc56359dabe8a911d3d24d1706cea8cd04e8173a2d1d3b06f9d846" + "sha512=68898112f13b7ee13040933ed95597e59f83e42ac9d6ead375baa2d1248b1614b5b80ae5e0d839f7f5a8372fd1f47e6bf308d331ca1df90cb4b9927825f89635" ] } -x-commit-hash: "5e6b3c90e368ca1650077f817f9862240a730cbc" +x-commit-hash: "f53ad362aa2c47216dd96d32b22bb95ee3e774e4" diff --git a/esy.lock/opam/ocamlformat.0.20.1/opam b/esy.lock/opam/ocamlformat.0.24.1/opam similarity index 70% rename from esy.lock/opam/ocamlformat.0.20.1/opam rename to esy.lock/opam/ocamlformat.0.24.1/opam index d74bab5e..14b39803 100644 --- a/esy.lock/opam/ocamlformat.0.20.1/opam +++ b/esy.lock/opam/ocamlformat.0.24.1/opam @@ -7,13 +7,11 @@ authors: ["Josh Berdine "] homepage: "https://github.com/ocaml-ppx/ocamlformat" bug-reports: "https://github.com/ocaml-ppx/ocamlformat/issues" depends: [ - "dune" {>= "2.8"} - "dune" {with-test & < "3.0"} - "ocaml" {>= "4.08" & < "4.15"} + "ocaml" {>= "4.08"} "alcotest" {with-test} - "base" {>= "v0.12.0" & < "v0.15"} - "cmdliner" - "cmdliner" {with-test & < "1.1.0"} + "base" {>= "v0.12.0"} + "cmdliner" {>= "1.1.0"} + "dune" {>= "2.8"} "dune-build-info" "either" "fix" @@ -22,12 +20,14 @@ depends: [ "menhirLib" {>= "20201216"} "menhirSdk" {>= "20201216"} "ocaml-version" {>= "3.3.0"} + "ocamlformat-rpc-lib" {with-test & = version} "ocp-indent" - "odoc-parser" {>= "1.0.0" & < "2.0.0"} + "odoc-parser" {>= "2.0.0" & < "3.0.0"} "re" {>= "1.7.2"} - "stdio" {< "v0.15"} + "stdio" "uuseg" {>= "10.0.0"} "uutf" {>= "1.0.1"} + "csexp" {>= "1.4.0"} "odoc" {with-doc} ] build: [ @@ -48,10 +48,10 @@ dev-repo: "git+https://github.com/ocaml-ppx/ocamlformat.git" license: ["MIT" "LGPL-2.1-only WITH OCaml-LGPL-linking-exception"] url { src: - "https://github.com/ocaml-ppx/ocamlformat/releases/download/0.20.1/ocamlformat-0.20.1.tbz" + "https://github.com/ocaml-ppx/ocamlformat/releases/download/0.24.1/ocamlformat-0.24.1.tbz" checksum: [ - "sha256=7d3a51645416fa78287344fa03af6b78450067a1a61e4790bf1b29779cd10235" - "sha512=8cc8bc9ebf822b18cf54f2f5b0b61c7bf775a1de9b984f57448dcee391627a08d43e7b15a2cfbd287f5ae16b3b9dd18c42086b59ccfbe3174184418652c4f668" + "sha256=023425e9818f80ea50537b2371a4a766c149a9957d05807e88a004d2d5f441ce" + "sha512=753b6128be68042895202f99959b360ce954db6f82b19b83b4bb346761a8e9cfdfc2b4b25e2070e60601b555562e78f9ebb02760ff127464e0b66cedbddca304" ] } -x-commit-hash: "74668925ca977e252acb084bd139b3077cf95b58" # OCamlFormat is distributed under the MIT license. Parts of the OCaml library are vendored for OCamlFormat and distributed under their original LGPL 2.1 license +x-commit-hash: "86938aa4435b251af1a3b081f7fbed90f982cf62" # OCamlFormat is distributed under the MIT license. Parts of the OCaml library are vendored for OCamlFormat and distributed under their original LGPL 2.1 license diff --git a/esy.lock/opam/odoc-parser.1.0.1/opam b/esy.lock/opam/odoc-parser.2.0.0/opam similarity index 79% rename from esy.lock/opam/odoc-parser.1.0.1/opam rename to esy.lock/opam/odoc-parser.2.0.0/opam index 6b61ea10..602b2bdf 100644 --- a/esy.lock/opam/odoc-parser.1.0.1/opam +++ b/esy.lock/opam/odoc-parser.2.0.0/opam @@ -37,11 +37,11 @@ build: [ ] url { src: - "https://github.com/ocaml-doc/odoc-parser/releases/download/1.0.1/odoc-parser-1.0.1.tbz" + "https://github.com/ocaml-doc/odoc-parser/releases/download/2.0.0/odoc-parser-2.0.0.tbz" checksum: [ - "sha256=a2bbe8e4201b60e980bab01e96e41f2ba0b05ba3f50b44f75837e8a2fb907d2c" - "sha512=c3339aae880ce72df866746d9ed9e7d38a752bf994ba24e948c086349604007e39602a1c31cf2ddb61ac8f8dc9dceccca43fe185850b83e3a02d75121f9ddfe2" + "sha256=407919fbb0eb95761d6fc6ec6777628d94aa1907343bdca678b1880bafb33922" + "sha512=d2bffa3e9f30471045682e390dcee7a2c1caf3831bca4bd57c16939e782c2e23434e6f1c9887580a1804800b3629ef4c4311a9d418fca5a939f324650d54006e" ] } -x-commit-hash: "216e3234b57bf194e65e14200e43607cc4e47da6" +x-commit-hash: "ebfd3b9489e44187da2c67d79a32b6fc1e92bda4" diff --git a/esy.lock/opam/ordering.3.5.0/opam b/esy.lock/opam/ordering.3.6.1/opam similarity index 64% rename from esy.lock/opam/ordering.3.5.0/opam rename to esy.lock/opam/ordering.3.6.1/opam index 3249d7ed..60ba3bc0 100644 --- a/esy.lock/opam/ordering.3.5.0/opam +++ b/esy.lock/opam/ordering.3.6.1/opam @@ -8,7 +8,7 @@ homepage: "https://github.com/ocaml/dune" doc: "https://dune.readthedocs.io/" bug-reports: "https://github.com/ocaml/dune/issues" depends: [ - "dune" {>= "3.3"} + "dune" {>= "3.5"} "ocaml" {>= "4.08.0"} "odoc" {with-doc} ] @@ -29,10 +29,10 @@ build: [ ] ] url { - src: "https://github.com/ocaml/dune/releases/download/3.5.0/dune-3.5.0.tbz" + src: "https://github.com/ocaml/dune/releases/download/3.6.1/dune-3.6.1.tbz" checksum: [ - "sha256=77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610" - "sha512=acaed76ab8618977118579641a1f6734ed4a225ab46494c6c5fd8e1bf9a0889e62db9adc7bd11770da602f4dd4785cef5ece4ad26512d08b64b8f3bd8954c80d" + "sha256=f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce" + "sha512=64714ab6155cd04bc33d693fc7a6d9d61aa7a278357eeff159df324e083914fcd556459a3945acacf1bbc3775f2232ab0c78006ab8a434dc58dcf95ffdffac52" ] } -x-commit-hash: "77c1e6f8f27f57fe0c04ec1624a85069b02437cf" +x-commit-hash: "7d2788fc94a071bca897aefc95f1464911870a4c" diff --git a/esy.lock/opam/sexplib0.v0.14.0/opam b/esy.lock/opam/sexplib0.v0.15.1/opam similarity index 81% rename from esy.lock/opam/sexplib0.v0.14.0/opam rename to esy.lock/opam/sexplib0.v0.15.1/opam index dcbc3758..123ccd03 100644 --- a/esy.lock/opam/sexplib0.v0.14.0/opam +++ b/esy.lock/opam/sexplib0.v0.15.1/opam @@ -10,7 +10,7 @@ build: [ ["dune" "build" "-p" name "-j" jobs] ] depends: [ - "ocaml" {>= "4.04.2" & < "5.0"} + "ocaml" {>= "4.08"} "dune" {>= "2.0.0"} ] synopsis: "Library containing the definition of S-expressions and some base converters" @@ -21,6 +21,6 @@ OCaml's standard library that was developed by Jane Street, the largest industrial user of OCaml. " url { - src: "https://ocaml.janestreet.com/ocaml-core/v0.14/files/sexplib0-v0.14.0.tar.gz" - checksum: "md5=37aff0af8f8f6f759249475684aebdc4" +src: "https://github.com/janestreet/sexplib0/archive/refs/tags/v0.15.1.tar.gz" +checksum: "md5=ab8fd6273f35a792cad48cbb3024a7f9" } diff --git a/esy.lock/opam/stdio.v0.14.0/opam b/esy.lock/opam/stdio.v0.15.0/opam similarity index 74% rename from esy.lock/opam/stdio.v0.14.0/opam rename to esy.lock/opam/stdio.v0.15.0/opam index cbe4a1e6..39dcaeed 100644 --- a/esy.lock/opam/stdio.v0.14.0/opam +++ b/esy.lock/opam/stdio.v0.15.0/opam @@ -10,8 +10,8 @@ build: [ ["dune" "build" "-p" name "-j" jobs] ] depends: [ - "ocaml" {>= "4.04.2"} - "base" {>= "v0.14" & < "v0.15"} + "ocaml" {>= "4.08.0"} + "base" {>= "v0.15" & < "v0.16"} "dune" {>= "2.0.0"} ] synopsis: "Standard IO library for OCaml" @@ -22,6 +22,6 @@ It re-exports the input/output functions of the OCaml standard libraries using a more consistent API. " url { - src: "https://ocaml.janestreet.com/ocaml-core/v0.14/files/stdio-v0.14.0.tar.gz" - checksum: "md5=4cbdf15f0be88c3258aaeff9e04e00e9" +src: "https://ocaml.janestreet.com/ocaml-core/v0.15/files/stdio-v0.15.0.tar.gz" +checksum: "sha256=c37292921dc6a88425f773eba6bdbeac1dedacd1f55917fa4bcd9c4b25795e4b" } diff --git a/esy.lock/opam/stdune.3.5.0/opam b/esy.lock/opam/stdune.3.6.1/opam similarity index 69% rename from esy.lock/opam/stdune.3.5.0/opam rename to esy.lock/opam/stdune.3.6.1/opam index 21a63ded..5a9f46cb 100644 --- a/esy.lock/opam/stdune.3.5.0/opam +++ b/esy.lock/opam/stdune.3.6.1/opam @@ -9,7 +9,7 @@ homepage: "https://github.com/ocaml/dune" doc: "https://dune.readthedocs.io/" bug-reports: "https://github.com/ocaml/dune/issues" depends: [ - "dune" {>= "3.3"} + "dune" {>= "3.5"} "ocaml" {>= "4.08.0"} "base-unix" "dyn" {= version} @@ -35,10 +35,10 @@ build: [ ] ] url { - src: "https://github.com/ocaml/dune/releases/download/3.5.0/dune-3.5.0.tbz" + src: "https://github.com/ocaml/dune/releases/download/3.6.1/dune-3.6.1.tbz" checksum: [ - "sha256=77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610" - "sha512=acaed76ab8618977118579641a1f6734ed4a225ab46494c6c5fd8e1bf9a0889e62db9adc7bd11770da602f4dd4785cef5ece4ad26512d08b64b8f3bd8954c80d" + "sha256=f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce" + "sha512=64714ab6155cd04bc33d693fc7a6d9d61aa7a278357eeff159df324e083914fcd556459a3945acacf1bbc3775f2232ab0c78006ab8a434dc58dcf95ffdffac52" ] } -x-commit-hash: "77c1e6f8f27f57fe0c04ec1624a85069b02437cf" +x-commit-hash: "7d2788fc94a071bca897aefc95f1464911870a4c" diff --git a/esy.lock/opam/topkg.1.0.5/opam b/esy.lock/opam/topkg.1.0.6/opam similarity index 66% rename from esy.lock/opam/topkg.1.0.5/opam rename to esy.lock/opam/topkg.1.0.6/opam index 3b2f63a0..d8c8d661 100644 --- a/esy.lock/opam/topkg.1.0.5/opam +++ b/esy.lock/opam/topkg.1.0.6/opam @@ -1,22 +1,6 @@ opam-version: "2.0" -synopsis: """The transitory OCaml software packager""" -maintainer: ["Daniel Bünzli "] -authors: ["The topkg programmers"] -homepage: "https://erratique.ch/software/topkg" -doc: "https://erratique.ch/software/topkg/doc" -dev-repo: "git+https://erratique.ch/repos/topkg.git" -bug-reports: "https://github.com/dbuenzli/topkg/issues" -license: ["ISC"] -tags: ["packaging" "ocamlbuild" "org:erratique"] -depends: ["ocaml" {>= "4.05.0"} - "ocamlfind" {build & >= "1.6.1"} - "ocamlbuild"] -build: [["ocaml" "pkg/pkg.ml" "build" "--pkg-name" name - "--dev-pkg" "%{dev}%"]] -url { - src: "https://erratique.ch/software/topkg/releases/topkg-1.0.5.tbz" - checksum: "sha512=9450e9139209aacd8ddb4ba18e4225770837e526a52a56d94fd5c9c4c9941e83e0e7102e2292b440104f4c338fabab47cdd6bb51d69b41cc92cc7a551e6fefab"} -description: """ +synopsis: "The transitory OCaml software packager" +description: """\ Topkg is a packager for distributing OCaml software. It provides an API to describe the files a package installs in a given build configuration and to specify information about the package's @@ -41,4 +25,23 @@ Topkg-care is distributed under the ISC license it depends on [cmdliner]: http://erratique.ch/software/cmdliner [webbrowser]: http://erratique.ch/software/webbrowser -Home page: http://erratique.ch/software/topkg""" \ No newline at end of file +Home page: http://erratique.ch/software/topkg""" +maintainer: "Daniel Bünzli " +authors: "The topkg programmers" +license: "ISC" +tags: ["packaging" "ocamlbuild" "org:erratique"] +homepage: "https://erratique.ch/software/topkg" +doc: "https://erratique.ch/software/topkg/doc" +bug-reports: "https://github.com/dbuenzli/topkg/issues" +depends: [ + "ocaml" {>= "4.05.0"} + "ocamlfind" {build & >= "1.6.1"} + "ocamlbuild" +] +build: ["ocaml" "pkg/pkg.ml" "build" "--pkg-name" name "--dev-pkg" "%{dev}%"] +dev-repo: "git+https://erratique.ch/repos/topkg.git" +url { + src: "https://erratique.ch/software/topkg/releases/topkg-1.0.6.tbz" + checksum: + "sha512=8e34391e2f499cec332b79454a4edb36a35db6fe22437f017fd5c80ae065160dc967ac02d894a94d08d62dd476521e63733f4cadc3b9b6b314b6aa5b2b4ede78" +} \ No newline at end of file diff --git a/esy.lock/opam/xdg.3.5.0/opam b/esy.lock/opam/xdg.3.6.1/opam similarity index 66% rename from esy.lock/opam/xdg.3.5.0/opam rename to esy.lock/opam/xdg.3.6.1/opam index fc3b0d9a..0b4f72ea 100644 --- a/esy.lock/opam/xdg.3.5.0/opam +++ b/esy.lock/opam/xdg.3.6.1/opam @@ -9,7 +9,7 @@ homepage: "https://github.com/ocaml/dune" doc: "https://dune.readthedocs.io/" bug-reports: "https://github.com/ocaml/dune/issues" depends: [ - "dune" {>= "3.3"} + "dune" {>= "3.5"} "ocaml" {>= "4.08"} "odoc" {with-doc} ] @@ -30,10 +30,10 @@ build: [ ] ] url { - src: "https://github.com/ocaml/dune/releases/download/3.5.0/dune-3.5.0.tbz" + src: "https://github.com/ocaml/dune/releases/download/3.6.1/dune-3.6.1.tbz" checksum: [ - "sha256=77bd4c6704359fae1969636cfc3cd7a517ba3604819ef89c919c0762b5093610" - "sha512=acaed76ab8618977118579641a1f6734ed4a225ab46494c6c5fd8e1bf9a0889e62db9adc7bd11770da602f4dd4785cef5ece4ad26512d08b64b8f3bd8954c80d" + "sha256=f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce" + "sha512=64714ab6155cd04bc33d693fc7a6d9d61aa7a278357eeff159df324e083914fcd556459a3945acacf1bbc3775f2232ab0c78006ab8a434dc58dcf95ffdffac52" ] } -x-commit-hash: "77c1e6f8f27f57fe0c04ec1624a85069b02437cf" +x-commit-hash: "7d2788fc94a071bca897aefc95f1464911870a4c" diff --git a/esy.lock/overrides/opam__s__js__of__ocaml_compiler_opam__c__4.0.0_opam_override/package.json b/esy.lock/overrides/opam__s__js__of__ocaml_compiler_opam__c__4.0.0_opam_override/package.json deleted file mode 100644 index f6989c4a..00000000 --- a/esy.lock/overrides/opam__s__js__of__ocaml_compiler_opam__c__4.0.0_opam_override/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "build": "dune build -p js_of_ocaml-compiler" -} diff --git a/package.json b/package.json index 50936f9f..44931285 100644 --- a/package.json +++ b/package.json @@ -6,14 +6,14 @@ "license": "Apache-2.0", "dependencies": { "ocaml": ">= 4.12.0", - "@grain/libbinaryen": ">= 109.0.0 < 110.0.0", - "@opam/dune": ">= 2.9.1", - "@opam/dune-configurator": ">= 2.9.1" + "@grain/libbinaryen": ">= 110.0.0 < 111.0.0", + "@opam/dune": ">= 3.0.0", + "@opam/dune-configurator": ">= 3.0.0" }, "devDependencies": { - "@opam/js_of_ocaml-compiler": ">= 3.10.0", - "@opam/ocamlformat": "0.20.1", - "@opam/ocaml-lsp-server": "^1.9.1" + "@opam/js_of_ocaml-compiler": ">= 4.1.0 < 5.0.0", + "@opam/ocamlformat": "0.24.1", + "@opam/ocaml-lsp-server": ">= 1.9.1 < 1.13.0" }, "resolutions": { "@opam/ocp-indent": "1.7.0" @@ -22,7 +22,7 @@ "build": "dune build -p binaryen" }, "scripts": { - "test": "esy b dune runtest", + "test": "esy b dune runtest --display=short", "format": "dune build @fmt --auto-promote" }, "installConfig": { diff --git a/src/binaryen_stubs_expressions.c b/src/binaryen_stubs_expressions.c index d687d694..cc9b9da9 100644 --- a/src/binaryen_stubs_expressions.c +++ b/src/binaryen_stubs_expressions.c @@ -224,9 +224,9 @@ caml_binaryen_global_set(value _module, value _name, value _val) { } CAMLprim value -caml_binaryen_load(value _module, value _bytes, value _signed_, value _offset, value _align, value _ty, value _ptr) { +caml_binaryen_load(value _module, value _bytes, value _signed_, value _offset, value _align, value _ty, value _ptr, value _memoryName) { CAMLparam5(_module, _bytes, _signed_, _offset, _align); - CAMLxparam2(_ty, _ptr); + CAMLxparam3(_ty, _ptr, _memoryName); BinaryenModuleRef module = BinaryenModuleRef_val(_module); int bytes = Int_val(_bytes); int8_t signed_ = Bool_val(_signed_); @@ -234,18 +234,19 @@ caml_binaryen_load(value _module, value _bytes, value _signed_, value _offset, v int align = Int_val(_align); BinaryenType ty = BinaryenType_val(_ty); BinaryenExpressionRef ptr = BinaryenExpressionRef_val(_ptr); - BinaryenExpressionRef exp = BinaryenLoad(module, bytes, signed_, offset, align, ty, ptr); + char* memoryName = Safe_String_val(_memoryName); + BinaryenExpressionRef exp = BinaryenLoad(module, bytes, signed_, offset, align, ty, ptr, memoryName); CAMLreturn(alloc_BinaryenExpressionRef(exp)); } CAMLprim value caml_binaryen_load__bytecode(value * argv) { - return caml_binaryen_load(argv[0], argv[1], argv[2], argv[3], argv[4], argv[5], argv[6]); + return caml_binaryen_load(argv[0], argv[1], argv[2], argv[3], argv[4], argv[5], argv[6], argv[7]); } CAMLprim value -caml_binaryen_store(value _module, value _bytes, value _offset, value _align, value _ptr, value _val, value _ty) { +caml_binaryen_store(value _module, value _bytes, value _offset, value _align, value _ptr, value _val, value _ty, value _memoryName) { CAMLparam5(_module, _bytes, _offset, _align, _ptr); - CAMLxparam2(_val, _ty); + CAMLxparam3(_val, _ty, _memoryName); BinaryenModuleRef module = BinaryenModuleRef_val(_module); int bytes = Int_val(_bytes); int offset = Int_val(_offset); @@ -253,12 +254,13 @@ caml_binaryen_store(value _module, value _bytes, value _offset, value _align, va BinaryenExpressionRef ptr = BinaryenExpressionRef_val(_ptr); BinaryenExpressionRef val = BinaryenExpressionRef_val(_val); BinaryenType ty = BinaryenType_val(_ty); - BinaryenExpressionRef exp = BinaryenStore(module, bytes, offset, align, ptr, val, ty); + char* memoryName = Safe_String_val(_memoryName); + BinaryenExpressionRef exp = BinaryenStore(module, bytes, offset, align, ptr, val, ty, memoryName); CAMLreturn(alloc_BinaryenExpressionRef(exp)); } CAMLprim value caml_binaryen_store__bytecode(value * argv) { - return caml_binaryen_store(argv[0], argv[1], argv[2], argv[3], argv[4], argv[5], argv[6]); + return caml_binaryen_store(argv[0], argv[1], argv[2], argv[3], argv[4], argv[5], argv[6], argv[7]); } CAMLprim value @@ -322,19 +324,23 @@ caml_binaryen_return(value _module, value _p1) { } CAMLprim value -caml_binaryen_memory_size(value _module) { - CAMLparam1(_module); +caml_binaryen_memory_size(value _module, value _memoryName, value _memoryIs64) { + CAMLparam3(_module, _memoryName, _memoryIs64); BinaryenModuleRef module = BinaryenModuleRef_val(_module); - BinaryenExpressionRef exp = BinaryenMemorySize(module); + char* memoryName = Safe_String_val(_memoryName); + bool memoryIs64 = Bool_val(_memoryIs64); + BinaryenExpressionRef exp = BinaryenMemorySize(module, memoryName, memoryIs64); CAMLreturn(alloc_BinaryenExpressionRef(exp)); } CAMLprim value -caml_binaryen_memory_grow(value _module, value _p1) { - CAMLparam2(_module, _p1); +caml_binaryen_memory_grow(value _module, value _delta, value _memoryName, value _memoryIs64) { + CAMLparam4(_module, _delta, _memoryName, _memoryIs64); BinaryenModuleRef module = BinaryenModuleRef_val(_module); - BinaryenExpressionRef p1 = BinaryenExpressionRef_val(_p1); - BinaryenExpressionRef exp = BinaryenMemoryGrow(module, p1); + BinaryenExpressionRef delta = BinaryenExpressionRef_val(_delta); + char* memoryName = Safe_String_val(_memoryName); + bool memoryIs64 = Bool_val(_memoryIs64); + BinaryenExpressionRef exp = BinaryenMemoryGrow(module, delta, memoryName, memoryIs64); CAMLreturn(alloc_BinaryenExpressionRef(exp)); } @@ -355,16 +361,22 @@ caml_binaryen_unreachable(value _module) { } CAMLprim value -caml_binaryen_memory_init(value _module, value _segment, value _dest, value _offset, value _size) { +caml_binaryen_memory_init(value _module, value _segment, value _dest, value _offset, value _size, value _memoryName) { CAMLparam5(_module, _segment, _dest, _offset, _size); + CAMLxparam1(_memoryName); BinaryenModuleRef module = BinaryenModuleRef_val(_module); uint32_t segment = Int_val(_segment); BinaryenExpressionRef dest = BinaryenExpressionRef_val(_dest); BinaryenExpressionRef offset = BinaryenExpressionRef_val(_offset); BinaryenExpressionRef size = BinaryenExpressionRef_val(_size); - BinaryenExpressionRef exp = BinaryenMemoryInit(module, segment, dest, offset, size); + char* memoryName = Safe_String_val(_memoryName); + BinaryenExpressionRef exp = BinaryenMemoryInit(module, segment, dest, offset, size, memoryName); CAMLreturn(alloc_BinaryenExpressionRef(exp)); } +CAMLprim value +caml_binaryen_memory_init__bytecode(value * argv) { + return caml_binaryen_memory_init(argv[0], argv[1], argv[2], argv[3], argv[4], argv[5]); +} CAMLprim value caml_binaryen_data_drop(value _module, value _segment) { @@ -376,24 +388,32 @@ caml_binaryen_data_drop(value _module, value _segment) { } CAMLprim value -caml_binaryen_memory_copy(value _module, value _dest, value _source, value _size) { - CAMLparam4(_module, _dest, _source, _size); +caml_binaryen_memory_copy(value _module, value _dest, value _source, value _size, value _destMemory, value _sourceMemory) { + CAMLparam5(_module, _dest, _source, _size, _destMemory); + CAMLxparam1(_sourceMemory); BinaryenModuleRef module = BinaryenModuleRef_val(_module); BinaryenExpressionRef dest = BinaryenExpressionRef_val(_dest); BinaryenExpressionRef source = BinaryenExpressionRef_val(_source); BinaryenExpressionRef size = BinaryenExpressionRef_val(_size); - BinaryenExpressionRef exp = BinaryenMemoryCopy(module, dest, source, size); + char* destMemory = Safe_String_val(_destMemory); + char* sourceMemory = Safe_String_val(_sourceMemory); + BinaryenExpressionRef exp = BinaryenMemoryCopy(module, dest, source, size, destMemory, sourceMemory); CAMLreturn(alloc_BinaryenExpressionRef(exp)); } +CAMLprim value +caml_binaryen_memory_copy__bytecode(value * argv) { + return caml_binaryen_memory_copy(argv[0], argv[1], argv[2], argv[3], argv[4], argv[5]); +} CAMLprim value -caml_binaryen_memory_fill(value _module, value _dest, value _val, value _size) { - CAMLparam4(_module, _dest, _val, _size); +caml_binaryen_memory_fill(value _module, value _dest, value _val, value _size, value _memoryName) { + CAMLparam5(_module, _dest, _val, _size, _memoryName); BinaryenModuleRef module = BinaryenModuleRef_val(_module); BinaryenExpressionRef dest = BinaryenExpressionRef_val(_dest); BinaryenExpressionRef val = BinaryenExpressionRef_val(_val); BinaryenExpressionRef size = BinaryenExpressionRef_val(_size); - BinaryenExpressionRef exp = BinaryenMemoryFill(module, dest, val, size); + char* memoryName = Safe_String_val(_memoryName); + BinaryenExpressionRef exp = BinaryenMemoryFill(module, dest, val, size, memoryName); CAMLreturn(alloc_BinaryenExpressionRef(exp)); } @@ -717,16 +737,6 @@ caml_binaryen_expression_id_br_on(value unit) { CAMLreturn(Val_int(BinaryenBrOnId())); } CAMLprim value -caml_binaryen_expression_id_rtt_canon(value unit) { - CAMLparam1(unit); - CAMLreturn(Val_int(BinaryenRttCanonId())); -} -CAMLprim value -caml_binaryen_expression_id_rtt_sub(value unit) { - CAMLparam1(unit); - CAMLreturn(Val_int(BinaryenRttSubId())); -} -CAMLprim value caml_binaryen_expression_id_struct_new(value unit) { CAMLparam1(unit); CAMLreturn(Val_int(BinaryenStructNewId())); diff --git a/src/binaryen_stubs_expressions.js b/src/binaryen_stubs_expressions.js index b8389691..93be0c36 100644 --- a/src/binaryen_stubs_expressions.js +++ b/src/binaryen_stubs_expressions.js @@ -173,16 +173,88 @@ function caml_binaryen_global_set(wasm_mod, name, value) { //Provides: caml_binaryen_load //Requires: Binaryen -function caml_binaryen_load(wasm_mod, bytes, signed, offset, align, typ, ptr) { - return Binaryen._BinaryenLoad( - wasm_mod, - bytes, - signed, - offset, - align, - typ, - ptr - ); +//Requires: caml_jsstring_of_string +//Requires: caml_failwith +function caml_binaryen_load( + wasm_mod, + bytes, + signed, + offset, + align, + typ, + ptr, + memoryName +) { + var name = caml_jsstring_of_string(memoryName); + + switch (typ) { + case Binaryen.i32: { + if (signed) { + if (bytes === 4) { + return wasm_mod.i32.load(offset, align, ptr, name); + } + + if (bytes === 1) { + return wasm_mod.i32.load8_s(offset, align, ptr, name); + } + + if (bytes === 2) { + return wasm_mod.i32.load16_s(offset, align, ptr, name); + } + } else { + if (bytes === 1) { + return wasm_mod.i32.load8_u(offset, align, ptr, name); + } + + if (bytes === 2) { + return wasm_mod.i32.load16_u(offset, align, ptr, name); + } + } + } + case Binaryen.i64: { + if (signed) { + if (bytes === 8) { + return wasm_mod.i64.load(offset, align, ptr, name); + } + + if (bytes === 1) { + return wasm_mod.i64.load8_s(offset, align, ptr, name); + } + + if (bytes === 2) { + return wasm_mod.i64.load16_s(offset, align, ptr, name); + } + + if (bytes === 4) { + return wasm_mod.i64.load32_s(offset, align, ptr, name); + } + } else { + if (bytes === 1) { + return wasm_mod.i64.load8_u(offset, align, ptr, name); + } + + if (bytes === 2) { + return wasm_mod.i64.load16_u(offset, align, ptr, name); + } + + if (bytes === 4) { + return wasm_mod.i64.load32_u(offset, align, ptr, name); + } + } + } + case Binaryen.f32: { + return wasm_mod.f32.load(offset, align, ptr, name); + } + case Binaryen.f64: { + return wasm_mod.f64.load(offset, align, ptr, name); + } + case Binaryen.v128: { + return wasm_mod.v128.load(offset, align, ptr, name); + } + default: { + caml_failwith("Invalid arguments to BinaryenLoad"); + } + } } //Provides: caml_binaryen_load__bytecode //Requires: caml_binaryen_load @@ -194,22 +266,71 @@ function caml_binaryen_load__bytecode() { arguments[3], arguments[4], arguments[5], - arguments[6] + arguments[6], + arguments[7] ); } //Provides: caml_binaryen_store //Requires: Binaryen -function caml_binaryen_store(wasm_mod, bytes, offset, align, ptr, value, typ) { - return Binaryen._BinaryenStore( - wasm_mod, - bytes, - offset, - align, - ptr, - value, - typ - ); +//Requires: caml_jsstring_of_string +//Requires: caml_failwith +function caml_binaryen_store( + wasm_mod, + bytes, + offset, + align, + ptr, + value, + typ, + memoryName +) { + var name = caml_jsstring_of_string(memoryName); + + switch (typ) { + case Binaryen.i32: { + if (bytes === 4) { + return wasm_mod.i32.store(offset, align, ptr, value, name); + } + + if (bytes === 1) { + return wasm_mod.i32.store8(offset, align, ptr, value, name); + } + + if (bytes === 2) { + return wasm_mod.i32.store16(offset, align, ptr, value, name); + } + } + case Binaryen.i64: { + if (bytes === 8) { + return wasm_mod.i64.store(offset, align, ptr, value, name); + } + + if (bytes === 1) { + return wasm_mod.i64.store8(offset, align, ptr, value, name); + } + + if (bytes === 2) { + return wasm_mod.i64.store16(offset, align, ptr, value, name); + } + + if (bytes === 4) { + return wasm_mod.i64.store32(offset, align, ptr, value, name); + } + } + case Binaryen.f32: { + return wasm_mod.f32.store(offset, align, ptr, value, name); + } + case Binaryen.f64: { + return wasm_mod.f64.store(offset, align, ptr, value, name); + } + case Binaryen.v128: { + return wasm_mod.v128.store(offset, align, ptr, value, name); + } + default: { + caml_failwith("Invalid arguments to BinaryenStore"); + } + } } //Provides: caml_binaryen_store__bytecode //Requires: caml_binaryen_store @@ -221,7 +342,8 @@ function caml_binaryen_store__bytecode() { arguments[3], arguments[4], arguments[5], - arguments[6] + arguments[6], + arguments[7] ); } @@ -286,13 +408,22 @@ function caml_binaryen_return(wasm_mod, value) { } //Provides: caml_binaryen_memory_size -function caml_binaryen_memory_size(wasm_mod) { - return wasm_mod.memory.size(); +//Requires: caml_jsstring_of_string, caml_js_from_bool +function caml_binaryen_memory_size(wasm_mod, memoryName, memoryIs64) { + return wasm_mod.memory.size( + caml_jsstring_of_string(memoryName), + caml_js_from_bool(memoryIs64) + ); } //Provides: caml_binaryen_memory_grow -function caml_binaryen_memory_grow(wasm_mod, value) { - return wasm_mod.memory.grow(value); +//Requires: caml_jsstring_of_string, caml_js_from_bool +function caml_binaryen_memory_grow(wasm_mod, value, memoryName, memoryIs64) { + return wasm_mod.memory.grow( + value, + caml_jsstring_of_string(memoryName), + caml_js_from_bool(memoryIs64) + ); } //Provides: caml_binaryen_nop @@ -306,8 +437,34 @@ function caml_binaryen_unreachable(wasm_mod) { } //Provides: caml_binaryen_memory_init -function caml_binaryen_memory_init(wasm_mod, segment, dest, offset, size) { - return wasm_mod.memory.init(segment, dest, offset, size); +//Requires: caml_jsstring_of_string +function caml_binaryen_memory_init( + wasm_mod, + segment, + dest, + offset, + size, + memoryName +) { + return wasm_mod.memory.init( + segment, + dest, + offset, + size, + caml_jsstring_of_string(memoryName) + ); +} +//Provides: caml_binaryen_memory_init__bytecode +//Requires: caml_binaryen_memory_init +function caml_binaryen_memory_init__bytecode() { + return caml_binaryen_memory_init( + arguments[0], + arguments[1], + arguments[2], + arguments[3], + arguments[4], + arguments[5] + ); } //Provides: caml_binaryen_data_drop @@ -316,13 +473,45 @@ function caml_binaryen_data_drop(wasm_mod, segment) { } //Provides: caml_binaryen_memory_copy -function caml_binaryen_memory_copy(wasm_mod, dest, source, size) { - return wasm_mod.memory.copy(dest, source, size); +//Requires: caml_jsstring_of_string +function caml_binaryen_memory_copy( + wasm_mod, + dest, + source, + size, + dest_memory, + source_memory +) { + return wasm_mod.memory.copy( + dest, + source, + size, + caml_jsstring_of_string(dest_memory), + caml_jsstring_of_string(source_memory) + ); +} +//Provides: caml_binaryen_memory_copy__bytecode +//Requires: caml_binaryen_memory_copy +function caml_binaryen_memory_copy__bytecode() { + return caml_binaryen_memory_copy( + arguments[0], + arguments[1], + arguments[2], + arguments[3], + arguments[4], + arguments[5] + ); } //Provides: caml_binaryen_memory_fill -function caml_binaryen_memory_fill(wasm_mod, dest, value, size) { - return wasm_mod.memory.fill(dest, value, size); +//Requires: caml_jsstring_of_string +function caml_binaryen_memory_fill(wasm_mod, dest, value, size, memoryName) { + return wasm_mod.memory.fill( + dest, + value, + size, + caml_jsstring_of_string(memoryName) + ); } //Provides: caml_binaryen_tuple_make @@ -628,16 +817,6 @@ function caml_binaryen_expression_id_ref_cast() { function caml_binaryen_expression_id_br_on() { return Binaryen.BrOnId; } -//Provides: caml_binaryen_expression_id_rtt_canon -//Requires: Binaryen -function caml_binaryen_expression_id_rtt_canon() { - return Binaryen.RttCanonId; -} -//Provides: caml_binaryen_expression_id_rtt_sub -//Requires: Binaryen -function caml_binaryen_expression_id_rtt_sub() { - return Binaryen.RttSubId; -} //Provides: caml_binaryen_expression_id_struct_new //Requires: Binaryen function caml_binaryen_expression_id_struct_new() { diff --git a/src/binaryen_stubs_features.c b/src/binaryen_stubs_features.c index 77a99b56..8e93b83e 100644 --- a/src/binaryen_stubs_features.c +++ b/src/binaryen_stubs_features.c @@ -119,6 +119,12 @@ caml_binaryen_feature_extended_const(value unit) { CAMLreturn(Val_int(BinaryenFeatureExtendedConst())); } +CAMLprim value +caml_binaryen_feature_strings(value unit) { + CAMLparam1(unit); + CAMLreturn(Val_int(BinaryenFeatureStrings())); +} + CAMLprim value caml_binaryen_feature_all(value unit) { CAMLparam1(unit); diff --git a/src/binaryen_stubs_features.js b/src/binaryen_stubs_features.js index 22521536..4d7d5beb 100644 --- a/src/binaryen_stubs_features.js +++ b/src/binaryen_stubs_features.js @@ -104,6 +104,12 @@ function caml_binaryen_feature_extended_const() { return Binaryen.Features.ExtendedConst; } +//Provides: caml_binaryen_feature_strings +//Requires: Binaryen +function caml_binaryen_feature_strings() { + return Binaryen.Features.Strings; +} + //Provides: caml_binaryen_feature_all //Requires: Binaryen function caml_binaryen_feature_all() { diff --git a/src/binaryen_stubs_heap_types.c b/src/binaryen_stubs_heap_types.c new file mode 100644 index 00000000..bb30a571 --- /dev/null +++ b/src/binaryen_stubs_heap_types.c @@ -0,0 +1,95 @@ +#define CAML_NAME_SPACE +#include +#include +#include + +#include "binaryen-c.h" +#include "ocaml_helpers.h" + + +/* Allocating an OCaml custom block to hold the given BinaryenHeapType */ +static value alloc_BinaryenHeapType(BinaryenHeapType typ) +{ + value v = caml_alloc_custom(&binaryen_ops, sizeof(BinaryenHeapType), 0, 1); + BinaryenHeapType_val(v) = typ; + return v; +} + + +CAMLprim value +caml_binaryen_heap_type_ext(value unit) { + CAMLparam1(unit); + BinaryenHeapType ty = BinaryenHeapTypeExt(); + CAMLreturn(alloc_BinaryenHeapType(ty)); +} + +CAMLprim value +caml_binaryen_heap_type_func(value unit) { + CAMLparam1(unit); + BinaryenHeapType ty = BinaryenHeapTypeFunc(); + CAMLreturn(alloc_BinaryenHeapType(ty)); +} + +CAMLprim value +caml_binaryen_heap_type_any(value unit) { + CAMLparam1(unit); + BinaryenHeapType ty = BinaryenHeapTypeAny(); + CAMLreturn(alloc_BinaryenHeapType(ty)); +} + +CAMLprim value +caml_binaryen_heap_type_eq(value unit) { + CAMLparam1(unit); + BinaryenHeapType ty = BinaryenHeapTypeEq(); + CAMLreturn(alloc_BinaryenHeapType(ty)); +} + +CAMLprim value +caml_binaryen_heap_type_i31(value unit) { + CAMLparam1(unit); + BinaryenHeapType ty = BinaryenHeapTypeI31(); + CAMLreturn(alloc_BinaryenHeapType(ty)); +} + +CAMLprim value +caml_binaryen_heap_type_data(value unit) { + CAMLparam1(unit); + BinaryenHeapType ty = BinaryenHeapTypeData(); + CAMLreturn(alloc_BinaryenHeapType(ty)); +} + +CAMLprim value +caml_binaryen_heap_type_string(value unit) { + CAMLparam1(unit); + BinaryenHeapType ty = BinaryenHeapTypeString(); + CAMLreturn(alloc_BinaryenHeapType(ty)); +} + +CAMLprim value +caml_binaryen_heap_type_stringview_wtf8(value unit) { + CAMLparam1(unit); + BinaryenHeapType ty = BinaryenHeapTypeStringviewWTF8(); + CAMLreturn(alloc_BinaryenHeapType(ty)); +} + +CAMLprim value +caml_binaryen_heap_type_stringview_wtf16(value unit) { + CAMLparam1(unit); + BinaryenHeapType ty = BinaryenHeapTypeStringviewWTF16(); + CAMLreturn(alloc_BinaryenHeapType(ty)); +} + +CAMLprim value +caml_binaryen_heap_type_stringview_iter(value unit) { + CAMLparam1(unit); + BinaryenHeapType ty = BinaryenHeapTypeStringviewIter(); + CAMLreturn(alloc_BinaryenHeapType(ty)); +} + +CAMLprim value +caml_binaryen_type_get_heap_type(value _ty) { + CAMLparam1(_ty); + BinaryenType ty = BinaryenType_val(_ty); + BinaryenHeapType heapTy = BinaryenTypeGetHeapType(ty); + CAMLreturn(alloc_BinaryenHeapType(heapTy)); +} diff --git a/src/binaryen_stubs_heap_types.js b/src/binaryen_stubs_heap_types.js new file mode 100644 index 00000000..e2c08941 --- /dev/null +++ b/src/binaryen_stubs_heap_types.js @@ -0,0 +1,65 @@ +//Provides: caml_binaryen_heap_type_ext +//Requires: Binaryen +function caml_binaryen_heap_type_ext() { + return Binaryen._BinaryenHeapTypeExt(); +} + +//Provides: caml_binaryen_heap_type_func +//Requires: Binaryen +function caml_binaryen_heap_type_func() { + return Binaryen._BinaryenHeapTypeFunc(); +} + +//Provides: caml_binaryen_heap_type_any +//Requires: Binaryen +function caml_binaryen_heap_type_any() { + return Binaryen._BinaryenHeapTypeAny(); +} + +//Provides: caml_binaryen_heap_type_eq +//Requires: Binaryen +function caml_binaryen_heap_type_eq() { + return Binaryen._BinaryenHeapTypeEq(); +} + +//Provides: caml_binaryen_heap_type_i31 +//Requires: Binaryen +function caml_binaryen_heap_type_i31() { + return Binaryen._BinaryenHeapTypeI31(); +} + +//Provides: caml_binaryen_heap_type_data +//Requires: Binaryen +function caml_binaryen_heap_type_data() { + return Binaryen._BinaryenHeapTypeData(); +} + +//Provides: caml_binaryen_heap_type_string +//Requires: Binaryen +function caml_binaryen_heap_type_string() { + return Binaryen._BinaryenHeapTypeString(); +} + +//Provides: caml_binaryen_heap_type_stringview_wtf8 +//Requires: Binaryen +function caml_binaryen_heap_type_stringview_wtf8() { + return Binaryen._BinaryenHeapTypeStringviewWTF8(); +} + +//Provides: caml_binaryen_heap_type_stringview_wtf16 +//Requires: Binaryen +function caml_binaryen_heap_type_stringview_wtf16() { + return Binaryen._BinaryenHeapTypeStringviewWTF16(); +} + +//Provides: caml_binaryen_heap_type_stringview_iter +//Requires: Binaryen +function caml_binaryen_heap_type_stringview_iter() { + return Binaryen._BinaryenHeapTypeStringviewIter(); +} + +//Provides: caml_binaryen_type_get_heap_type +//Requires: Binaryen +function caml_binaryen_type_get_heap_type(typ) { + return Binaryen._BinaryenTypeGetHeapType(typ); +} diff --git a/src/binaryen_stubs_imports.c b/src/binaryen_stubs_imports.c index bf801fb7..962043ed 100644 --- a/src/binaryen_stubs_imports.c +++ b/src/binaryen_stubs_imports.c @@ -75,10 +75,11 @@ caml_binaryen_function_import_get_module(value _fun) { } CAMLprim value -caml_binaryen_memory_import_get_module(value _module) { - CAMLparam1(_module); +caml_binaryen_memory_import_get_module(value _module, value _memoryName) { + CAMLparam2(_module, _memoryName); BinaryenModuleRef module = BinaryenModuleRef_val(_module); - CAMLreturn(caml_copy_string(BinaryenMemoryImportGetModule(module))); + char* memoryName = Safe_String_val(_memoryName); + CAMLreturn(caml_copy_string(BinaryenMemoryImportGetModule(module, memoryName))); } CAMLprim value @@ -96,10 +97,11 @@ caml_binaryen_function_import_get_base(value _fun) { } CAMLprim value -caml_binaryen_memory_import_get_base(value _module) { - CAMLparam1(_module); +caml_binaryen_memory_import_get_base(value _module, value _memoryName) { + CAMLparam2(_module, _memoryName); BinaryenModuleRef module = BinaryenModuleRef_val(_module); - CAMLreturn(caml_copy_string(BinaryenMemoryImportGetBase(module))); + char* memoryName = Safe_String_val(_memoryName); + CAMLreturn(caml_copy_string(BinaryenMemoryImportGetBase(module, memoryName))); } CAMLprim value diff --git a/src/binaryen_stubs_imports.js b/src/binaryen_stubs_imports.js index e943dd30..465dcd25 100644 --- a/src/binaryen_stubs_imports.js +++ b/src/binaryen_stubs_imports.js @@ -101,9 +101,9 @@ function caml_binaryen_function_import_get_module(func) { } //Provides: caml_binaryen_memory_import_get_module -//Requires: caml_string_of_jsstring -function caml_binaryen_memory_import_get_module(mod) { - var memory_info = mod.getMemoryInfo(); +//Requires: caml_string_of_jsstring, caml_jsstring_of_string +function caml_binaryen_memory_import_get_module(mod, memoryName) { + var memory_info = mod.getMemoryInfo(caml_jsstring_of_string(memoryName)); return caml_string_of_jsstring(memory_info.module); } @@ -124,9 +124,9 @@ function caml_binaryen_function_import_get_base(func) { } //Provides: caml_binaryen_memory_import_get_base -//Requires: caml_string_of_jsstring -function caml_binaryen_memory_import_get_base(mod) { - var memory_info = mod.getMemoryInfo(); +//Requires: caml_string_of_jsstring, caml_jsstring_of_string +function caml_binaryen_memory_import_get_base(mod, memoryName) { + var memory_info = mod.getMemoryInfo(caml_jsstring_of_string(memoryName)); return caml_string_of_jsstring(memory_info.base); } diff --git a/src/binaryen_stubs_memory.c b/src/binaryen_stubs_memory.c index 5700b1f5..21392f55 100644 --- a/src/binaryen_stubs_memory.c +++ b/src/binaryen_stubs_memory.c @@ -8,9 +8,9 @@ CAMLprim value -caml_binaryen_set_memory(value _module, value _initial, value _maximum, value _exportName, value _segments, value _segmentPassive, value _segmentOffsets, value _segmentSizes, value _shared) { +caml_binaryen_set_memory(value _module, value _initial, value _maximum, value _exportName, value _segments, value _segmentPassive, value _segmentOffsets, value _segmentSizes, value _shared, value _memoryName) { CAMLparam5(_module, _initial, _maximum, _exportName, _segments); - CAMLxparam4(_segmentPassive, _segmentOffsets, _segmentSizes, _shared); + CAMLxparam5(_segmentPassive, _segmentOffsets, _segmentSizes, _shared, _memoryName); BinaryenModuleRef module = BinaryenModuleRef_val(_module); BinaryenIndex initial = Int_val(_initial); BinaryenIndex maximum = Int_val(_maximum); @@ -40,12 +40,13 @@ caml_binaryen_set_memory(value _module, value _initial, value _maximum, value _e segmentSizes[i] = Int_val(Field(_segmentSizes, i)); } uint8_t shared = Bool_val(_shared); - BinaryenSetMemory(module, initial, maximum, exportName, segments, segmentPassive, segmentOffsets, segmentSizes, segmentsLen, shared); + char* memoryName = Safe_String_val(_memoryName); + BinaryenSetMemory(module, initial, maximum, exportName, segments, segmentPassive, segmentOffsets, segmentSizes, segmentsLen, shared, memoryName); CAMLreturn(Val_unit); } CAMLprim value caml_binaryen_set_memory__bytecode(value * argv) { - return caml_binaryen_set_memory(argv[0], argv[1], argv[2], argv[3], argv[4], argv[5], argv[6], argv[7], argv[8]); + return caml_binaryen_set_memory(argv[0], argv[1], argv[2], argv[3], argv[4], argv[5], argv[6], argv[7], argv[8], argv[9]); } CAMLprim value @@ -56,25 +57,28 @@ caml_binaryen_has_memory(value _module) { } CAMLprim value -caml_binaryen_memory_get_initial(value _module) { - CAMLparam1(_module); +caml_binaryen_memory_get_initial(value _module, value _memoryName) { + CAMLparam2(_module, _memoryName); BinaryenModuleRef module = BinaryenModuleRef_val(_module); - CAMLreturn(Val_int(BinaryenMemoryGetInitial(module))); + char* memoryName = Safe_String_val(_memoryName); + CAMLreturn(Val_int(BinaryenMemoryGetInitial(module, memoryName))); } CAMLprim value -caml_binaryen_memory_has_max(value _module) { - CAMLparam1(_module); +caml_binaryen_memory_has_max(value _module, value _memoryName) { + CAMLparam2(_module, _memoryName); BinaryenModuleRef module = BinaryenModuleRef_val(_module); - CAMLreturn(Val_bool(BinaryenMemoryHasMax(module))); + char* memoryName = Safe_String_val(_memoryName); + CAMLreturn(Val_bool(BinaryenMemoryHasMax(module, memoryName))); } CAMLprim value -caml_binaryen_memory_get_max(value _module) { - CAMLparam1(_module); +caml_binaryen_memory_get_max(value _module, value _memoryName) { + CAMLparam2(_module, _memoryName); BinaryenModuleRef module = BinaryenModuleRef_val(_module); - if (BinaryenMemoryHasMax(module)) { - CAMLreturn(Val_int(BinaryenMemoryGetMax(module))); + char* memoryName = Safe_String_val(_memoryName); + if (BinaryenMemoryHasMax(module, memoryName)) { + CAMLreturn(Val_int(BinaryenMemoryGetMax(module, memoryName))); } else { // This ensures that our return is equal to Memory.unlimited CAMLreturn(Val_int(-1)); @@ -82,8 +86,9 @@ caml_binaryen_memory_get_max(value _module) { } CAMLprim value -caml_binaryen_memory_is_shared(value _module) { - CAMLparam1(_module); +caml_binaryen_memory_is_shared(value _module, value _memoryName) { + CAMLparam2(_module, _memoryName); BinaryenModuleRef module = BinaryenModuleRef_val(_module); - CAMLreturn(Val_bool(BinaryenMemoryIsShared(module))); + char* memoryName = Safe_String_val(_memoryName); + CAMLreturn(Val_bool(BinaryenMemoryIsShared(module, memoryName))); } diff --git a/src/binaryen_stubs_memory.js b/src/binaryen_stubs_memory.js index d71690c3..c4a902eb 100644 --- a/src/binaryen_stubs_memory.js +++ b/src/binaryen_stubs_memory.js @@ -1,15 +1,26 @@ //Provides: caml_binaryen_set_memory //Requires: caml_list_to_js_array, caml_convert_bytes_to_array //Requires: caml_jsstring_of_string, caml_js_from_bool -function caml_binaryen_set_memory(wasm_mod, initial, maximum, exportName, segments, segmentPassives, segmentOffsets, segmentSizes, shared) { +function caml_binaryen_set_memory( + wasm_mod, + initial, + maximum, + exportName, + segments, + segmentPassives, + segmentOffsets, + segmentSizes, + shared, + memoryName +) { var passives = caml_list_to_js_array(segmentPassives); var offsets = caml_list_to_js_array(segmentOffsets); var segs = caml_list_to_js_array(segments).map(function (segment, idx) { return { data: caml_convert_bytes_to_array(segment), passive: caml_js_from_bool(passives[idx]), - offset: offsets[idx] - } + offset: offsets[idx], + }; }); return wasm_mod.setMemory( @@ -17,13 +28,25 @@ function caml_binaryen_set_memory(wasm_mod, initial, maximum, exportName, segmen maximum, caml_jsstring_of_string(exportName), segs, - caml_js_from_bool(shared) + caml_js_from_bool(shared), + caml_jsstring_of_string(memoryName) ); } //Provides: caml_binaryen_set_memory__bytecode //Requires: caml_binaryen_set_memory function caml_binaryen_set_memory__bytecode() { - return caml_binaryen_set_memory(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4], arguments[5], arguments[6], arguments[7], arguments[8]); + return caml_binaryen_set_memory( + arguments[0], + arguments[1], + arguments[2], + arguments[3], + arguments[4], + arguments[5], + arguments[6], + arguments[7], + arguments[8], + arguments[9] + ); } //Provides: caml_binaryen_has_memory @@ -33,15 +56,16 @@ function caml_binaryen_has_memory(mod) { } //Provides: caml_binaryen_memory_get_initial -function caml_binaryen_memory_get_initial(mod) { - var memory_info = mod.getMemoryInfo(); +//Requires: caml_jsstring_of_string +function caml_binaryen_memory_get_initial(mod, memoryName) { + var memory_info = mod.getMemoryInfo(caml_jsstring_of_string(memoryName)); return memory_info.initial; } //Provides: caml_binaryen_memory_has_max -//Requires: caml_js_to_bool -function caml_binaryen_memory_has_max(mod) { - var memory_info = mod.getMemoryInfo(); +//Requires: caml_js_to_bool, caml_jsstring_of_string +function caml_binaryen_memory_has_max(mod, memoryName) { + var memory_info = mod.getMemoryInfo(caml_jsstring_of_string(memoryName)); if (memory_info.max != null) { return caml_js_to_bool(true); } else { @@ -50,8 +74,9 @@ function caml_binaryen_memory_has_max(mod) { } //Provides: caml_binaryen_memory_get_max -function caml_binaryen_memory_get_max(mod) { - var memory_info = mod.getMemoryInfo(); +//Requires: caml_jsstring_of_string +function caml_binaryen_memory_get_max(mod, memoryName) { + var memory_info = mod.getMemoryInfo(caml_jsstring_of_string(memoryName)); if (memory_info.max != null) { return memory_info.max; } else { @@ -61,8 +86,8 @@ function caml_binaryen_memory_get_max(mod) { } //Provides: caml_binaryen_memory_is_shared -//Requires: caml_js_to_bool -function caml_binaryen_memory_is_shared(mod) { - var memory_info = mod.getMemoryInfo(); +//Requires: caml_js_to_bool, caml_jsstring_of_string +function caml_binaryen_memory_is_shared(mod, memoryName) { + var memory_info = mod.getMemoryInfo(caml_jsstring_of_string(memoryName)); return caml_js_to_bool(memory_info.shared); } diff --git a/src/binaryen_stubs_modules.c b/src/binaryen_stubs_modules.c index a0f3d166..b923a4b8 100644 --- a/src/binaryen_stubs_modules.c +++ b/src/binaryen_stubs_modules.c @@ -53,9 +53,10 @@ caml_binaryen_module_print_asmjs(value module) { } CAMLprim value -caml_binaryen_module_print_stack_ir(value module) { - CAMLparam1(module); - BinaryenModulePrintStackIR(BinaryenModuleRef_val(module)); +caml_binaryen_module_print_stack_ir(value module, value _optimize) { + CAMLparam2(module, _optimize); + bool optimize = Bool_val(_optimize); + BinaryenModulePrintStackIR(BinaryenModuleRef_val(module), optimize); CAMLreturn(Val_unit); } @@ -135,10 +136,11 @@ caml_binaryen_module_write_text(value _module) { // There is something weird with this function that causes a bunch of newlines to // be printed on stdout when calling it. Not sure if that's a bug in Binaryen. CAMLprim value -caml_binaryen_module_write_stack_ir(value _module) { - CAMLparam1(_module); +caml_binaryen_module_write_stack_ir(value _module, value _optimize) { + CAMLparam2(_module, _optimize); BinaryenModuleRef module = BinaryenModuleRef_val(_module); - char* result = BinaryenModuleAllocateAndWriteStackIR(module); + bool optimize = Bool_val(_optimize); + char* result = BinaryenModuleAllocateAndWriteStackIR(module, optimize); CAMLlocal1(text); text = caml_copy_string(result); free(result); diff --git a/src/binaryen_stubs_modules.js b/src/binaryen_stubs_modules.js index 30f98c50..09345879 100644 --- a/src/binaryen_stubs_modules.js +++ b/src/binaryen_stubs_modules.js @@ -37,10 +37,10 @@ function caml_binaryen_module_print_asmjs(wasm_mod) { } //Provides: caml_binaryen_module_print_stack_ir -//Requires: caml_string_of_jsstring +//Requires: caml_string_of_jsstring, caml_js_from_bool //Requires: caml_ml_output, caml_ml_string_length -function caml_binaryen_module_print_stack_ir(wasm_mod) { - var stackir = wasm_mod.emitStackIR() +function caml_binaryen_module_print_stack_ir(wasm_mod, optimize) { + var stackir = wasm_mod.emitStackIR(caml_js_from_bool(optimize)); var chanid = 1; // stdout var s = caml_string_of_jsstring(stackir); caml_ml_output(chanid, s, 0, caml_ml_string_length(s)); @@ -93,9 +93,9 @@ function caml_binaryen_module_write_text(wasm_mod) { } //Provides: caml_binaryen_module_write_stack_ir -//Requires: caml_string_of_jsstring -function caml_binaryen_module_write_stack_ir(wasm_mod) { - var text = wasm_mod.emitStackIR(); +//Requires: caml_string_of_jsstring, caml_js_from_bool +function caml_binaryen_module_write_stack_ir(wasm_mod, optimize) { + var text = wasm_mod.emitStackIR(caml_js_from_bool(optimize)); return caml_string_of_jsstring(text); } diff --git a/src/binaryen_stubs_packed_types.c b/src/binaryen_stubs_packed_types.c new file mode 100644 index 00000000..8ea33d64 --- /dev/null +++ b/src/binaryen_stubs_packed_types.c @@ -0,0 +1,26 @@ +#define CAML_NAME_SPACE +#include +#include +#include + +#include "binaryen-c.h" +#include "ocaml_helpers.h" + + +CAMLprim value +caml_binaryen_packed_type_not_packed(value unit) { + CAMLparam1(unit); + CAMLreturn(Val_int(BinaryenPackedTypeNotPacked())); +} + +CAMLprim value +caml_binaryen_packed_type_int8(value unit) { + CAMLparam1(unit); + CAMLreturn(Val_int(BinaryenPackedTypeInt8())); +} + +CAMLprim value +caml_binaryen_packed_type_int16(value unit) { + CAMLparam1(unit); + CAMLreturn(Val_int(BinaryenPackedTypeInt16())); +} diff --git a/src/binaryen_stubs_packed_types.js b/src/binaryen_stubs_packed_types.js new file mode 100644 index 00000000..dc88510a --- /dev/null +++ b/src/binaryen_stubs_packed_types.js @@ -0,0 +1,17 @@ +//Provides: caml_binaryen_packed_type_not_packed +//Requires: Binaryen +function caml_binaryen_packed_type_not_packed() { + return Binaryen._BinaryenPackedTypeNotPacked(); +} + +//Provides: caml_binaryen_packed_type_int8 +//Requires: Binaryen +function caml_binaryen_packed_type_int8() { + return Binaryen._BinaryenPackedTypeInt8(); +} + +//Provides: caml_binaryen_packed_type_int16 +//Requires: Binaryen +function caml_binaryen_packed_type_int16() { + return Binaryen._BinaryenPackedTypeInt16(); +} diff --git a/src/binaryen_stubs_type_system.c b/src/binaryen_stubs_type_system.c new file mode 100644 index 00000000..36f66fe8 --- /dev/null +++ b/src/binaryen_stubs_type_system.c @@ -0,0 +1,40 @@ +#define CAML_NAME_SPACE +#include +#include +#include + +#include "binaryen-c.h" +#include "ocaml_helpers.h" + + +CAMLprim value +caml_binaryen_type_system_equirecursive(value unit) { + CAMLparam1(unit); + CAMLreturn(Val_int(BinaryenTypeSystemEquirecursive())); +} + +CAMLprim value +caml_binaryen_type_system_nominal(value unit) { + CAMLparam1(unit); + CAMLreturn(Val_int(BinaryenTypeSystemNominal())); +} + +CAMLprim value +caml_binaryen_type_system_isorecursive(value unit) { + CAMLparam1(unit); + CAMLreturn(Val_int(BinaryenTypeSystemIsorecursive())); +} + +CAMLprim value +caml_binaryen_get_type_system(value unit) { + CAMLparam1(unit); + CAMLreturn(Val_int(BinaryenGetTypeSystem())); +} + +CAMLprim value +caml_binaryen_set_type_system(value _typeSystem) { + CAMLparam1(_typeSystem); + BinaryenTypeSystem typeSystem = Int_val(_typeSystem); + BinaryenSetTypeSystem(typeSystem); + CAMLreturn(Val_unit); +} diff --git a/src/binaryen_stubs_type_system.js b/src/binaryen_stubs_type_system.js new file mode 100644 index 00000000..a01d0a7e --- /dev/null +++ b/src/binaryen_stubs_type_system.js @@ -0,0 +1,29 @@ +//Provides: caml_binaryen_type_system_equirecursive +//Requires: Binaryen +function caml_binaryen_type_system_equirecursive() { + return Binaryen._BinaryenTypeSystemEquirecursive(); +} + +//Provides: caml_binaryen_type_system_nominal +//Requires: Binaryen +function caml_binaryen_type_system_nominal() { + return Binaryen._BinaryenTypeSystemNominal(); +} + +//Provides: caml_binaryen_type_system_isorecursive +//Requires: Binaryen +function caml_binaryen_type_system_isorecursive() { + return Binaryen._BinaryenTypeSystemIsorecursive(); +} + +//Provides: caml_binaryen_get_type_system +//Requires: Binaryen +function caml_binaryen_get_type_system() { + return Binaryen._BinaryenGetTypeSystem(); +} + +//Provides: caml_binaryen_set_type_system +//Requires: Binaryen +function caml_binaryen_set_type_system(typeSystem) { + Binaryen._BinaryenSetTypeSystem(typeSystem); +} diff --git a/src/binaryen_stubs_types.c b/src/binaryen_stubs_types.c index 183b963b..e841a3c1 100644 --- a/src/binaryen_stubs_types.c +++ b/src/binaryen_stubs_types.c @@ -93,6 +93,34 @@ caml_binaryen_type_dataref(value unit) { CAMLreturn(alloc_BinaryenType(ty)); } +CAMLprim value +caml_binaryen_type_stringref(value unit) { + CAMLparam1(unit); + BinaryenType ty = BinaryenTypeStringref(); + CAMLreturn(alloc_BinaryenType(ty)); +} + +CAMLprim value +caml_binaryen_type_stringview_wtf8(value unit) { + CAMLparam1(unit); + BinaryenType ty = BinaryenTypeStringviewWTF8(); + CAMLreturn(alloc_BinaryenType(ty)); +} + +CAMLprim value +caml_binaryen_type_stringview_wtf16(value unit) { + CAMLparam1(unit); + BinaryenType ty = BinaryenTypeStringviewWTF16(); + CAMLreturn(alloc_BinaryenType(ty)); +} + +CAMLprim value +caml_binaryen_type_stringview_iter(value unit) { + CAMLparam1(unit); + BinaryenType ty = BinaryenTypeStringviewIter(); + CAMLreturn(alloc_BinaryenType(ty)); +} + CAMLprim value caml_binaryen_type_unreachable(value unit) { CAMLparam1(unit); @@ -136,3 +164,19 @@ caml_binaryen_type_expand(value _ty) { CAMLreturn(typeArray); } + +CAMLprim value +caml_binaryen_type_is_nullable(value _ty) { + CAMLparam1(_ty); + BinaryenType ty = BinaryenType_val(_ty); + CAMLreturn(Val_bool(BinaryenTypeIsNullable(ty))); +} + +CAMLprim value +caml_binaryen_type_from_heap_type(value _ty, value _nullable) { + CAMLparam2(_ty, _nullable); + BinaryenHeapType heapTy = BinaryenHeapType_val(_ty); + bool nullable = Bool_val(_nullable); + BinaryenType ty = BinaryenTypeFromHeapType(heapTy, nullable); + CAMLreturn(alloc_BinaryenType(ty)); +} diff --git a/src/binaryen_stubs_types.js b/src/binaryen_stubs_types.js index a254ccb8..50e29a95 100644 --- a/src/binaryen_stubs_types.js +++ b/src/binaryen_stubs_types.js @@ -64,6 +64,30 @@ function caml_binaryen_type_dataref() { return Binaryen.dataref; } +//Provides: caml_binaryen_type_stringref +//Requires: Binaryen +function caml_binaryen_type_stringref() { + return Binaryen.stringref; +} + +//Provides: caml_binaryen_type_stringview_wtf8 +//Requires: Binaryen +function caml_binaryen_type_stringview_wtf8() { + return Binaryen.stringview_wtf8; +} + +//Provides: caml_binaryen_type_stringview_wtf16 +//Requires: Binaryen +function caml_binaryen_type_stringview_wtf16() { + return Binaryen.stringview_wtf16; +} + +//Provides: caml_binaryen_type_stringview_iter +//Requires: Binaryen +function caml_binaryen_type_stringview_iter() { + return Binaryen.stringview_iter; +} + //Provides: caml_binaryen_type_unreachable //Requires: Binaryen function caml_binaryen_type_unreachable() { @@ -89,3 +113,15 @@ function caml_binaryen_type_create(typs) { function caml_binaryen_type_expand(typ) { return caml_js_to_array(Binaryen.expandType(typ)); } + +//Provides: caml_binaryen_type_is_nullable +//Requires: Binaryen +function caml_binaryen_type_is_nullable(typ) { + return Binaryen._BinaryenTypeIsNullable(typ); +} + +//Provides: caml_binaryen_type_from_heap_type +//Requires: Binaryen +function caml_binaryen_type_from_heap_type(typ, nullable) { + return Binaryen._BinaryenTypeFromHeapType(typ, nullable); +} diff --git a/src/dune b/src/dune index 2ba2d360..645f92df 100644 --- a/src/dune +++ b/src/dune @@ -4,17 +4,40 @@ (libraries libbinaryen.c) (foreign_stubs (language c) - (names binaryen_stubs_types binaryen_stubs_ops binaryen_stubs_literals - binaryen_stubs_expressions binaryen_stubs_functions - binaryen_stubs_imports binaryen_stubs_exports binaryen_stubs_globals - binaryen_stubs_tables binaryen_stubs_memory binaryen_stubs_features - binaryen_stubs_modules binaryen_stubs_settings ocaml_helpers) + (names + binaryen_stubs_types + binaryen_stubs_ops + binaryen_stubs_literals + binaryen_stubs_expressions + binaryen_stubs_functions + binaryen_stubs_imports + binaryen_stubs_exports + binaryen_stubs_globals + binaryen_stubs_tables + binaryen_stubs_memory + binaryen_stubs_features + binaryen_stubs_modules + binaryen_stubs_settings + binaryen_stubs_packed_types + binaryen_stubs_heap_types + binaryen_stubs_type_system + ocaml_helpers) (flags :standard -O2 -Wall -Wextra)) (js_of_ocaml - (javascript_files binaryen_stubs_types.js binaryen_stubs_ops.js - binaryen_stubs_literals.js binaryen_stubs_expressions.js - binaryen_stubs_functions.js binaryen_stubs_imports.js - binaryen_stubs_exports.js binaryen_stubs_globals.js - binaryen_stubs_tables.js binaryen_stubs_memory.js - binaryen_stubs_features.js binaryen_stubs_modules.js - binaryen_stubs_settings.js))) + (javascript_files + binaryen_stubs_types.js + binaryen_stubs_ops.js + binaryen_stubs_literals.js + binaryen_stubs_expressions.js + binaryen_stubs_functions.js + binaryen_stubs_imports.js + binaryen_stubs_exports.js + binaryen_stubs_globals.js + binaryen_stubs_tables.js + binaryen_stubs_memory.js + binaryen_stubs_features.js + binaryen_stubs_modules.js + binaryen_stubs_settings.js + binaryen_stubs_packed_types.js + binaryen_stubs_heap_types.js + binaryen_stubs_type_system.js))) diff --git a/src/expression.ml b/src/expression.ml index 8822c80f..9fb08d4e 100644 --- a/src/expression.ml +++ b/src/expression.ml @@ -57,8 +57,6 @@ type kind = | RefTest | RefCast | BrOn - | RttCanon - | RttSub | StructNew | StructGet | StructSet @@ -310,14 +308,6 @@ external id_br_on : unit -> int = "caml_binaryen_expression_id_br_on" let id_br_on = id_br_on () -external id_rtt_canon : unit -> int = "caml_binaryen_expression_id_rtt_canon" - -let id_rtt_canon = id_rtt_canon () - -external id_rtt_sub : unit -> int = "caml_binaryen_expression_id_rtt_sub" - -let id_rtt_sub = id_rtt_sub () - external id_struct_new : unit -> int = "caml_binaryen_expression_id_struct_new" let id_struct_new = id_struct_new () @@ -409,8 +399,6 @@ let get_kind expr = | n when n = id_ref_test -> RefTest | n when n = id_ref_cast -> RefCast | n when n = id_br_on -> BrOn - | n when n = id_rtt_canon -> RttCanon - | n when n = id_rtt_sub -> RttSub | n when n = id_struct_new -> StructNew | n when n = id_struct_get -> StructGet | n when n = id_struct_set -> StructSet @@ -630,10 +618,11 @@ module Global_set = struct end module Load = struct - external make : Module.t -> int -> bool -> int -> int -> Type.t -> t -> t + external make : + Module.t -> int -> bool -> int -> int -> Type.t -> t -> string -> t = "caml_binaryen_load__bytecode" "caml_binaryen_load" - (** Module, num_bytes, ?signed, offset, align, type, ptr. *) + (** Module, num_bytes, ?signed, offset, align, type, ptr, memory_name *) let make wasm_mod bytes ?(signed = false) offset align ty ptr = make wasm_mod bytes signed offset align ty ptr @@ -642,9 +631,10 @@ module Load = struct end module Store = struct - external make : Module.t -> int -> int -> int -> t -> t -> Type.t -> t + external make : + Module.t -> int -> int -> int -> t -> t -> Type.t -> string -> t = "caml_binaryen_store__bytecode" "caml_binaryen_store" - (** Module, num_bytes, offset, align, ptr, value, type. *) + (** Module, num_bytes, offset, align, ptr, value, type, memory_name *) external get_ptr : t -> t = "caml_binaryen_store_get_ptr" external set_ptr : t -> t -> unit = "caml_binaryen_store_set_ptr" @@ -698,19 +688,23 @@ module Return = struct end module Memory_size = struct - external make : Module.t -> t = "caml_binaryen_memory_size" + external make : Module.t -> string -> bool -> t = "caml_binaryen_memory_size" + (** Module, memory_name, memory_is_64 *) end module Memory_grow = struct - external make : Module.t -> t -> t = "caml_binaryen_memory_grow" + external make : Module.t -> t -> string -> bool -> t + = "caml_binaryen_memory_grow" + (** Module, delta, memory_name, memory_is_64 *) + external get_delta : t -> t = "caml_binaryen_memory_grow_get_delta" external set_delta : t -> t -> unit = "caml_binaryen_memory_grow_set_delta" end module Memory_init = struct - external make : Module.t -> int -> t -> t -> t -> t - = "caml_binaryen_memory_init" - (** Module, segment, destination, offset, size. *) + external make : Module.t -> int -> t -> t -> t -> string -> t + = "caml_binaryen_memory_init__bytecode" "caml_binaryen_memory_init" + (** Module, segment, destination, offset, size, memory_name *) external get_segment : t -> int = "caml_binaryen_memory_init_get_segment" @@ -736,8 +730,9 @@ module Data_drop = struct end module Memory_copy = struct - external make : Module.t -> t -> t -> t -> t = "caml_binaryen_memory_copy" - (** Module, destination, source, size. *) + external make : Module.t -> t -> t -> t -> string -> string -> t + = "caml_binaryen_memory_copy__bytecode" "caml_binaryen_memory_copy" + (** Module, destination, source, size, dest_memory, source_memory *) external get_dest : t -> t = "caml_binaryen_memory_copy_get_dest" external set_dest : t -> t -> unit = "caml_binaryen_memory_copy_set_dest" @@ -748,8 +743,9 @@ module Memory_copy = struct end module Memory_fill = struct - external make : Module.t -> t -> t -> t -> t = "caml_binaryen_memory_fill" - (** Module, destination, value, size. *) + external make : Module.t -> t -> t -> t -> string -> t + = "caml_binaryen_memory_fill" + (** Module, destination, value, size, memory_name *) external get_dest : t -> t = "caml_binaryen_memory_fill_get_dest" external set_dest : t -> t -> unit = "caml_binaryen_memory_fill_set_dest" diff --git a/src/expression.mli b/src/expression.mli index 6f8562dc..28736a9f 100644 --- a/src/expression.mli +++ b/src/expression.mli @@ -57,8 +57,6 @@ type kind = | RefTest | RefCast | BrOn - | RttCanon - | RttSub | StructNew | StructGet | StructSet @@ -192,13 +190,15 @@ module Global_set : sig end module Load : sig - val make : Module.t -> int -> ?signed:bool -> int -> int -> Type.t -> t -> t + val make : + Module.t -> int -> ?signed:bool -> int -> int -> Type.t -> t -> string -> t + val get_ptr : t -> t val set_ptr : t -> t -> unit end module Store : sig - val make : Module.t -> int -> int -> int -> t -> t -> Type.t -> t + val make : Module.t -> int -> int -> int -> t -> t -> Type.t -> string -> t val get_ptr : t -> t val set_ptr : t -> t -> unit val get_value : t -> t @@ -246,17 +246,17 @@ module Return : sig end module Memory_size : sig - val make : Module.t -> t + val make : Module.t -> string -> bool -> t end module Memory_grow : sig - val make : Module.t -> t -> t + val make : Module.t -> t -> string -> bool -> t val get_delta : t -> t val set_delta : t -> t -> unit end module Memory_init : sig - val make : Module.t -> int -> t -> t -> t -> t + val make : Module.t -> int -> t -> t -> t -> string -> t val get_segment : t -> int val set_segment : t -> int -> unit val get_dest : t -> t @@ -274,7 +274,7 @@ module Data_drop : sig end module Memory_copy : sig - val make : Module.t -> t -> t -> t -> t + val make : Module.t -> t -> t -> t -> string -> string -> t val get_dest : t -> t val set_dest : t -> t -> unit val get_source : t -> t @@ -284,7 +284,7 @@ module Memory_copy : sig end module Memory_fill : sig - val make : Module.t -> t -> t -> t -> t + val make : Module.t -> t -> t -> t -> string -> t val get_dest : t -> t val set_dest : t -> t -> unit val get_value : t -> t diff --git a/src/heap_type.ml b/src/heap_type.ml new file mode 100644 index 00000000..23f3f1ce --- /dev/null +++ b/src/heap_type.ml @@ -0,0 +1,15 @@ +type t + +external ext : unit -> t = "caml_binaryen_heap_type_ext" +external func : unit -> t = "caml_binaryen_heap_type_func" +external any : unit -> t = "caml_binaryen_heap_type_any" +external eq : unit -> t = "caml_binaryen_heap_type_eq" +external i31 : unit -> t = "caml_binaryen_heap_type_i31" +external data : unit -> t = "caml_binaryen_heap_type_data" +external string : unit -> t = "caml_binaryen_heap_type_string" +external stringview_wtf8 : unit -> t = "caml_binaryen_heap_type_stringview_wtf8" + +external stringview_wtf16 : unit -> t + = "caml_binaryen_heap_type_stringview_wtf16" + +external stringview_iter : unit -> t = "caml_binaryen_heap_type_stringview_iter" diff --git a/src/heap_type.mli b/src/heap_type.mli new file mode 100644 index 00000000..5e1d3b95 --- /dev/null +++ b/src/heap_type.mli @@ -0,0 +1,12 @@ +type t + +val ext : unit -> t +val func : unit -> t +val any : unit -> t +val eq : unit -> t +val i31 : unit -> t +val data : unit -> t +val string : unit -> t +val stringview_wtf8 : unit -> t +val stringview_wtf16 : unit -> t +val stringview_iter : unit -> t diff --git a/src/import.ml b/src/import.ml index 6a64a178..33ccec1f 100644 --- a/src/import.ml +++ b/src/import.ml @@ -20,7 +20,8 @@ external add_global_import : external function_import_get_module : Function.t -> string = "caml_binaryen_function_import_get_module" -external memory_import_get_module : Module.t -> string = "caml_binaryen_memory_import_get_module" +external memory_import_get_module : Module.t -> string -> string + = "caml_binaryen_memory_import_get_module" external global_import_get_module : Global.t -> string = "caml_binaryen_global_import_get_module" @@ -28,7 +29,8 @@ external global_import_get_module : Global.t -> string external function_import_get_base : Function.t -> string = "caml_binaryen_function_import_get_base" -external memory_import_get_base : Module.t -> string = "caml_binaryen_memory_import_get_base" +external memory_import_get_base : Module.t -> string -> string + = "caml_binaryen_memory_import_get_base" external global_import_get_base : Global.t -> string = "caml_binaryen_global_import_get_base" diff --git a/src/import.mli b/src/import.mli index 94ebf476..52a69370 100644 --- a/src/import.mli +++ b/src/import.mli @@ -8,8 +8,8 @@ val add_global_import : Module.t -> string -> string -> string -> Type.t -> bool -> unit val function_import_get_module : Function.t -> string -val memory_import_get_module : Module.t -> string +val memory_import_get_module : Module.t -> string -> string val global_import_get_module : Global.t -> string val function_import_get_base : Function.t -> string -val memory_import_get_base : Module.t -> string +val memory_import_get_base : Module.t -> string -> string val global_import_get_base : Global.t -> string diff --git a/src/memory.ml b/src/memory.ml index 0ff3e8d8..2e2b4c37 100644 --- a/src/memory.ml +++ b/src/memory.ml @@ -8,6 +8,7 @@ external set_memory : Expression.t list -> int list -> bool -> + string -> unit = "caml_binaryen_set_memory__bytecode" "caml_binaryen_set_memory" type segment = { data : bytes; kind : segment_kind; size : int } @@ -41,12 +42,13 @@ let set_memory wasm_mod initial maximum export_name (segments : segment list) external has_memory : Module.t -> bool = "caml_binaryen_has_memory" -external get_initial : Module.t -> int = "caml_binaryen_memory_get_initial" - -external has_max : Module.t -> bool = "caml_binaryen_memory_has_max" +external get_initial : Module.t -> string -> int + = "caml_binaryen_memory_get_initial" -external get_max : Module.t -> int = "caml_binaryen_memory_get_max" +external has_max : Module.t -> string -> bool = "caml_binaryen_memory_has_max" +external get_max : Module.t -> string -> int = "caml_binaryen_memory_get_max" -external is_shared : Module.t -> bool = "caml_binaryen_memory_is_shared" +external is_shared : Module.t -> string -> bool + = "caml_binaryen_memory_is_shared" let unlimited = -1 diff --git a/src/memory.mli b/src/memory.mli index efed60ef..b6f6597c 100644 --- a/src/memory.mli +++ b/src/memory.mli @@ -2,16 +2,11 @@ type segment = { data : bytes; kind : segment_kind; size : int } and segment_kind = Passive | Active of { offset : Expression.t } val set_memory : - Module.t -> int -> int -> string -> segment list -> bool -> unit + Module.t -> int -> int -> string -> segment list -> bool -> string -> unit val has_memory : Module.t -> bool - -val get_initial : Module.t -> int - -val has_max : Module.t -> bool - -val get_max : Module.t -> int - -val is_shared : Module.t -> bool - +val get_initial : Module.t -> string -> int +val has_max : Module.t -> string -> bool +val get_max : Module.t -> string -> int +val is_shared : Module.t -> string -> bool val unlimited : int diff --git a/src/module.ml b/src/module.ml index 10eb38ca..9435fce1 100644 --- a/src/module.ml +++ b/src/module.ml @@ -73,6 +73,10 @@ module Feature = struct let extended_const = extended_const () + external strings : unit -> t = "caml_binaryen_feature_strings" + + let strings = strings () + external all : unit -> t = "caml_binaryen_feature_all" let all = all () @@ -87,7 +91,10 @@ external add_custom_section : t -> string -> string -> unit external parse : string -> t = "caml_binaryen_module_parse" external print : t -> unit = "caml_binaryen_module_print" external print_asmjs : t -> unit = "caml_binaryen_module_print_asmjs" -external print_stack_ir : t -> unit = "caml_binaryen_module_print_stack_ir" + +external print_stack_ir : t -> bool -> unit + = "caml_binaryen_module_print_stack_ir" + external validate : t -> int = "caml_binaryen_module_validate" external optimize : t -> unit = "caml_binaryen_module_optimize" external get_features : t -> int = "caml_binaryen_module_get_features" @@ -118,7 +125,10 @@ external write : t -> string option -> bytes * string option = "caml_binaryen_module_write" external write_text : t -> string = "caml_binaryen_module_write_text" -external write_stack_ir : t -> string = "caml_binaryen_module_write_stack_ir" + +external write_stack_ir : t -> bool -> string + = "caml_binaryen_module_write_stack_ir" + external read : bytes -> t = "caml_binaryen_module_read" external interpret : t -> unit = "caml_binaryen_module_interpret" diff --git a/src/module.mli b/src/module.mli index dc4bac36..90e9a0be 100644 --- a/src/module.mli +++ b/src/module.mli @@ -19,6 +19,7 @@ module Feature : sig val typed_function_references : t val relaxed_simd : t val extended_const : t + val strings : t val all : t end @@ -28,7 +29,7 @@ val add_custom_section : t -> string -> string -> unit val parse : string -> t val print : t -> unit val print_asmjs : t -> unit -val print_stack_ir : t -> unit +val print_stack_ir : t -> bool -> unit val validate : t -> int val optimize : t -> unit val get_features : t -> Feature.t list @@ -37,7 +38,7 @@ val run_passes : t -> Passes.t list -> unit val auto_drop : t -> unit val write : t -> string option -> bytes * string option val write_text : t -> string -val write_stack_ir : t -> string +val write_stack_ir : t -> bool -> string val read : bytes -> t val interpret : t -> unit val add_debug_info_filename : t -> string -> int diff --git a/src/ocaml_helpers.h b/src/ocaml_helpers.h index 97bd98ce..13378f15 100644 --- a/src/ocaml_helpers.h +++ b/src/ocaml_helpers.h @@ -23,6 +23,7 @@ static struct custom_operations binaryen_ops = { #define BinaryenModuleRef_val(v) (*((BinaryenModuleRef*) Data_custom_val(v))) #define BinaryenType_val(v) (*((BinaryenType*) Data_custom_val(v))) +#define BinaryenHeapType_val(v) (*((BinaryenHeapType*) Data_custom_val(v))) #define BinaryenExpressionRef_val(v) (*((BinaryenExpressionRef*) Data_custom_val(v))) #define BinaryenOp_val(v) (*((BinaryenOp*) Data_custom_val(v))) #define BinaryenLiteral_val(v) (*((struct BinaryenLiteral*) Data_custom_val(v))) diff --git a/src/packed_type.ml b/src/packed_type.ml new file mode 100644 index 00000000..3b957d72 --- /dev/null +++ b/src/packed_type.ml @@ -0,0 +1,13 @@ +type t = int + +external not_packed : unit -> t = "caml_binaryen_packed_type_not_packed" + +let not_packed = not_packed () + +external int8 : unit -> t = "caml_binaryen_packed_type_int8" + +let int8 = int8 () + +external int16 : unit -> t = "caml_binaryen_packed_type_int16" + +let int16 = int16 () diff --git a/src/packed_type.mli b/src/packed_type.mli new file mode 100644 index 00000000..6a533a9c --- /dev/null +++ b/src/packed_type.mli @@ -0,0 +1,5 @@ +type t + +val not_packed : t +val int8 : t +val int16 : t diff --git a/src/type.ml b/src/type.ml index 415d03fd..b51900b7 100644 --- a/src/type.ml +++ b/src/type.ml @@ -44,6 +44,22 @@ external dataref : unit -> t = "caml_binaryen_type_dataref" let dataref = dataref () +external stringref : unit -> t = "caml_binaryen_type_stringref" + +let stringref = stringref () + +external stringview_wtf8 : unit -> t = "caml_binaryen_type_stringview_wtf8" + +let stringview_wtf8 = stringview_wtf8 () + +external stringview_wtf16 : unit -> t = "caml_binaryen_type_stringview_wtf16" + +let stringview_wtf16 = stringview_wtf16 () + +external stringview_iter : unit -> t = "caml_binaryen_type_stringview_iter" + +let stringview_iter = stringview_iter () + external unreachable : unit -> t = "caml_binaryen_type_unreachable" let unreachable = unreachable () @@ -54,3 +70,6 @@ let auto = auto () external create : t array -> t = "caml_binaryen_type_create" external expand : t -> t array = "caml_binaryen_type_expand" +external is_nullable : t -> bool = "caml_binaryen_type_is_nullable" +external from_heap_type : Heap_type.t -> t = "caml_binaryen_type_from_heap_type" +external get_heap_type : t -> Heap_type.t = "caml_binaryen_type_get_heap_type" diff --git a/src/type.mli b/src/type.mli index 2edafa70..547c13b6 100644 --- a/src/type.mli +++ b/src/type.mli @@ -11,7 +11,14 @@ val anyref : t val eqref : t val i31ref : t val dataref : t +val stringref : t +val stringview_wtf8 : t +val stringview_wtf16 : t +val stringview_iter : t val unreachable : t val auto : t val create : t array -> t val expand : t -> t array +val is_nullable : t -> bool +val from_heap_type : Heap_type.t -> t +val get_heap_type : t -> Heap_type.t diff --git a/src/type_system.ml b/src/type_system.ml new file mode 100644 index 00000000..1be15cd6 --- /dev/null +++ b/src/type_system.ml @@ -0,0 +1,7 @@ +type t = int + +external equirecursive : unit -> t = "caml_binaryen_type_system_equirecursive" +external nominal : unit -> t = "caml_binaryen_type_system_nominal" +external isorecursive : unit -> t = "caml_binaryen_type_system_isorecursive" +external get_type_system : unit -> t = "caml_binaryen_get_type_system" +external set_type_system : t -> unit = "caml_binaryen_set_type_system" diff --git a/src/type_system.mli b/src/type_system.mli new file mode 100644 index 00000000..4c7bf762 --- /dev/null +++ b/src/type_system.mli @@ -0,0 +1,7 @@ +type t + +val equirecursive : unit -> t +val nominal : unit -> t +val isorecursive : unit -> t +val get_type_system : unit -> t +val set_type_system : t -> unit diff --git a/test/dune b/test/dune index 56369bb1..57a1356f 100644 --- a/test/dune +++ b/test/dune @@ -1,30 +1,29 @@ -(test +(executable (name test) - (modules test) (libraries binaryen) - (ocamlopt_flags + (modes exe js) + (flags + :standard (:include ./config/ocamlopt_flags.sexp)) - (action - (run %{test}))) - -; Tests for binaryen.js implementation + (js_of_ocaml + (flags --no-sourcemap))) (rule - (target test_js.ml) + (alias runtest) (action (progn - (copy %{dep:test.ml} %{target}) - (copy test.expected test_js.expected)))) + (with-stdout-to + test.out + (run %{exe:test.exe})) + (diff test.out test.expected)))) -(test - (name test_js) +(rule + (alias runtest) (enabled_if - (<> %{system} mingw64)) - (modules test_js) - (modes - (byte js)) - (libraries binaryen) + (= %{bin-available:node} true)) (action - (run node %{dep:test_js.bc.js})) - (js_of_ocaml - (flags --no-sourcemap --disable share))) + (progn + (with-stdout-to + test_js.out + (run node %{dep:test.bc.js})) + (diff test_js.out test.expected)))) diff --git a/test/test.expected b/test/test.expected index 54a86d71..cbb5e5e5 100644 --- a/test/test.expected +++ b/test/test.expected @@ -160,7 +160,7 @@ (func $0 (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 - i32.load8_s + i32.load8_s $0 i32.const 1 select local.get $1 diff --git a/test/test.ml b/test/test.ml index e0ec3968..2ba0e310 100644 --- a/test/test.ml +++ b/test/test.ml @@ -26,12 +26,16 @@ let _ = "external_base_name" true let _ = - assert (Import.memory_import_get_module import_wasm_mod = "external_name") + assert ( + Import.memory_import_get_module import_wasm_mod "internal_name" + = "external_name") let _ = - assert (Import.memory_import_get_base import_wasm_mod = "external_base_name") + assert ( + Import.memory_import_get_base import_wasm_mod "internal_name" + = "external_base_name") -let _ = assert (Memory.is_shared import_wasm_mod = true) +let _ = assert (Memory.is_shared import_wasm_mod "internal_name" = true) (* Testing Return.get_value *) let _ = @@ -52,7 +56,9 @@ let params () = Type.create [| Type.int32; Type.int32 |] let results = Type.int32 let x () = Expression.Local_get.make wasm_mod 0 Type.int32 let y () = Expression.Local_get.make wasm_mod 1 Type.int32 -let load = Expression.Load.make wasm_mod 1 ~signed:true 0 0 Type.int32 (y ()) + +let load = + Expression.Load.make wasm_mod 1 ~signed:true 0 0 Type.int32 (y ()) "0" let select = Expression.Select.make wasm_mod @@ -155,16 +161,16 @@ let _ = assert (Memory.has_memory wasm_mod = false) let _ = Memory.set_memory wasm_mod 1 Memory.unlimited "memory" [ segment; passive_segment ] - false + false "0" let _ = assert (Memory.has_memory wasm_mod = true) -let _ = assert (Memory.get_initial wasm_mod = 1) -let _ = assert (Memory.has_max wasm_mod = false) -let _ = assert (Memory.get_max wasm_mod = Memory.unlimited) +let _ = assert (Memory.get_initial wasm_mod "0" = 1) +let _ = assert (Memory.has_max wasm_mod "0" = false) +let _ = assert (Memory.get_max wasm_mod "0" = Memory.unlimited) let max_memory_wasm_mod = Module.create () -let _ = Memory.set_memory max_memory_wasm_mod 1 2 "memory" [] false -let _ = assert (Memory.has_max max_memory_wasm_mod = true) -let _ = assert (Memory.get_max max_memory_wasm_mod = 2) +let _ = Memory.set_memory max_memory_wasm_mod 1 2 "memory" [] false "0" +let _ = assert (Memory.has_max max_memory_wasm_mod "0" = true) +let _ = assert (Memory.get_max max_memory_wasm_mod "0" = 2) (* Create an imported "write" function i32 (anyref, i32, i32) *) (* Similar to the example here: https://bytecodealliance.org/articles/reference-types-in-wasmtime *) @@ -236,13 +242,13 @@ let _ = Module.Feature.typed_function_references; Module.Feature.relaxed_simd; Module.Feature.extended_const; + Module.Feature.strings; Module.Feature.all; ] let _ = Module.validate new_mod let _ = Module.print new_mod - -let _ = Module.print_stack_ir new_mod +let _ = Module.print_stack_ir new_mod false (* Dispose the modules 👋 *)