diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 000000000..e779ff2fa --- /dev/null +++ b/.dockerignore @@ -0,0 +1,4 @@ +_build +.git +*.log +*.db \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d89198344..56c22e47e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -20,66 +20,58 @@ jobs: operating-system: [macos-latest, ubuntu-latest] runs-on: ${{ matrix.operating-system }} steps: - - uses: actions/checkout@v3 - - uses: actions/setup-node@v3 - with: - node-version: ${{ env.NODE_VERSION }} + - uses: actions/checkout@v4 - uses: actions/setup-python@v4 with: python-version: "3.10" - - name: Installing esy - run: sudo npm install -g esy@0.7.2 --unsafe-perm + - uses: ocaml/setup-ocaml@v2 + with: + ocaml-compiler: "ocaml-variants.5.2.0+options" - name: Installing Python prerequisites run: sudo pip install sphinx furo - - name: Linking thing for Apple Silicon? - if: runner.os == 'macos' - run: | - sudo ln -s $(which pkg-config) pkg-config - sudo ln -s $(which python3.10) python3.10 - name: Restore Cache id: restore-cache uses: actions/cache@v3 + env: + cache-name: cache-ocaml with: - path: _export - key: ${{ runner.os }}-esy-0.7.2-${{ hashFiles('esy.lock/index.json') }} + path: _opam + key: ${{ runner.os }}-${{ env.cache-name}}-ocaml-5.2.0-${{ hashFiles('**/*.opam') }} restore-keys: | - ${{ runner.os }}-esy-0.7.2- + ${{ runner.os }}-${{ env.cache-name}}-ocaml-5.2.0 - - name: Esy install - run: "esy install" - - name: Import Cache - run: | - esy import-dependencies _export - rm -rf _export - - name: Esy build - run: "esy build" - id: esy-build - - name: Basic checks - run: "esy test" + - name: Install dependencies + run: make init-ci + - name: Build Gillian + run: opam exec -- dune build @all + - name: Basic tests + run: opam exec -- dune test - name: Wisl checks - run: "./wisl/scripts/quicktests.sh" + run: "opam exec -- dune exec -- bash ./wisl/scripts/quicktests.sh" - name: Format checking - run: "esy format-check" - - name: Building release - run: "esy release" + run: opam exec -- dune fmt + - name: Installing to opam switch + run: | + opam exec -- dune build @install + opam install . -y + - name: Compressing artifact + run: tar czf opam.tar.gz _opam - name: Sending artifact for next jobs - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: ${{ runner.os }}-release - path: _release + name: ${{ runner.os }}-opam + path: opam.tar.gz - name: Building docs - run: "esy docs" + run: make docs if: runner.os == 'Linux' - name: Sending docs artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ runner.os }}-docs path: _docs if: runner.os == 'Linux' - name: Setting dependency cache - run: | - esy cleanup . - esy export-dependencies + run: opam clean if: steps.restore-cache.outputs.cache-hit != 'true' gillian_c_tests: @@ -89,23 +81,22 @@ jobs: runs-on: ${{ matrix.operating-system }} needs: build steps: - - name: download release - uses: actions/download-artifact@v3 + - uses: ocaml/setup-ocaml@v2 with: - name: ${{ runner.os }}-release - path: release - - name: setting up node - uses: actions/setup-node@v3 - with: - node-version: ${{ env.NODE_VERSION }} - - name: install release - run: | - yarn global add file://$(pwd)/release - echo "$(yarn global bin)" >> $GITHUB_PATH - - name: checkout project + ocaml-compiler: "ocaml-variants.5.2.0+options" + - name: Checkout project uses: actions/checkout@v3 with: path: Gillian + - name: Download release + uses: actions/download-artifact@v4 + with: + name: ${{ runner.os }}-opam + path: opam + - name: Extract release + run: | + tar xzf opam/opam.tar.gz + rm -rf opam - name: init env run: "Gillian-C/scripts/setup_environment.sh" working-directory: "Gillian" @@ -123,28 +114,27 @@ jobs: runs-on: ${{ matrix.operating-system }} needs: build steps: - - name: download release - uses: actions/download-artifact@v3 + - uses: ocaml/setup-ocaml@v2 with: - name: ${{ runner.os }}-release - path: release - - name: setting up node - uses: actions/setup-node@v3 - with: - node-version: ${{ env.NODE_VERSION }} - - name: install release - run: | - yarn global add file://$(pwd)/release - echo "$(yarn global bin)" >> $GITHUB_PATH - - name: checkout project + ocaml-compiler: "ocaml-variants.5.2.0+options" + - name: Checkout project uses: actions/checkout@v3 with: path: Gillian + - name: Download release + uses: actions/download-artifact@v4 + with: + name: ${{ runner.os }}-opam + path: opam + - name: Extract release + run: | + tar xzf opam/opam.tar.gz + rm opam -rf - name: init env run: "Gillian-JS/scripts/setup_environment.sh" working-directory: "Gillian" - name: Test JaVerT - run: "./testJaVerT.sh" + run: "opam exec -- bash ./testJaVerT.sh" working-directory: "Gillian/Gillian-JS/environment/" # - name: Test Amazon # run: "make" @@ -157,30 +147,29 @@ jobs: runs-on: ${{ matrix.operating-system }} needs: build steps: + - uses: ocaml/setup-ocaml@v2 + with: + ocaml-compiler: "ocaml-variants.5.2.0+options" - name: install CBMC run: sudo apt install cbmc -y - - name: download release - uses: actions/download-artifact@v3 - with: - name: ${{ runner.os }}-release - path: release - - name: setting up node - uses: actions/setup-node@v3 - with: - node-version: ${{ env.NODE_VERSION }} - - name: install release - run: | - yarn global add file://$(pwd)/release - echo "$(yarn global bin)" >> $GITHUB_PATH - - name: checkout project + - name: Checkout project uses: actions/checkout@v3 with: path: Gillian + - name: Download release + uses: actions/download-artifact@v4 + with: + name: ${{ runner.os }}-opam + path: opam + - name: Extract release + run: | + tar xzf opam/opam.tar.gz + rm -rf opam - name: init env run: "kanillian/scripts/setup_environment.sh" working-directory: "Gillian" - name: Test All - run: "./testAll.sh" + run: "opam exec -- bash ./testAll.sh" working-directory: "Gillian/kanillian/environment/" test262: @@ -191,27 +180,26 @@ jobs: runs-on: ${{ matrix.operating-system }} needs: build steps: - - name: download release - uses: actions/download-artifact@v3 + - uses: ocaml/setup-ocaml@v2 with: - name: ${{ runner.os }}-release - path: release - - name: setting up node - uses: actions/setup-node@v3 - with: - node-version: ${{ env.NODE_VERSION }} - - name: install release - run: | - yarn global add file://$(pwd)/release - echo "$(yarn global bin)" >> $GITHUB_PATH - - name: checkout project + ocaml-compiler: "ocaml-variants.5.2.0+options" + - name: Checkout project uses: actions/checkout@v3 with: repository: GillianPlatform/javert-test262 path: test262 ref: 93e0d0b04093cabc3234a776eec5cc3e165f3b1a + - name: Download release + uses: actions/download-artifact@v4 + with: + name: ${{ runner.os }}-opam + path: opam + - name: Extract release + run: | + tar xzf opam/opam.tar.gz + rm -rf opam - name: Test262 - run: "gillian-js test262 test262/test --ci" + run: "opam exec -- gillian-js test262 test262/test --ci" collections-c: if: ( github.event_name == 'pull_request') && ( github.base_ref == 'master') @@ -221,27 +209,26 @@ jobs: runs-on: ${{ matrix.operating-system }} needs: build steps: - - name: download release - uses: actions/download-artifact@v3 + - uses: ocaml/setup-ocaml@v2 with: - name: ${{ runner.os }}-release - path: release - - name: setting up node - uses: actions/setup-node@v3 - with: - node-version: ${{ env.NODE_VERSION }} - - name: install release - run: | - yarn global add file://$(pwd)/release - echo "$(yarn global bin)" >> $GITHUB_PATH + ocaml-compiler: "ocaml-variants.5.2.0+options" - name: checkout project uses: actions/checkout@v3 with: repository: GillianPlatform/collections-c-for-gillian path: collections-c ref: ffa76e788a1fbdb67910bb7b794214ebc22c1b8c + - name: Download release + uses: actions/download-artifact@v4 + with: + name: ${{ runner.os }}-opam + path: opam + - name: Extract release + run: | + tar xzf opam/opam.tar.gz + rm -rf opam - name: Symbolic Testing Collections-C - run: "./runGillianTests.sh" + run: "opam exec -- bash ./scripts/gillian-compcert/runTests.sh" working-directory: collections-c # test-Buckets: @@ -252,58 +239,59 @@ jobs: # runs-on: ${{ matrix.operating-system }} # needs: build # steps: - # - name: download release - # uses: actions/download-artifact@v3 - # with: - # name: ${{ runner.os }}-release - # path: release - # - name: setting up node - # uses: actions/setup-node@v3 + # - uses: ocaml/setup-ocaml@v2 # with: - # node-version: ${{ env.NODE_VERSION }} - # - name: install release - # run: | - # yarn global add file://$(pwd)/release - # echo "$(yarn global bin)" >> $GITHUB_PATH - # - name: checkout project + # ocaml-compiler: "ocaml-variants.5.2.0+options" + # - name: Checkout project # uses: actions/checkout@v3 # with: # path: Gillian + # - name: Download release + # uses: actions/download-artifact@v4 + # with: + # name: ${{ runner.os }}-opam + # path: opam + # - name: Extract release + # run: | + # tar xzf opam/opam.tar.gz + # rm -rf opam # - name: Symbolic Testing Buckets.js - # run: "gillian-js cosette-bulk Gillian/Gillian-JS/Examples/Cosette/Buckets --ci" + # run: "opam exec -- gillian-js cosette-bulk Gillian/Gillian-JS/Examples/Cosette/Buckets --ci" build-docker: runs-on: ubuntu-latest steps: - - name: checkout + - name: Checkout uses: actions/checkout@v3 - - name: set up docker buildx + - name: Set up docker buildx uses: docker/setup-buildx-action@v2 with: driver: docker - name: Restore Cache id: restore-cache uses: actions/cache@v3 + env: + cache-name: cache-ocaml with: - path: _export - key: docker-esy-0.7.2-${{ hashFiles('esy.lock/index.json') }} + path: _opam + key: docker-${{ env.cache-name }}-ocaml-5.2.0-${{ hashFiles('**/*.opam') }} restore-keys: | - docker-esy-0.7.2- - - name: build and export docker image + docker-${{ env.cache-name }}-ocaml-5.2.0 + - name: Build and export docker image uses: docker/build-push-action@v4 with: context: . load: true tags: ${{ env.DOCKER_TEST_TAG }} - - name: test - run: docker run --rm ${{ env.DOCKER_TEST_TAG }} esy test - - name: extract dependencies from docker + - name: Dune test + run: docker run --rm ${{ env.DOCKER_TEST_TAG }} opam exec -- dune test + - name: Extract cache + if: steps.restore-cache.outputs.cache-hit != 'true' run: | - rm -rf _export - docker run --name deps ${{ env.DOCKER_TEST_TAG }} bash -c "esy cleanup . && esy export-dependencies" - docker cp deps:/app/Gillian/_export ./ + rm -rf _opam + docker run --name deps ${{ env.DOCKER_TEST_TAG }} bash -c "opam clean" + docker cp deps:/home/opam/.opam/5.2 ./ docker rm deps - if: steps.restore-cache.outputs.cache-hit != 'true' deploy-docs: if: github.ref == 'refs/heads/master' @@ -311,9 +299,11 @@ jobs: needs: [build] strategy: fail-fast: false + matrix: + operating-system: [ubuntu-latest] steps: - name: Download built docs - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{ runner.os }}-docs path: docs diff --git a/.gitignore b/.gitignore index cb2aacdb5..da7a98a90 100644 --- a/.gitignore +++ b/.gitignore @@ -30,6 +30,7 @@ _build *.byte *.merlin _opam +_dist # Mac rubbish .DS_Store diff --git a/.ocamlformat b/.ocamlformat index bfb0860fa..cda689fe4 100644 --- a/.ocamlformat +++ b/.ocamlformat @@ -1,4 +1,4 @@ -version=0.24.1 +version=0.26.2 assignment-operator=end-line break-cases=fit-or-vertical break-fun-decl=fit-or-vertical diff --git a/.vscode/settings.json b/.vscode/settings.json index ef5dc8657..2e60c7517 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -16,11 +16,11 @@ "random": "c", "ranges": "c", "base.h": "c" -}, + }, "python.pythonPath": "/usr/bin/python3", "ocaml.sandbox": { - "kind": "esy", - "root": "${workspaceFolder:Gillian}" + "kind": "opam", + "switch": "${workspaceFolder:Gillian}" }, // Turn off tsc task auto detection since we have the necessary tasks as npm scripts "typescript.tsc.autoDetect": "off" diff --git a/Dockerfile b/Dockerfile index 67423b838..40a85a24f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,40 +1,31 @@ -FROM node:latest +FROM ocaml/opam:debian-ocaml-5.2 LABEL maintaner "Sacha \"Giltho\" Ayoun" ARG DEBIAN_FRONTEND=noninteractive -ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/lib +RUN sudo apt-get update -RUN apt-get update && apt-get install -y apt-utils +RUN sudo apt-get install libgmp-dev pkg-config libsqlite3-dev python3 -y -RUN apt-get install -y \ - build-essential \ - curl \ - git \ - zsh \ - m4 \ - python3 +RUN mkdir /home/opam/app -RUN npm install -g esy@0.7.2 --unsafe-perm - -RUN mkdir /app - -WORKDIR /app +WORKDIR /home/opam/app RUN git clone https://github.com/GillianPlatform/javert-test262.git test262 RUN git clone https://github.com/GillianPlatform/collections-c-for-gillian.git collections-c -WORKDIR /app/Gillian +WORKDIR /home/opam/app/Gillian COPY . . -RUN rm -rf _esy _build debugger-vscode-extension/node_modules *.install *.log *.db -RUN esy install -RUN esy import-dependencies _export -RUN rm -rf _export +RUN [ ! -f _opam ] || mv _opam ~/.opam/5.2 + +RUN opam update -y + +RUN opam install . --deps-only -RUN esy +RUN opam exec -- dune build @all -CMD [ "zsh" ] +CMD [ "bash" ] diff --git a/Gillian-C/examples/amazon/Makefile b/Gillian-C/examples/amazon/Makefile index 3f6a99807..516d2c4a9 100644 --- a/Gillian-C/examples/amazon/Makefile +++ b/Gillian-C/examples/amazon/Makefile @@ -1,8 +1,4 @@ -ifdef GITHUB_ACTIONS - VERIFY=gillian-c verify -else - VERIFY=esy x gillian-c verify -endif +VERIFY=opam exec -- gillian-c verify default: ${VERIFY} \ diff --git a/Gillian-C/examples/amazon_bi/Makefile b/Gillian-C/examples/amazon_bi/Makefile index 160b79048..1f2ae6c5d 100644 --- a/Gillian-C/examples/amazon_bi/Makefile +++ b/Gillian-C/examples/amazon_bi/Makefile @@ -1,7 +1,7 @@ ifdef GITHUB_ACTIONS ACT=gillian-c act else - ACT=esy x gillian-c act + ACT=dune exec -- gillian-c act endif default: diff --git a/Gillian-C/examples/basic_act/dune b/Gillian-C/examples/basic_act/dune deleted file mode 100644 index 6e5d254bf..000000000 --- a/Gillian-C/examples/basic_act/dune +++ /dev/null @@ -1,39 +0,0 @@ -(copy_files ../../runtime/*.gil) - -(rule - (deps - test.c - unops_common.gil - internals.gil - global_environment_common.gil - binops_common.gil - logic_common.gil - string.gil - stdlib_archi64.gil - global_environment_archi64.gil - logic_archi64.gil - binops_archi64_all_exec.gil - binops_archi64_bi_exec.gil) - (target specs) - (action - (with-stdout-to - %{target} - (run - gillian-c - act - -l - disabled - -R - . - --specs-to-stdout - --verbose-compcert - test.c)))) - -; FIXME: -; there is an issue preventing this test to run on Linux and I can't figure out why. gcc is not behaving correctly -; but only in `esy test` environment... -; (rule -; (alias runtest) -; (deps specs) -; (action -; (diff specs.expected specs))) diff --git a/Gillian-C/examples/basic_act/specs.expected b/Gillian-C/examples/basic_act/specs.expected deleted file mode 100644 index 7ad3cdc06..000000000 --- a/Gillian-C/examples/basic_act/specs.expected +++ /dev/null @@ -1,56 +0,0 @@ -BUG SPECS: - spec deref_bug (x) - ; - [[ (x == {{"long", 0.}}) * - i__glob_fun("deref""deref") * - i__glob_fun("deref_bug""deref_bug") ]] - [[ (ret == "segmentation fault") * - i__glob_fun("deref""deref") * - i__glob_fun("deref_bug""deref_bug") ]] - error - -SUCCESSFUL SPECS: - spec deref (x) - [[ (x == {{"long", 0.}}) * - i__glob_fun("deref""deref") * - i__glob_fun("deref_bug""deref_bug") ]] - [[ (ret == {{"int", 0.}}) * - (x == {{"long", 0.}}) * - i__glob_fun("deref""deref") * - i__glob_fun("deref_bug""deref_bug") ]] - normal; - - spec deref (x) - [[ (x == {{_$l_7, 0.}}) * - (_$l_7, 0., 4.; {{"int", _lvar_6}}, "Freeable") * - types(_lvar_6 : Int) * - i__glob_fun("deref""deref") * - i__glob_fun("deref_bug""deref_bug") ]] - [[ (ret == {{"int", _lvar_6}}) * - (x == {{_$l_7, 0.}}) * - types(_lvar_6 : Int) * - (_$l_7, 0., 4.; {{"int", _lvar_6}}, "Freeable") * - types(_lvar_6 : Int) * - i__glob_fun("deref""deref") * - i__glob_fun("deref_bug""deref_bug") ]] - normal; - - spec deref_bug (x) - [[ (x == {{_$l_2, 0.}}) * - (_$l_2, 0., 4.; {{"single", _lvar_10}}, "Freeable") * - types(_lvar_10 : Int) * - i__glob_fun("deref""deref") * - i__glob_fun("deref_bug""deref_bug") ]] - [[ (ret == {{"single", _lvar_10}}) * - (x == {{_$l_2, 0.}}) * - types(_lvar_10 : Int) * - (_$l_2, 0., 4.; {{"single", _lvar_10}}, "Freeable") * - types(_lvar_10 : Int) * - i__glob_fun("deref""deref") * - i__glob_fun("deref_bug""deref_bug") ]] - normal; - - -SUCCESS SPECS: 3 -ERROR SPECS: 0 -BUG SPECS: 1 diff --git a/Gillian-C/includes/dune b/Gillian-C/includes/dune index 13605616b..fdda9b286 100644 --- a/Gillian-C/includes/dune +++ b/Gillian-C/includes/dune @@ -1,7 +1,9 @@ (install - (section share_root) + (section + (site + (gillian-c c_includes))) (files - (gillian-c.h as include/gillian-c/gillian-c.h) - (stdlib.h as include/stdlib.h) - (string.h as include/string.h)) + (gillian-c.h as gillian-c/gillian-c.h) + (stdlib.h as stdlib.h) + (string.h as string.h)) (package gillian-c)) diff --git a/Gillian-C/lib/MonadicSVal.ml b/Gillian-C/lib/MonadicSVal.ml index fa6879256..32d3bcf11 100644 --- a/Gillian-C/lib/MonadicSVal.ml +++ b/Gillian-C/lib/MonadicSVal.ml @@ -195,7 +195,7 @@ module SVArray = struct let learned = List.map (let open Formula.Infix in - fun (e, t) -> (Expr.typeof e) #== (Expr.type_ t)) + fun (e, t) -> (Expr.typeof e) #== (Expr.type_ t)) gamma in (Expr.EList (List.rev rev_l), learned) diff --git a/Gillian-C/lib/SHeapTree.ml b/Gillian-C/lib/SHeapTree.ml index 6a32e7ec7..5575f62ed 100644 --- a/Gillian-C/lib/SHeapTree.ml +++ b/Gillian-C/lib/SHeapTree.ml @@ -368,7 +368,7 @@ module Node = struct | MemVal { mem_val = Single { chunk = m_chunk; value }; exact_perm; _ } -> DR.ok (if Chunk.phy_equal m_chunk chunk then (value, exact_perm) - else (SUndefined, exact_perm)) + else (SUndefined, exact_perm)) | MemVal { mem_val = Array { chunk = Mint8unsigned; values }; exact_perm; _ } when Chunk.equal chunk Mint16unsigned -> @@ -467,7 +467,7 @@ module Node = struct | MemVal { mem_val = Single { chunk = m_chunk; value }; exact_perm; _ } -> DR.ok (if Chunk.equal m_chunk chunk then (SVArr.singleton value, exact_perm) - else (AllUndef, exact_perm)) + else (AllUndef, exact_perm)) | MemVal { mem_val = Array { chunk = Mint8unsigned; values }; exact_perm; _ } when Chunk.equal chunk Mint64 @@ -1067,7 +1067,7 @@ module Tree = struct let types = List.map (let open Formula.Infix in - fun (x, t) -> Asrt.Pure (Expr.typeof x) #== (Expr.type_ t)) + fun (x, t) -> Asrt.Pure (Expr.typeof x) #== (Expr.type_ t)) types in CoreP.single ~loc ~ofs:low ~chunk ~sval ~perm :: types diff --git a/Gillian-C/lib/cParserAndCompiler.ml b/Gillian-C/lib/cParserAndCompiler.ml index 1ca7b710f..269bce012 100644 --- a/Gillian-C/lib/cParserAndCompiler.ml +++ b/Gillian-C/lib/cParserAndCompiler.ml @@ -172,7 +172,7 @@ module TargetLangOptions = struct in c_files @ get_c_paths rest in - Config.include_dirs := include_dirs; + Config.include_dirs := include_dirs @ !Config.include_dirs; Config.source_paths := get_c_paths source_dirs; Config.burn_csm := burn_csm; Config.hide_genv := hide_genv; @@ -304,12 +304,9 @@ let write_dependencies_file c_path = Preprocessor.restore_options prev_options let parse_and_compile_file path exec_mode = - let () = Fmt.pr "A\n" in let pathi = Filename.chop_extension path ^ ".i" in let () = Frontend.preprocess path pathi in - let () = Fmt.pr "B\n" in let () = write_dependencies_file path in - let () = Fmt.pr "C\n" in let c_prog = Frontend.parse_c_file path pathi in let clight = get_or_print_and_die (SimplExpr.transl_program c_prog) in let last_clight = get_or_print_and_die (SimplLocals.transf_program clight) in @@ -322,7 +319,6 @@ let parse_and_compile_file path exec_mode = let () = Format.fprintf fmt "%a" PrintCsharpminor.print_program csm in close_out oc in - let () = Fmt.pr "D\n" in let mangled_syms = Hashtbl.create small_tbl_size in let annots = parse_annots path in let prog, compilation_data = @@ -493,7 +489,7 @@ let parse_and_compile_files paths = Ok (create_compilation_result all_progs genv) let other_imports = [] -let env_var_import_path = Some CConstants.Imports.env_path_var +let default_import_paths = Some Runtime_sites.Sites.runtime let init_compcert () = Frontend.init (); diff --git a/Gillian-C/lib/config.ml b/Gillian-C/lib/config.ml index de96e2b3e..cd4a29cae 100644 --- a/Gillian-C/lib/config.ml +++ b/Gillian-C/lib/config.ml @@ -1,4 +1,4 @@ -let include_dirs = ref ([] : string list) +let include_dirs = ref Runtime_sites.Sites.c_includes let source_paths = ref ([] : string list) let burn_csm = ref false let hide_genv = ref false diff --git a/Gillian-C/lib/dune b/Gillian-C/lib/dune index cf54528ab..2e11e049b 100644 --- a/Gillian-C/lib/dune +++ b/Gillian-C/lib/dune @@ -6,6 +6,7 @@ (modules annot_lexer)) (library + (package gillian-c) (name cgil_lib) (libraries gillian @@ -13,6 +14,11 @@ compcert printbox-text gillian.ppx_sat.runtime - ppx_deriving_yojson.runtime) + ppx_deriving_yojson.runtime + dune-site) (preprocess (pps ppx_deriving.std ppx_deriving_yojson gillian.ppx_sat))) + +(generate_sites_module + (module runtime_sites) + (sites gillian-c)) diff --git a/Gillian-C/lib/gilgen.ml b/Gillian-C/lib/gilgen.ml index 2ca4e3524..c4d7f8aee 100644 --- a/Gillian-C/lib/gilgen.ml +++ b/Gillian-C/lib/gilgen.ml @@ -867,8 +867,8 @@ let intern_impl_of_extern_function ext_f = match ext_f with | EF_malloc -> ( (if !Config.alloc_can_fail then - CConstants.Internal_Functions.malloc_can_fail - else CConstants.Internal_Functions.malloc), + CConstants.Internal_Functions.malloc_can_fail + else CConstants.Internal_Functions.malloc), false ) | EF_free -> (CConstants.Internal_Functions.free, false) | EF_memcpy _ -> (CConstants.Internal_Functions.memcpy, false) diff --git a/Gillian-C/runtime/dune b/Gillian-C/runtime/dune index 5417f1f7c..3cadeee6b 100644 --- a/Gillian-C/runtime/dune +++ b/Gillian-C/runtime/dune @@ -24,5 +24,7 @@ global_environment_bi.gil global_environment_archi64.gil global_environment_archi32.gil) - (section share) + (section + (site + (gillian-c runtime))) (package gillian-c)) diff --git a/Gillian-C/scripts/build_doc.sh b/Gillian-C/scripts/build_doc.sh index c20783f39..7d5412454 100755 --- a/Gillian-C/scripts/build_doc.sh +++ b/Gillian-C/scripts/build_doc.sh @@ -1,3 +1,3 @@ rm -r doc -esy dune build @doc +opam exec -- dune build @doc cp -r _build/default/_doc/_html doc \ No newline at end of file diff --git a/Gillian-C/scripts/remake.sh b/Gillian-C/scripts/remake.sh index ee876ea79..30417753f 100755 --- a/Gillian-C/scripts/remake.sh +++ b/Gillian-C/scripts/remake.sh @@ -6,7 +6,7 @@ if [[ $1 == '--nomake' ]] then echo 'Not recompiling, only resetting env' else - esy + opam exec -- dune build fi -esy init:env + cd environment \ No newline at end of file diff --git a/Gillian-C/scripts/testACT.sh b/Gillian-C/scripts/testACT.sh index 4c396389f..3bbf1b80d 100755 --- a/Gillian-C/scripts/testACT.sh +++ b/Gillian-C/scripts/testACT.sh @@ -1,40 +1,29 @@ #!/bin/bash -FINAL_RETURN=0 -if [[ -z "${GITHUB_ACTIONS}" ]]; then - esy x true > /dev/null 2>&1 - esy exec-env > exec.env - source exec.env -fi +set -e + +ACT="opam exec -- gillian-c act" echo "--- bi-abducing SLL ---" -time gillian-c act act/sll.c -l disabled -rc=$?; if [[ $rc != 0 ]]; then FINAL_RETURN=1; fi +time $ACT act/sll.c -l disabled printf "\n\n" echo "--- bi-abducing DLL ---" -time gillian-c act act/dll.c -l disabled -rc=$?; if [[ $rc != 0 ]]; then FINAL_RETURN=1; fi +time $ACT act/dll.c -l disabled printf "\n\n" echo "--- bi-abducing PriQ ---" -time gillian-c act act/priQ.c -l disabled -rc=$?; if [[ $rc != 0 ]]; then FINAL_RETURN=1; fi +time $ACT act/priQ.c -l disabled printf "\n\n" echo "--- bi-abducing kvmap ---" -time gillian-c act act/kvmap.c -l disabled -rc=$?; if [[ $rc != 0 ]]; then FINAL_RETURN=1; fi +time $ACT act/kvmap.c -l disabled printf "\n\n" echo "--- bi-abducing sort ---" -time gillian-c act act/sort.c -l disabled -rc=$?; if [[ $rc != 0 ]]; then FINAL_RETURN=1; fi +time $ACT act/sort.c -l disabled printf "\n\n" echo "--- bi-abducing BST ---" -time gillian-c act act/bst.c -l disabled -rc=$?; if [[ $rc != 0 ]]; then FINAL_RETURN=1; fi -printf "\n\n" - -exit $FINAL_RETURN \ No newline at end of file +time $ACT act/bst.c -l disabled +printf "\n\n" \ No newline at end of file diff --git a/Gillian-C/scripts/testConcrete.sh b/Gillian-C/scripts/testConcrete.sh index f926da693..c64d37156 100755 --- a/Gillian-C/scripts/testConcrete.sh +++ b/Gillian-C/scripts/testConcrete.sh @@ -1,11 +1,3 @@ #!/bin/bash -FINAL_RETURN=0 - -if [[ -z "${GITHUB_ACTIONS}" ]]; then - esy x true > /dev/null 2>&1 - esy exec-env > exec.env - source exec.env -fi - -gillian-c bulk-exec concrete \ No newline at end of file +opam exec -- gillian-c bulk-exec concrete \ No newline at end of file diff --git a/Gillian-C/scripts/testFolder.sh b/Gillian-C/scripts/testFolder.sh index f53985627..0ab8b0895 100755 --- a/Gillian-C/scripts/testFolder.sh +++ b/Gillian-C/scripts/testFolder.sh @@ -3,18 +3,14 @@ folder=$1 count=$2 -if [[ -z "${GITHUB_ACTIONS}" ]]; then - esy x true > /dev/null 2>&1 - esy exec-env > exec.env - source exec.env -fi +WPST="opam exec -- gillian-c wpst" for filename in $folder/*.c; do [ -f "$filename" ] || break echo $filename if [ "$count" = "count" ]; then - time gillian-c wpst "$filename" -l disabled --stats + time $WPST "$filename" -l disabled --stats else - time gillian-c wpst "$filename" -l disabled + time $WPST "$filename" -l disabled fi done \ No newline at end of file diff --git a/Gillian-C/scripts/testMultifile.sh b/Gillian-C/scripts/testMultifile.sh index 8b768763a..954f07db8 100755 --- a/Gillian-C/scripts/testMultifile.sh +++ b/Gillian-C/scripts/testMultifile.sh @@ -1,12 +1,6 @@ #!/bin/bash -FINAL_RETURN=0 - -if [[ -z "${GITHUB_ACTIONS}" ]]; then - esy x true > /dev/null 2>&1 - esy exec-env > exec.env - source exec.env -fi +set -e # echo "--- executing main.c ---" # gillian-c exec -l disabled multifile/concrete/main.c multifile/concrete/foo.c @@ -14,8 +8,7 @@ fi # printf "\n\n" echo "--- verifying BST ---" -gillian-c verify -l disabled multifile/verification/sll_a.c multifile/verification/sll_b.c -rc=$?; if [[ $rc != 0 ]]; then FINAL_RETURN=1; fi +opam exec -- gillian-c verify -l disabled multifile/verification/sll_a.c multifile/verification/sll_b.c printf "\n\n" # echo "--- bi-abducing BST ---" diff --git a/Gillian-C/scripts/testSymb.sh b/Gillian-C/scripts/testSymb.sh index b74ccebb4..3f2df5cda 100755 --- a/Gillian-C/scripts/testSymb.sh +++ b/Gillian-C/scripts/testSymb.sh @@ -1,42 +1,30 @@ #!/bin/bash -FINAL_RETURN=0 +set -e -if [[ -z "${GITHUB_ACTIONS}" ]]; then - esy x true > /dev/null 2>&1 - esy exec-env > exec.env - source exec.env -fi +WPST="time opam exec -- gillian-c wpst" # TODO (Alexis): Make incremental analysis thread-safe to allow the use of --parallel echo "--- testing SLL ---" -time gillian-c wpst symbolic/sll.c -l disabled -rc=$?; if [[ $rc != 0 ]]; then FINAL_RETURN=1; fi +$WPST symbolic/sll.c -l disabled printf "\n\n" echo "--- testing DLL ---" -time gillian-c wpst symbolic/dll.c -l disabled -rc=$?; if [[ $rc != 0 ]]; then FINAL_RETURN=1; fi +$WPST symbolic/dll.c -l disabled printf "\n\n" echo "--- testing PriQ ---" -time gillian-c wpst symbolic/priQ.c -l disabled -rc=$?; if [[ $rc != 0 ]]; then FINAL_RETURN=1; fi +$WPST symbolic/priQ.c -l disabled printf "\n\n" echo "--- testing kvmap ---" -time gillian-c wpst symbolic/kvmap.c -l disabled -rc=$?; if [[ $rc != 0 ]]; then FINAL_RETURN=1; fi +$WPST symbolic/kvmap.c -l disabled printf "\n\n" echo "--- testing sort ---" -time gillian-c wpst symbolic/sort.c -l disabled -rc=$?; if [[ $rc != 0 ]]; then FINAL_RETURN=1; fi +$WPST symbolic/sort.c -l disabled printf "\n\n" echo "--- testing BST ---" -time gillian-c wpst symbolic/bst.c -l disabled -rc=$?; if [[ $rc != 0 ]]; then FINAL_RETURN=1; fi +$WPST symbolic/bst.c -l disabled printf "\n\n" - -exit $FINAL_RETURN \ No newline at end of file diff --git a/Gillian-C/scripts/testVerif.sh b/Gillian-C/scripts/testVerif.sh index 4f6d16a1d..85ea51f6f 100755 --- a/Gillian-C/scripts/testVerif.sh +++ b/Gillian-C/scripts/testVerif.sh @@ -1,36 +1,19 @@ #!/bin/bash -FINAL_RETURN=0 - -if [[ -z "${GITHUB_ACTIONS}" ]]; then - esy x true > /dev/null 2>&1 - esy exec-env > exec.env - source exec.env -fi +VERIFY="time opam exec -- gillian-c verify" echo "--- verifying SLL ---" -time gillian-c verify verification/sll.c -l disabled -rc=$?; if [[ $rc != 0 ]]; then FINAL_RETURN=1; fi +$VERIFY verification/sll.c -l disabled printf "\n\n" echo "--- verifying DLL ---" -time gillian-c verify verification/dll.c -l disabled -rc=$?; if [[ $rc != 0 ]]; then FINAL_RETURN=1; fi +$VERIFY verification/dll.c -l disabled printf "\n\n" echo "--- verifying PriQ ---" -time gillian-c verify verification/priQ.c -l disabled -rc=$?; if [[ $rc != 0 ]]; then FINAL_RETURN=1; fi +$VERIFY verification/priQ.c -l disabled printf "\n\n" echo "--- verifying sort ---" -time gillian-c verify verification/sort.c -l disabled -rc=$?; if [[ $rc != 0 ]]; then FINAL_RETURN=1; fi -printf "\n\n" - -# echo "--- verifying BST ---" -# time gillian-c verify verification/bst.c -l disabled -# rc=$?; if [[ $rc != 0 ]]; then FINAL_RETURN=1; fi -# printf "\n\n" - -exit $FINAL_RETURN \ No newline at end of file +$VERIFY verification/sort.c -l disabled +printf "\n\n" \ No newline at end of file diff --git a/Gillian-JS/Examples/Amazon/Makefile b/Gillian-JS/Examples/Amazon/Makefile index 21a95ad32..571cd715f 100644 --- a/Gillian-JS/Examples/Amazon/Makefile +++ b/Gillian-JS/Examples/Amazon/Makefile @@ -1,7 +1,7 @@ ifdef GITHUB_ACTIONS VERIFY=gillian-js verify else - VERIFY=esy x gillian-js verify + VERIFY=dune exec -- gillian-js verify endif default: diff --git a/Gillian-JS/lib/Compiler/JS2GIL_ParserAndCompiler.ml b/Gillian-JS/lib/Compiler/JS2GIL_ParserAndCompiler.ml index 6ff020ad1..6a832bbcc 100644 --- a/Gillian-JS/lib/Compiler/JS2GIL_ParserAndCompiler.ml +++ b/Gillian-JS/lib/Compiler/JS2GIL_ParserAndCompiler.ml @@ -110,7 +110,7 @@ let parse_and_compile_files paths = let other_imports = [ ("jsil", parse_and_compile_jsil) ] let import_paths = Javert_utils.Js_config.import_paths -let env_var_import_path = Some "GILLIAN_JS_RUNTIME_PATH" +let default_import_paths = Some Runtime_sites.Sites.runtime let initialize exec_mode = let open Exec_mode in diff --git a/Gillian-JS/lib/Compiler/dune b/Gillian-JS/lib/Compiler/dune index c3ecfccb0..a547c041e 100644 --- a/Gillian-JS/lib/Compiler/dune +++ b/Gillian-JS/lib/Compiler/dune @@ -1,4 +1,8 @@ (library (name js2jsil_lib) (flags :standard -open Gillian.Utils) - (libraries jsil_syntax jslogic parsing javert_utils str)) + (libraries jsil_syntax jslogic parsing javert_utils str dune-site)) + +(generate_sites_module + (module runtime_sites) + (sites gillian-js)) diff --git a/Gillian-JS/lib/Parsing/parsing.ml b/Gillian-JS/lib/Parsing/parsing.ml index 5eae0d08c..5974803ef 100644 --- a/Gillian-JS/lib/Parsing/parsing.ml +++ b/Gillian-JS/lib/Parsing/parsing.ml @@ -16,7 +16,7 @@ let parse start lexbuf = unexpected_token loc_start.pos_lnum (col loc_start) loc_end.pos_lnum (col loc_end) (if String.equal loc_start.pos_fname "" then "a string" - else loc_start.pos_fname) + else loc_start.pos_fname) in failwith ("Parser Error, " ^ message) diff --git a/Gillian-JS/lib/utils/dune b/Gillian-JS/lib/utils/dune index a55d2a456..eb38c9b5f 100644 --- a/Gillian-JS/lib/utils/dune +++ b/Gillian-JS/lib/utils/dune @@ -1,3 +1,7 @@ (library (name javert_utils) - (libraries gillian)) + (libraries gillian dune-site)) + +(generate_sites_module + (module runtime_sites) + (sites gillian-js)) diff --git a/Gillian-JS/lib/utils/js_config.ml b/Gillian-JS/lib/utils/js_config.ml index 2f94b00e9..5c260eb23 100644 --- a/Gillian-JS/lib/utils/js_config.ml +++ b/Gillian-JS/lib/utils/js_config.ml @@ -23,5 +23,6 @@ let amazon = ref false let env_var_import_path = "GILLIAN_JS_RUNTIME_PATH" let import_paths = - Sys.getenv_opt "GILLIAN_JS_RUNTIME_PATH" - |> Option.value ~default:"" |> String.split_on_char ':' + (Sys.getenv_opt "GILLIAN_JS_RUNTIME_PATH" + |> Option.value ~default:"" |> String.split_on_char ':') + @ Runtime_sites.Sites.runtime diff --git a/Gillian-JS/runtime/ES5/dune b/Gillian-JS/runtime/ES5/dune index 27325bef0..f52db486e 100644 --- a/Gillian-JS/runtime/ES5/dune +++ b/Gillian-JS/runtime/ES5/dune @@ -1,9 +1,11 @@ (install + (section + (site + (gillian-js runtime))) (files bis_ch15_11_errors.jsil ifs_ch9_type_conversions_and_testing.jsil internal_functions.jsil preds_ch15_11_errors.jsil preds_general.jsil) - (section share) (package gillian-js)) diff --git a/Gillian-JS/runtime/JS2JSIL/dune b/Gillian-JS/runtime/JS2JSIL/dune index 8d189f7bc..ce4911d95 100644 --- a/Gillian-JS/runtime/JS2JSIL/dune +++ b/Gillian-JS/runtime/JS2JSIL/dune @@ -1,4 +1,7 @@ (install + (section + (site + (gillian-js runtime))) (files Array.jsil Boolean.jsil @@ -17,5 +20,4 @@ harness.js initial_heap.jsil internals_builtins_procs.jsil) - (section share) (package gillian-js)) diff --git a/Gillian-JS/runtime/JS2JSIL_BI/dune b/Gillian-JS/runtime/JS2JSIL_BI/dune index ac97d3918..a6711a78d 100644 --- a/Gillian-JS/runtime/JS2JSIL_BI/dune +++ b/Gillian-JS/runtime/JS2JSIL_BI/dune @@ -1,4 +1,7 @@ (install + (section + (site + (gillian-js runtime))) (files BiArray.jsil BiBoolean.jsil @@ -15,5 +18,4 @@ BiObject.jsil BiRegExp.jsil BiString.jsil) - (section share) (package gillian-js)) diff --git a/Gillian-JS/runtime/JSLogic/dune b/Gillian-JS/runtime/JSLogic/dune index 20d76212c..a9bd66317 100644 --- a/Gillian-JS/runtime/JSLogic/dune +++ b/Gillian-JS/runtime/JSLogic/dune @@ -1,4 +1,7 @@ (install + (section + (site + (gillian-js runtime))) (files bi_javert_predicates.jsil internal_functions_full.jsil @@ -10,5 +13,4 @@ Uint8Array.jsil ArrayLogic.jsil ByteLogic.gil) - (section share) (package gillian-js)) diff --git a/Gillian-Rely-Runner/RelyFramework.ml b/Gillian-Rely-Runner/RelyFramework.ml deleted file mode 100644 index 3280272e4..000000000 --- a/Gillian-Rely-Runner/RelyFramework.ml +++ /dev/null @@ -1,233 +0,0 @@ -module Make (Outcome : Outcome.S) (Suite : Suite.S) = struct - include Rely.Make (struct - let config = - Rely.TestFrameworkConfig.initialize - { - snapshotDir = "path/to/test/lib/__snapshots__"; - projectDir = "path/to/your/project"; - } - end) - - include OutcomeExt.Make (Outcome) - open Bulk.BranchReasoning - - let makeFormater format pp fmt e = - Fmt.pf fmt "%s" (format (Fmt.str "%a" pp e)) - - let createFailAtParsingMatcher - (createMatcher : ('a, 'b) Rely.MatcherTypes.createMatcher) = - let open Rely.MatcherTypes in - let open Rely.MatcherUtils in - createMatcher - (fun { formatReceived; formatExpected } actualThunk expectedThunk -> - let formatReceived pp fmt x = (makeFormater formatReceived) pp fmt x in - let formatExpected pp fmt x = (makeFormater formatExpected) pp fmt x in - let (actual : Outcome.t) = actualThunk () in - let (expected - : (string * (Outcome.ParserAndCompiler.err -> bool)) option) = - expectedThunk () - in - match (actual, expected) with - | ParseAndCompileError _, None -> ((fun () -> ""), true) - | ParseAndCompileError pa, Some (cname, constr) -> - if constr pa then ((fun () -> ""), true) - else - let failure_message = - Fmt.str - "Expected test to fail at parsing time with %a\n\ - but it failed at parsing time with constraint: %a" - (formatExpected Outcome.ParserAndCompiler.pp_err) - pa - (formatReceived Fmt.string) - cname - in - ((fun () -> failure_message), false) - | other, _ -> - let failure_message = - Fmt.str "Expected test %a\nBut test actually %a" - (formatExpected - (Fmt.option - ~none:(fun f () -> Fmt.pf f "to fail at parsing time") - (fun f (constr_name, _) -> - Fmt.pf f "to fail at parsing time with constraint: %s" - constr_name))) - expected - (formatReceived Outcome.pp_what_test_did) - other - in - ((fun _ -> failure_message), false)) - - let createFailAtExecMatcher createMatcher = - let open Rely.MatcherTypes in - let open Rely.MatcherUtils in - createMatcher - (fun { formatReceived; formatExpected } actualThunk expectedThunk -> - let formatReceived pp fmt x = (makeFormater formatReceived) pp fmt x in - let formatExpected pp fmt x = (makeFormater formatExpected) pp fmt x in - let (actual : Outcome.t) = actualThunk () in - match actual with - | Outcome.FailedExec _ -> ((fun () -> ""), true) - | _ -> - let failure_message = - Fmt.str "Expected the test %a\nBut the test %a" - (formatExpected (fun f () -> Fmt.pf f "to fail at execution")) - () - (formatReceived Outcome.pp_what_test_did) - actual - in - ((fun () -> failure_message), false)) - - let createToFinishInMode - branches - flag - (createMatcher : ('a, 'b) Rely.MatcherTypes.createMatcher) = - let open Rely.MatcherTypes in - let open Rely.MatcherUtils in - createMatcher - (fun - { formatReceived = fmtrcvstr; formatExpected = fmtexpstr } - actualThunk - expectedThunk - -> - let formatReceived pp fmt x = (makeFormater fmtrcvstr) pp fmt x in - let formatExpected pp fmt x = (makeFormater fmtexpstr) pp fmt x in - let (actual : Outcome.t) = actualThunk () in - let (expected - : (string * (Outcome.Val.t -> Outcome.State.t -> bool)) option) = - expectedThunk () - in - match actual with - | FinishedExec res -> - resInMode ~fmtexp:fmtexpstr ~fmtrcv:fmtrcvstr - ~pp_what_branch_did:Outcome.pp_what_branch_did branches flag - expected res - | other -> - let failure_message = - Fmt.str "Expected test %a\nBut test actually %a" - (formatExpected (fun f () -> - Fmt.pf f "to finish successfully in normal mode")) - () - (formatReceived Outcome.pp_what_test_did) - other - in - ((fun _ -> failure_message), false)) - - let resExts nbr actual extendUtils = - let open Rely.MatcherTypes in - let { createMatcher } = extendUtils in - let toFinishInNormalMode () = - (createToFinishInMode nbr Flag.Normal createMatcher) - (fun () -> actual) - (fun () -> None) - in - let toFinishInNormalModeWith ~constraint_name constr = - (createToFinishInMode nbr Flag.Normal createMatcher) - (fun () -> actual) - (fun () -> Some (constraint_name, constr)) - in - let toFinishInErrorMode () = - (createToFinishInMode nbr Flag.Error createMatcher) - (fun () -> actual) - (fun () -> None) - in - let toFinishInErrorModeWith ~constraint_name constr = - (createToFinishInMode nbr Flag.Error createMatcher) - (fun () -> actual) - (fun () -> Some (constraint_name, constr)) - in - { - toFinishInErrorMode; - toFinishInErrorModeWith; - toFinishInNormalMode; - toFinishInNormalModeWith; - } - - let outcomeExts actual extendUtils = - let open Rely.MatcherTypes in - let { createMatcher } = extendUtils in - let toFailAtParsing () = - (createFailAtParsingMatcher createMatcher) - (fun () -> actual) - (fun () -> None) - in - let toFailAtParsingWith ~constraint_name constr = - (createFailAtParsingMatcher createMatcher) - (fun () -> actual) - (fun () -> Some (constraint_name, constr)) - in - let toFailAtExec () = - (createFailAtExecMatcher createMatcher) (fun () -> actual) (fun () -> ()) - in - let allBranches = resExts AllOfThem actual extendUtils in - let atLeastOneBranch = resExts AtLeastOne actual extendUtils in - let exactlyOneBranch = resExts ExactlyOne actual extendUtils in - { - toFailAtParsing; - toFailAtParsingWith; - toFailAtExec; - allBranches; - atLeastOneBranch; - exactlyOneBranch; - } - - let customMatchers createMatcher = - { outcome = (fun o -> outcomeExts o createMatcher) } - - let { describe; describeSkip } = - describeConfig - |> withLifecycle (fun tlf -> tlf |> beforeEach Suite.beforeEach) - |> withCustomMatchers customMatchers - |> build - - type testUtils = (ext, unit) Rely.testUtils - - let print_failures aggregatedResults = - let failure_of_suite = - List.fold_left - (fun acc r -> - let open RelyInternal.TestResult.TestSuiteResult in - if r.numFailedTests > 0 then - List.fold_left - (fun accp rp -> - let open RelyInternal.TestResult in - match rp.testStatus with - | Passed _ | Skipped _ -> accp - | _ -> rp.title :: accp) - [] r.testResults - :: acc - else acc) - [] - in - let failures = - failure_of_suite - aggregatedResults - .RelyInternal.TestResult.AggregatedResult.testSuiteResults - in - match failures with - | [] -> () - | failures -> - Fmt.pr "ALL FAILURES:\n%a\n" - Fmt.(vbox ~indent:0 (list ~sep:(any "\n") string)) - (List.concat failures) - - let print_failures aggregatedResults = - if !Utils.Config.bulk_print_all_failures then - print_failures aggregatedResults - else () - - let run () = - run - Rely.RunConfig.( - initialize () |> ciMode true - |> withReporters - [ - Default; - Custom - { - onTestSuiteStart = (fun _ -> ()); - onTestSuiteResult = (fun _ _ _ -> ()); - onRunStart = (fun _ -> ()); - onRunComplete = print_failures; - }; - ]) -end diff --git a/Gillian-Rely-Runner/RelyRunner.ml b/Gillian-Rely-Runner/RelyRunner.ml deleted file mode 100644 index ca69efaaf..000000000 --- a/Gillian-Rely-Runner/RelyRunner.ml +++ /dev/null @@ -1 +0,0 @@ -module Make = Runner.Make (RelyBackend.Make) diff --git a/Gillian-Rely-Runner/dune b/Gillian-Rely-Runner/dune deleted file mode 100644 index b41a0e48e..000000000 --- a/Gillian-Rely-Runner/dune +++ /dev/null @@ -1,6 +0,0 @@ -; This should make a comeback when rely works with ocaml 4.11 -; (library -; (name gillian_bulk_rely) -; (public_name gillian-bulk-rely) -; (libraries gillian.bulk rely.lib gillian.gil_syntax) -; (flags :standard -open Bulk -open Gil_syntax)) diff --git a/Gillian-Rely-Runner/outcomeExt.ml b/Gillian-Rely-Runner/outcomeExt.ml deleted file mode 100644 index 434546d4b..000000000 --- a/Gillian-Rely-Runner/outcomeExt.ml +++ /dev/null @@ -1,26 +0,0 @@ -module Make (Outcome : Outcome.S) = struct - type resExts = { - toFinishInErrorMode : unit -> unit; - toFinishInErrorModeWith : - constraint_name:string -> - (Outcome.Val.t -> Outcome.State.t -> bool) -> - unit; - toFinishInNormalMode : unit -> unit; - toFinishInNormalModeWith : - constraint_name:string -> - (Outcome.Val.t -> Outcome.State.t -> bool) -> - unit; - } - - type outcomeExts = { - toFailAtParsing : unit -> unit; - toFailAtParsingWith : - constraint_name:string -> (Outcome.ParserAndCompiler.err -> bool) -> unit; - toFailAtExec : unit -> unit; - allBranches : resExts; - atLeastOneBranch : resExts; - exactlyOneBranch : resExts; - } - - type ext = { outcome : Outcome.t -> outcomeExts } -end diff --git a/Gillian-Rely-Runner/relyBackend.ml b/Gillian-Rely-Runner/relyBackend.ml deleted file mode 100644 index 1cfc41095..000000000 --- a/Gillian-Rely-Runner/relyBackend.ml +++ /dev/null @@ -1,33 +0,0 @@ -module Make (Outcome : Outcome.S) (Suite : Suite.S) = struct - module TestFramework = RelyFramework.Make (Outcome) (Suite) - - type matcher = OutcomeExt.Make(Outcome).ext Rely.matchers - type category = Suite.category - - let register_expectation_for_one_test - expectation - test_executor - testFn - source - test = - testFn source (fun { Rely.expect } -> - let result = test_executor expect test in - expectation expect test result) - - let register_expectations_for_category ~expectation ~test_runner cat tbl = - if Suite.skip_category cat then - TestFramework.describeSkip (Fmt.str "%a" Suite.pp_category cat) (function - | { test } -> - Hashtbl.iter - (register_expectation_for_one_test expectation test_runner test) - tbl) - else - TestFramework.describe (Fmt.str "%a" Suite.pp_category cat) (function - | { test } -> - Hashtbl.iter - (register_expectation_for_one_test expectation test_runner test) - tbl) - - let check_not_throw (expect : matcher) func = (expect.fn func).not.toThrow () - let run = TestFramework.run -end diff --git a/GillianCore/BulkTesting/Runner.ml b/GillianCore/BulkTesting/Runner.ml index 200143566..2141a1972 100644 --- a/GillianCore/BulkTesting/Runner.ml +++ b/GillianCore/BulkTesting/Runner.ml @@ -4,15 +4,18 @@ module type S = sig val run_all : test_suite_path:string -> incremental:bool -> unit end -module Make (Backend : functor (Outcome : Outcome.S) (Suite : Suite.S) -> - Backend.S with type category = Suite.category) -(Outcome : Outcome.S) -(Suite : Suite.S) -(Expectations : Expectations.S - with type info = Suite.info - and type category = Suite.category - and type matcher = Backend(Outcome)(Suite).matcher - and type outcome = Outcome.t) : S = struct +module Make + (Backend : functor + (Outcome : Outcome.S) + (Suite : Suite.S) + -> Backend.S with type category = Suite.category) + (Outcome : Outcome.S) + (Suite : Suite.S) + (Expectations : Expectations.S + with type info = Suite.info + and type category = Suite.category + and type matcher = Backend(Outcome)(Suite).matcher + and type outcome = Outcome.t) : S = struct module Backend = Backend (Outcome) (Suite) module PC = Outcome.ParserAndCompiler diff --git a/GillianCore/BulkTesting/outcome.ml b/GillianCore/BulkTesting/outcome.ml index fbc2cff81..0a930ff8e 100644 --- a/GillianCore/BulkTesting/outcome.ml +++ b/GillianCore/BulkTesting/outcome.ml @@ -36,7 +36,8 @@ end module Make (ValP : Val.S) (ESubstP : ESubst.S with type vt = ValP.t and type t = ValP.et) - (StoreP : Store.S with type vt = ValP.t) (StateP : sig + (StoreP : Store.S with type vt = ValP.t) + (StateP : sig include State.S with type vt = ValP.t diff --git a/GillianCore/GIL_Syntax/ALoc.ml b/GillianCore/GIL_Syntax/ALoc.ml index 990f214e1..7bedc5948 100644 --- a/GillianCore/GIL_Syntax/ALoc.ml +++ b/GillianCore/GIL_Syntax/ALoc.ml @@ -2,8 +2,7 @@ open Allocators include Make_with_prefix - (Basic - ()) - (struct - let prefix = Names.aloc_prefix - end) + (Basic ()) + (struct + let prefix = Names.aloc_prefix + end) diff --git a/GillianCore/GIL_Syntax/Gil_syntax.mli b/GillianCore/GIL_Syntax/Gil_syntax.mli index 2b92a3f14..e73325425 100644 --- a/GillianCore/GIL_Syntax/Gil_syntax.mli +++ b/GillianCore/GIL_Syntax/Gil_syntax.mli @@ -1257,1590 +1257,1557 @@ end module Visitors : sig (** Classes for traversing the GIL AST *) - class ['b] endo : - object ('b) - constraint - 'b = < visit_'annot : 'c -> 'd -> 'd - ; visit_'label : 'c -> 'f -> 'f - ; visit_ALoc : 'c -> Expr.t -> string -> Expr.t - ; visit_And : 'c -> Formula.t -> Formula.t -> Formula.t -> Formula.t - ; visit_Impl : 'c -> Formula.t -> Formula.t -> Formula.t -> Formula.t - ; visit_Apply : - 'c -> 'f Cmd.t -> string -> Expr.t -> 'f option -> 'f Cmd.t - ; visit_ApplyLem : - 'c -> SLCmd.t -> string -> Expr.t list -> string list -> SLCmd.t - ; visit_Arguments : 'c -> 'f Cmd.t -> string -> 'f Cmd.t - ; visit_Assert : 'c -> LCmd.t -> Formula.t -> LCmd.t - ; visit_Assignment : 'c -> 'f Cmd.t -> string -> Expr.t -> 'f Cmd.t - ; visit_Assume : 'c -> LCmd.t -> Formula.t -> LCmd.t - ; visit_AssumeType : 'c -> LCmd.t -> Expr.t -> Type.t -> LCmd.t - ; visit_BAnd : 'c -> BinOp.t -> BinOp.t - ; visit_BOr : 'c -> BinOp.t -> BinOp.t - ; visit_BSetMem : 'c -> BinOp.t -> BinOp.t - ; visit_BSetSub : 'c -> BinOp.t -> BinOp.t - ; visit_BinOp : 'c -> Expr.t -> Expr.t -> BinOp.t -> Expr.t -> Expr.t - ; visit_BitwiseAnd : 'c -> BinOp.t -> BinOp.t - ; visit_BitwiseAndL : 'c -> BinOp.t -> BinOp.t - ; visit_BitwiseAndF : 'c -> BinOp.t -> BinOp.t - ; visit_BitwiseNot : 'c -> UnOp.t -> UnOp.t - ; visit_BitwiseOr : 'c -> BinOp.t -> BinOp.t - ; visit_BitwiseOrL : 'c -> BinOp.t -> BinOp.t - ; visit_BitwiseOrF : 'c -> BinOp.t -> BinOp.t - ; visit_BitwiseXor : 'c -> BinOp.t -> BinOp.t - ; visit_BitwiseXorL : 'c -> BinOp.t -> BinOp.t - ; visit_BitwiseXorF : 'c -> BinOp.t -> BinOp.t - ; visit_Bool : 'c -> Literal.t -> bool -> Literal.t - ; visit_BooleanType : 'c -> Type.t -> Type.t - ; visit_Branch : 'c -> LCmd.t -> Formula.t -> LCmd.t - ; visit_Bug : 'c -> Flag.t -> Flag.t - ; visit_Call : - 'c -> - 'f Cmd.t -> - string -> - Expr.t -> - Expr.t list -> - 'f option -> - (string * (string * Expr.t) list) option -> - 'f Cmd.t - ; visit_Car : 'c -> UnOp.t -> UnOp.t - ; visit_Cdr : 'c -> UnOp.t -> UnOp.t - ; visit_Constant : 'c -> Literal.t -> Constant.t -> Literal.t - ; visit_ECall : - 'c -> - 'f Cmd.t -> - string -> - Expr.t -> - Expr.t list -> - 'f option -> - 'f Cmd.t - ; visit_EList : 'c -> Expr.t -> Expr.t list -> Expr.t - ; visit_ESet : 'c -> Expr.t -> Expr.t list -> Expr.t - ; visit_Emp : 'c -> Asrt.t -> Asrt.t - ; visit_Empty : 'c -> Literal.t -> Literal.t - ; visit_EmptyType : 'c -> Type.t -> Type.t - ; visit_Epsilon : 'c -> Constant.t -> Constant.t - ; visit_Eq : 'c -> Formula.t -> Expr.t -> Expr.t -> Formula.t - ; visit_Equal : 'c -> BinOp.t -> BinOp.t - ; visit_Error : 'c -> Flag.t -> Flag.t - ; visit_FDiv : 'c -> BinOp.t -> BinOp.t - ; visit_FLessThan : 'c -> BinOp.t -> BinOp.t - ; visit_FLessThanEqual : 'c -> BinOp.t -> BinOp.t - ; visit_FMinus : 'c -> BinOp.t -> BinOp.t - ; visit_FMod : 'c -> BinOp.t -> BinOp.t - ; visit_FPlus : 'c -> BinOp.t -> BinOp.t - ; visit_FTimes : 'c -> BinOp.t -> BinOp.t - ; visit_FUnaryMinus : 'c -> UnOp.t -> UnOp.t - ; visit_Fail : 'c -> 'f Cmd.t -> string -> Expr.t list -> 'f Cmd.t - ; visit_False : 'c -> Formula.t -> Formula.t - ; visit_Fold : - 'c -> - SLCmd.t -> - string -> - Expr.t list -> - (string * (string * Expr.t) list) option -> - SLCmd.t - ; visit_ForAll : - 'c -> - Formula.t -> - (string * Type.t option) list -> - Formula.t -> - Formula.t - ; visit_GA : - 'c -> Asrt.t -> string -> Expr.t list -> Expr.t list -> Asrt.t - ; visit_Wand : - 'c -> - Asrt.t -> - string * Expr.t list -> - string * Expr.t list -> - Asrt.t - ; visit_GUnfold : 'c -> SLCmd.t -> string -> SLCmd.t - ; visit_Goto : 'c -> 'f Cmd.t -> 'f -> 'f Cmd.t - ; visit_GuardedGoto : - 'c -> 'f Cmd.t -> Expr.t -> 'f -> 'f -> 'f Cmd.t - ; visit_IDiv : 'c -> BinOp.t -> BinOp.t - ; visit_ILessThan : 'c -> BinOp.t -> BinOp.t - ; visit_ILessThanEqual : 'c -> BinOp.t -> BinOp.t - ; visit_IMinus : 'c -> BinOp.t -> BinOp.t - ; visit_IMod : 'c -> BinOp.t -> BinOp.t - ; visit_IPlus : 'c -> BinOp.t -> BinOp.t - ; visit_ITimes : 'c -> BinOp.t -> BinOp.t - ; visit_IUnaryMinus : 'c -> UnOp.t -> UnOp.t - ; visit_If : - 'c -> LCmd.t -> Expr.t -> LCmd.t list -> LCmd.t list -> LCmd.t - ; visit_Int : 'c -> Literal.t -> Z.t -> Literal.t - ; visit_IntType : 'c -> Type.t -> Type.t - ; visit_Invariant : 'c -> SLCmd.t -> Asrt.t -> string list -> SLCmd.t - ; visit_LAction : - 'c -> 'f Cmd.t -> string -> string -> Expr.t list -> 'f Cmd.t - ; visit_LList : 'c -> Literal.t -> Literal.t list -> Literal.t - ; visit_LVar : 'c -> Expr.t -> string -> Expr.t - ; visit_LeftShift : 'c -> BinOp.t -> BinOp.t - ; visit_LeftShiftL : 'c -> BinOp.t -> BinOp.t - ; visit_LeftShiftF : 'c -> BinOp.t -> BinOp.t - ; visit_FLess : 'c -> Formula.t -> Expr.t -> Expr.t -> Formula.t - ; visit_FLessEq : 'c -> Formula.t -> Expr.t -> Expr.t -> Formula.t - ; visit_ILess : 'c -> Formula.t -> Expr.t -> Expr.t -> Formula.t - ; visit_ILessEq : 'c -> Formula.t -> Expr.t -> Expr.t -> Formula.t - ; visit_IsInt : 'c -> Formula.t -> Expr.t -> Formula.t - ; visit_ListType : 'c -> Type.t -> Type.t - ; visit_Lit : 'c -> Expr.t -> Literal.t -> Expr.t - ; visit_Loc : 'c -> Literal.t -> string -> Literal.t - ; visit_LocalTime : 'c -> Constant.t -> Constant.t - ; visit_Logic : 'c -> 'f Cmd.t -> LCmd.t -> 'f Cmd.t - ; visit_LstCat : 'c -> NOp.t -> NOp.t - ; visit_LstLen : 'c -> UnOp.t -> UnOp.t - ; visit_LstNth : 'c -> BinOp.t -> BinOp.t - ; visit_LstRepeat : 'c -> BinOp.t -> BinOp.t - ; visit_LstRev : 'c -> UnOp.t -> UnOp.t - ; visit_LstSub : 'c -> Expr.t -> Expr.t -> Expr.t -> Expr.t -> Expr.t - ; visit_M_abs : 'c -> UnOp.t -> UnOp.t - ; visit_M_acos : 'c -> UnOp.t -> UnOp.t - ; visit_M_asin : 'c -> UnOp.t -> UnOp.t - ; visit_M_atan : 'c -> UnOp.t -> UnOp.t - ; visit_M_atan2 : 'c -> BinOp.t -> BinOp.t - ; visit_M_ceil : 'c -> UnOp.t -> UnOp.t - ; visit_M_cos : 'c -> UnOp.t -> UnOp.t - ; visit_M_exp : 'c -> UnOp.t -> UnOp.t - ; visit_M_floor : 'c -> UnOp.t -> UnOp.t - ; visit_M_isNaN : 'c -> UnOp.t -> UnOp.t - ; visit_M_log : 'c -> UnOp.t -> UnOp.t - ; visit_M_pow : 'c -> BinOp.t -> BinOp.t - ; visit_M_round : 'c -> UnOp.t -> UnOp.t - ; visit_M_sgn : 'c -> UnOp.t -> UnOp.t - ; visit_M_sin : 'c -> UnOp.t -> UnOp.t - ; visit_M_sqrt : 'c -> UnOp.t -> UnOp.t - ; visit_M_tan : 'c -> UnOp.t -> UnOp.t - ; visit_Macro : 'c -> LCmd.t -> string -> Expr.t list -> LCmd.t - ; visit_MaxSafeInteger : 'c -> Constant.t -> Constant.t - ; visit_Max_float : 'c -> Constant.t -> Constant.t - ; visit_Min_float : 'c -> Constant.t -> Constant.t - ; visit_NOp : 'c -> Expr.t -> NOp.t -> Expr.t list -> Expr.t - ; visit_NoneType : 'c -> Type.t -> Type.t - ; visit_Nono : 'c -> Literal.t -> Literal.t - ; visit_Normal : 'c -> Flag.t -> Flag.t - ; visit_Not : 'c -> Formula.t -> Formula.t -> Formula.t - ; visit_Null : 'c -> Literal.t -> Literal.t - ; visit_NullType : 'c -> Type.t -> Type.t - ; visit_Num : 'c -> Literal.t -> float -> Literal.t - ; visit_NumberType : 'c -> Type.t -> Type.t - ; visit_ObjectType : 'c -> Type.t -> Type.t - ; visit_Or : 'c -> Formula.t -> Formula.t -> Formula.t -> Formula.t - ; visit_PVar : 'c -> Expr.t -> string -> Expr.t - ; visit_PhiAssignment : - 'c -> 'f Cmd.t -> (string * Expr.t list) list -> 'f Cmd.t - ; visit_Pi : 'c -> Constant.t -> Constant.t - ; visit_Pred : 'c -> Asrt.t -> string -> Expr.t list -> Asrt.t - ; visit_Pure : 'c -> Asrt.t -> Formula.t -> Asrt.t - ; visit_Random : 'c -> Constant.t -> Constant.t - ; visit_ReturnError : 'c -> 'f Cmd.t -> 'f Cmd.t - ; visit_ReturnNormal : 'c -> 'f Cmd.t -> 'f Cmd.t - ; visit_SL : 'c -> LCmd.t -> SLCmd.t -> LCmd.t - ; visit_SLessThan : 'c -> BinOp.t -> BinOp.t - ; visit_SepAssert : 'c -> SLCmd.t -> Asrt.t -> string list -> SLCmd.t - ; visit_SetDiff : 'c -> BinOp.t -> BinOp.t - ; visit_SetInter : 'c -> NOp.t -> NOp.t - ; visit_SetMem : 'c -> Formula.t -> Expr.t -> Expr.t -> Formula.t - ; visit_SetSub : 'c -> Formula.t -> Expr.t -> Expr.t -> Formula.t - ; visit_SetToList : 'c -> UnOp.t -> UnOp.t - ; visit_SetType : 'c -> Type.t -> Type.t - ; visit_SetUnion : 'c -> NOp.t -> NOp.t - ; visit_SignedRightShift : 'c -> BinOp.t -> BinOp.t - ; visit_SignedRightShiftL : 'c -> BinOp.t -> BinOp.t - ; visit_SignedRightShiftF : 'c -> BinOp.t -> BinOp.t - ; visit_Skip : 'c -> 'f Cmd.t -> 'f Cmd.t - ; visit_FreshSVar : 'c -> LCmd.t -> string -> LCmd.t - ; visit_Star : 'c -> Asrt.t -> Asrt.t -> Asrt.t -> Asrt.t - ; visit_StrCat : 'c -> BinOp.t -> BinOp.t - ; visit_StrLen : 'c -> UnOp.t -> UnOp.t - ; visit_NumToInt : 'c -> UnOp.t -> UnOp.t - ; visit_IntToNum : 'c -> UnOp.t -> UnOp.t - ; visit_StrLess : 'c -> Formula.t -> Expr.t -> Expr.t -> Formula.t - ; visit_StrNth : 'c -> BinOp.t -> BinOp.t - ; visit_String : 'c -> Literal.t -> string -> Literal.t - ; visit_StringType : 'c -> Type.t -> Type.t - ; visit_SymbExec : 'c -> SLCmd.t -> SLCmd.t - ; visit_ToInt32Op : 'c -> UnOp.t -> UnOp.t - ; visit_ToIntOp : 'c -> UnOp.t -> UnOp.t - ; visit_ToNumberOp : 'c -> UnOp.t -> UnOp.t - ; visit_ToStringOp : 'c -> UnOp.t -> UnOp.t - ; visit_ToUint16Op : 'c -> UnOp.t -> UnOp.t - ; visit_ToUint32Op : 'c -> UnOp.t -> UnOp.t - ; visit_True : 'c -> Formula.t -> Formula.t - ; visit_Type : 'c -> Literal.t -> Type.t -> Literal.t - ; visit_TypeOf : 'c -> UnOp.t -> UnOp.t - ; visit_TypeType : 'c -> Type.t -> Type.t - ; visit_Types : 'c -> Asrt.t -> (Expr.t * Type.t) list -> Asrt.t - ; visit_UNot : 'c -> UnOp.t -> UnOp.t - ; visit_UTCTime : 'c -> Constant.t -> Constant.t - ; visit_UnOp : 'c -> Expr.t -> UnOp.t -> Expr.t -> Expr.t - ; visit_Undefined : 'c -> Literal.t -> Literal.t - ; visit_UndefinedType : 'c -> Type.t -> Type.t - ; visit_Unfold : - 'c -> - SLCmd.t -> - string -> - Expr.t list -> - (string * string) list option -> - bool -> - SLCmd.t - ; visit_Package : - 'c -> - SLCmd.t -> - string * Expr.t list -> - string * Expr.t list -> - SLCmd.t - ; visit_UnsignedRightShift : 'c -> BinOp.t -> BinOp.t - ; visit_UnsignedRightShiftL : 'c -> BinOp.t -> BinOp.t - ; visit_UnsignedRightShiftF : 'c -> BinOp.t -> BinOp.t - ; visit_assertion : 'c -> Asrt.t -> Asrt.t - ; visit_bindings : - 'c -> - string * (string * Expr.t) list -> - string * (string * Expr.t) list - ; visit_binop : 'c -> BinOp.t -> BinOp.t - ; visit_bispec : 'c -> BiSpec.t -> BiSpec.t - ; visit_cmd : 'c -> 'f Cmd.t -> 'f Cmd.t - ; visit_constant : 'c -> Constant.t -> Constant.t - ; visit_expr : 'c -> Expr.t -> Expr.t - ; visit_flag : 'c -> Flag.t -> Flag.t - ; visit_formula : 'c -> Formula.t -> Formula.t - ; visit_lcmd : 'c -> LCmd.t -> LCmd.t - ; visit_lemma : 'c -> Lemma.t -> Lemma.t - ; visit_lemma_spec : 'c -> Lemma.spec -> Lemma.spec - ; visit_literal : 'c -> Literal.t -> Literal.t - ; visit_macro : 'c -> Macro.t -> Macro.t - ; visit_nop : 'c -> NOp.t -> NOp.t - ; visit_pred : 'c -> Pred.t -> Pred.t - ; visit_proc : 'c -> ('d, 'f) Proc.t -> ('d, 'f) Proc.t - ; visit_single_spec : 'c -> Spec.st -> Spec.st - ; visit_slcmd : 'c -> SLCmd.t -> SLCmd.t - ; visit_spec : 'c -> Spec.t -> Spec.t - ; visit_typ : 'c -> Type.t -> Type.t - ; visit_unop : 'c -> UnOp.t -> UnOp.t - ; .. > - - method visit_'annot : 'c -> 'd -> 'd - method visit_'label : 'c -> 'f -> 'f - method visit_ALoc : 'c -> Expr.t -> string -> Expr.t - method visit_And : 'c -> Formula.t -> Formula.t -> Formula.t -> Formula.t - method visit_Impl : 'c -> Formula.t -> Formula.t -> Formula.t -> Formula.t - - method visit_Apply : - 'c -> 'f Cmd.t -> string -> Expr.t -> 'f option -> 'f Cmd.t - - method visit_ApplyLem : - 'c -> SLCmd.t -> string -> Expr.t list -> string list -> SLCmd.t - - method visit_Arguments : 'c -> 'f Cmd.t -> string -> 'f Cmd.t - method visit_Assert : 'c -> LCmd.t -> Formula.t -> LCmd.t - method visit_Assignment : 'c -> 'f Cmd.t -> string -> Expr.t -> 'f Cmd.t - method visit_Assume : 'c -> LCmd.t -> Formula.t -> LCmd.t - method visit_AssumeType : 'c -> LCmd.t -> Expr.t -> Type.t -> LCmd.t - method visit_BAnd : 'c -> BinOp.t -> BinOp.t - method visit_BOr : 'c -> BinOp.t -> BinOp.t - method visit_BSetMem : 'c -> BinOp.t -> BinOp.t - method visit_BSetSub : 'c -> BinOp.t -> BinOp.t - method visit_BinOp : 'c -> Expr.t -> Expr.t -> BinOp.t -> Expr.t -> Expr.t - method visit_BitwiseAnd : 'c -> BinOp.t -> BinOp.t - method visit_BitwiseAndL : 'c -> BinOp.t -> BinOp.t - method visit_BitwiseAndF : 'c -> BinOp.t -> BinOp.t - method visit_BitwiseNot : 'c -> UnOp.t -> UnOp.t - method visit_BitwiseOr : 'c -> BinOp.t -> BinOp.t - method visit_BitwiseOrL : 'c -> BinOp.t -> BinOp.t - method visit_BitwiseOrF : 'c -> BinOp.t -> BinOp.t - method visit_BitwiseXor : 'c -> BinOp.t -> BinOp.t - method visit_BitwiseXorL : 'c -> BinOp.t -> BinOp.t - method visit_BitwiseXorF : 'c -> BinOp.t -> BinOp.t - method visit_Bool : 'c -> Literal.t -> bool -> Literal.t - method visit_BooleanType : 'c -> Type.t -> Type.t - method visit_Branch : 'c -> LCmd.t -> Formula.t -> LCmd.t - method visit_Bug : 'c -> Flag.t -> Flag.t - - method visit_Call : - 'c -> - 'f Cmd.t -> - string -> - Expr.t -> - Expr.t list -> - 'f option -> - (string * (string * Expr.t) list) option -> - 'f Cmd.t - - method visit_Car : 'c -> UnOp.t -> UnOp.t - method visit_Cdr : 'c -> UnOp.t -> UnOp.t - method visit_Constant : 'c -> Literal.t -> Constant.t -> Literal.t - - method visit_ECall : - 'c -> - 'f Cmd.t -> - string -> - Expr.t -> - Expr.t list -> - 'f option -> - 'f Cmd.t - - method visit_EList : 'c -> Expr.t -> Expr.t list -> Expr.t - method visit_ESet : 'c -> Expr.t -> Expr.t list -> Expr.t - method visit_Emp : 'c -> Asrt.t -> Asrt.t - method visit_Empty : 'c -> Literal.t -> Literal.t - method visit_EmptyType : 'c -> Type.t -> Type.t - method visit_Epsilon : 'c -> Constant.t -> Constant.t - method visit_Eq : 'c -> Formula.t -> Expr.t -> Expr.t -> Formula.t - method visit_Equal : 'c -> BinOp.t -> BinOp.t - method visit_Error : 'c -> Flag.t -> Flag.t - method visit_FDiv : 'c -> BinOp.t -> BinOp.t - method visit_FLessThan : 'c -> BinOp.t -> BinOp.t - method visit_FLessThanEqual : 'c -> BinOp.t -> BinOp.t - method visit_FMinus : 'c -> BinOp.t -> BinOp.t - method visit_FMod : 'c -> BinOp.t -> BinOp.t - method visit_FPlus : 'c -> BinOp.t -> BinOp.t - method visit_FTimes : 'c -> BinOp.t -> BinOp.t - method visit_FUnaryMinus : 'c -> UnOp.t -> UnOp.t - method visit_Fail : 'c -> 'f Cmd.t -> string -> Expr.t list -> 'f Cmd.t - method visit_False : 'c -> Formula.t -> Formula.t - - method visit_Fold : - 'c -> - SLCmd.t -> - string -> - Expr.t list -> - (string * (string * Expr.t) list) option -> - SLCmd.t - - method visit_ForAll : - 'c -> - Formula.t -> - (string * Type.t option) list -> - Formula.t -> - Formula.t - - method visit_GA : - 'c -> Asrt.t -> string -> Expr.t list -> Expr.t list -> Asrt.t - - method visit_Wand : - 'c -> Asrt.t -> string * Expr.t list -> string * Expr.t list -> Asrt.t - - method visit_GUnfold : 'c -> SLCmd.t -> string -> SLCmd.t - method visit_Goto : 'c -> 'f Cmd.t -> 'f -> 'f Cmd.t - - method visit_GuardedGoto : - 'c -> 'f Cmd.t -> Expr.t -> 'f -> 'f -> 'f Cmd.t - - method visit_IDiv : 'c -> BinOp.t -> BinOp.t - method visit_ILessThan : 'c -> BinOp.t -> BinOp.t - method visit_ILessThanEqual : 'c -> BinOp.t -> BinOp.t - method visit_IMinus : 'c -> BinOp.t -> BinOp.t - method visit_IMod : 'c -> BinOp.t -> BinOp.t - method visit_IPlus : 'c -> BinOp.t -> BinOp.t - method visit_ITimes : 'c -> BinOp.t -> BinOp.t - method visit_IUnaryMinus : 'c -> UnOp.t -> UnOp.t - - method visit_If : - 'c -> LCmd.t -> Expr.t -> LCmd.t list -> LCmd.t list -> LCmd.t - - method visit_Int : 'c -> Literal.t -> Z.t -> Literal.t - method visit_IntType : 'c -> Type.t -> Type.t - method visit_Invariant : 'c -> SLCmd.t -> Asrt.t -> string list -> SLCmd.t - - method visit_LAction : - 'c -> 'f Cmd.t -> string -> string -> Expr.t list -> 'f Cmd.t - - method visit_LList : 'c -> Literal.t -> Literal.t list -> Literal.t - method visit_LVar : 'c -> Expr.t -> string -> Expr.t - method visit_LeftShift : 'c -> BinOp.t -> BinOp.t - method visit_LeftShiftL : 'c -> BinOp.t -> BinOp.t - method visit_LeftShiftF : 'c -> BinOp.t -> BinOp.t - method visit_FLess : 'c -> Formula.t -> Expr.t -> Expr.t -> Formula.t - method visit_FLessEq : 'c -> Formula.t -> Expr.t -> Expr.t -> Formula.t - method visit_ILess : 'c -> Formula.t -> Expr.t -> Expr.t -> Formula.t - method visit_ILessEq : 'c -> Formula.t -> Expr.t -> Expr.t -> Formula.t - method visit_IsInt : 'c -> Formula.t -> Expr.t -> Formula.t - method visit_ListType : 'c -> Type.t -> Type.t - method visit_Lit : 'c -> Expr.t -> Literal.t -> Expr.t - method visit_Loc : 'c -> Literal.t -> string -> Literal.t - method visit_LocalTime : 'c -> Constant.t -> Constant.t - method visit_Logic : 'c -> 'f Cmd.t -> LCmd.t -> 'f Cmd.t - method visit_LstCat : 'c -> NOp.t -> NOp.t - method visit_LstLen : 'c -> UnOp.t -> UnOp.t - method visit_LstNth : 'c -> BinOp.t -> BinOp.t - method visit_LstRepeat : 'c -> BinOp.t -> BinOp.t - method visit_LstRev : 'c -> UnOp.t -> UnOp.t - method visit_LstSub : 'c -> Expr.t -> Expr.t -> Expr.t -> Expr.t -> Expr.t - method visit_M_abs : 'c -> UnOp.t -> UnOp.t - method visit_M_acos : 'c -> UnOp.t -> UnOp.t - method visit_M_asin : 'c -> UnOp.t -> UnOp.t - method visit_M_atan : 'c -> UnOp.t -> UnOp.t - method visit_M_atan2 : 'c -> BinOp.t -> BinOp.t - method visit_M_ceil : 'c -> UnOp.t -> UnOp.t - method visit_M_cos : 'c -> UnOp.t -> UnOp.t - method visit_M_exp : 'c -> UnOp.t -> UnOp.t - method visit_M_floor : 'c -> UnOp.t -> UnOp.t - method visit_M_isNaN : 'c -> UnOp.t -> UnOp.t - method visit_M_log : 'c -> UnOp.t -> UnOp.t - method visit_M_pow : 'c -> BinOp.t -> BinOp.t - method visit_M_round : 'c -> UnOp.t -> UnOp.t - method visit_M_sgn : 'c -> UnOp.t -> UnOp.t - method visit_M_sin : 'c -> UnOp.t -> UnOp.t - method visit_M_sqrt : 'c -> UnOp.t -> UnOp.t - method visit_M_tan : 'c -> UnOp.t -> UnOp.t - method visit_Macro : 'c -> LCmd.t -> string -> Expr.t list -> LCmd.t - method visit_MaxSafeInteger : 'c -> Constant.t -> Constant.t - method visit_Max_float : 'c -> Constant.t -> Constant.t - method visit_Min_float : 'c -> Constant.t -> Constant.t - method visit_NOp : 'c -> Expr.t -> NOp.t -> Expr.t list -> Expr.t - method visit_NoneType : 'c -> Type.t -> Type.t - method visit_Nono : 'c -> Literal.t -> Literal.t - method visit_Normal : 'c -> Flag.t -> Flag.t - method visit_Not : 'c -> Formula.t -> Formula.t -> Formula.t - method visit_Null : 'c -> Literal.t -> Literal.t - method visit_NullType : 'c -> Type.t -> Type.t - method visit_Num : 'c -> Literal.t -> float -> Literal.t - method visit_NumberType : 'c -> Type.t -> Type.t - method visit_ObjectType : 'c -> Type.t -> Type.t - method visit_Or : 'c -> Formula.t -> Formula.t -> Formula.t -> Formula.t - method visit_PVar : 'c -> Expr.t -> string -> Expr.t - - method visit_PhiAssignment : - 'c -> 'f Cmd.t -> (string * Expr.t list) list -> 'f Cmd.t - - method visit_Pi : 'c -> Constant.t -> Constant.t - method visit_Pred : 'c -> Asrt.t -> string -> Expr.t list -> Asrt.t - method visit_Pure : 'c -> Asrt.t -> Formula.t -> Asrt.t - method visit_Random : 'c -> Constant.t -> Constant.t - method visit_ReturnError : 'c -> 'f Cmd.t -> 'f Cmd.t - method visit_ReturnNormal : 'c -> 'f Cmd.t -> 'f Cmd.t - method visit_SL : 'c -> LCmd.t -> SLCmd.t -> LCmd.t - method visit_SLessThan : 'c -> BinOp.t -> BinOp.t - method visit_SepAssert : 'c -> SLCmd.t -> Asrt.t -> string list -> SLCmd.t - method visit_SetDiff : 'c -> BinOp.t -> BinOp.t - method visit_SetInter : 'c -> NOp.t -> NOp.t - method visit_SetMem : 'c -> Formula.t -> Expr.t -> Expr.t -> Formula.t - method visit_SetSub : 'c -> Formula.t -> Expr.t -> Expr.t -> Formula.t - method visit_SetToList : 'c -> UnOp.t -> UnOp.t - method visit_SetType : 'c -> Type.t -> Type.t - method visit_SetUnion : 'c -> NOp.t -> NOp.t - method visit_SignedRightShift : 'c -> BinOp.t -> BinOp.t - method visit_SignedRightShiftL : 'c -> BinOp.t -> BinOp.t - method visit_SignedRightShiftF : 'c -> BinOp.t -> BinOp.t - method visit_Skip : 'c -> 'f Cmd.t -> 'f Cmd.t - method visit_FreshSVar : 'c -> LCmd.t -> string -> LCmd.t - method visit_Star : 'c -> Asrt.t -> Asrt.t -> Asrt.t -> Asrt.t - method visit_StrCat : 'c -> BinOp.t -> BinOp.t - method visit_StrLen : 'c -> UnOp.t -> UnOp.t - method visit_IntToNum : 'c -> UnOp.t -> UnOp.t - method visit_NumToInt : 'c -> UnOp.t -> UnOp.t - method visit_StrLess : 'c -> Formula.t -> Expr.t -> Expr.t -> Formula.t - method visit_StrNth : 'c -> BinOp.t -> BinOp.t - method visit_String : 'c -> Literal.t -> string -> Literal.t - method visit_StringType : 'c -> Type.t -> Type.t - method visit_SymbExec : 'c -> SLCmd.t -> SLCmd.t - method visit_ToInt32Op : 'c -> UnOp.t -> UnOp.t - method visit_ToIntOp : 'c -> UnOp.t -> UnOp.t - method visit_ToNumberOp : 'c -> UnOp.t -> UnOp.t - method visit_ToStringOp : 'c -> UnOp.t -> UnOp.t - method visit_ToUint16Op : 'c -> UnOp.t -> UnOp.t - method visit_ToUint32Op : 'c -> UnOp.t -> UnOp.t - method visit_True : 'c -> Formula.t -> Formula.t - method visit_Type : 'c -> Literal.t -> Type.t -> Literal.t - method visit_TypeOf : 'c -> UnOp.t -> UnOp.t - method visit_TypeType : 'c -> Type.t -> Type.t - method visit_Types : 'c -> Asrt.t -> (Expr.t * Type.t) list -> Asrt.t - method visit_UNot : 'c -> UnOp.t -> UnOp.t - method visit_UTCTime : 'c -> Constant.t -> Constant.t - method visit_UnOp : 'c -> Expr.t -> UnOp.t -> Expr.t -> Expr.t - method visit_Undefined : 'c -> Literal.t -> Literal.t - method visit_UndefinedType : 'c -> Type.t -> Type.t - - method visit_Unfold : - 'c -> - SLCmd.t -> - string -> - Expr.t list -> - (string * string) list option -> - bool -> - SLCmd.t - - method visit_Package : - 'c -> SLCmd.t -> string * Expr.t list -> string * Expr.t list -> SLCmd.t - - method visit_UnsignedRightShift : 'c -> BinOp.t -> BinOp.t - method visit_UnsignedRightShiftL : 'c -> BinOp.t -> BinOp.t - method visit_UnsignedRightShiftF : 'c -> BinOp.t -> BinOp.t - - method private visit_array : - 'env 'a. ('env -> 'a -> 'a) -> 'env -> 'a array -> 'a array - - method visit_assertion : 'c -> Asrt.t -> Asrt.t - - method visit_bindings : - 'c -> string * (string * Expr.t) list -> string * (string * Expr.t) list - - method visit_binop : 'c -> BinOp.t -> BinOp.t - method visit_bispec : 'c -> BiSpec.t -> BiSpec.t - method private visit_bool : 'env. 'env -> bool -> bool - method private visit_bytes : 'env. 'env -> bytes -> bytes - method private visit_char : 'env. 'env -> char -> char - method visit_cmd : 'c -> 'f Cmd.t -> 'f Cmd.t - method visit_constant : 'c -> Constant.t -> Constant.t - method visit_expr : 'c -> Expr.t -> Expr.t - method visit_flag : 'c -> Flag.t -> Flag.t - method private visit_float : 'env. 'env -> float -> float - method visit_formula : 'c -> Formula.t -> Formula.t - method private visit_int : 'env. 'env -> int -> int - method private visit_int32 : 'env. 'env -> int32 -> int32 - method private visit_int64 : 'env. 'env -> int64 -> int64 - - method private visit_lazy_t : - 'env 'a. ('env -> 'a -> 'a) -> 'env -> 'a Lazy.t -> 'a Lazy.t - - method visit_lcmd : 'c -> LCmd.t -> LCmd.t - method visit_lemma : 'c -> Lemma.t -> Lemma.t - method visit_lemma_spec : 'c -> Lemma.spec -> Lemma.spec - - method private visit_list : - 'env 'a. ('env -> 'a -> 'a) -> 'env -> 'a list -> 'a list - - method visit_literal : 'c -> Literal.t -> Literal.t - method visit_macro : 'c -> Macro.t -> Macro.t - method private visit_nativeint : 'env. 'env -> nativeint -> nativeint - method visit_nop : 'c -> NOp.t -> NOp.t - - method private visit_option : - 'env 'a. ('env -> 'a -> 'a) -> 'env -> 'a option -> 'a option - - method visit_pred : 'c -> Pred.t -> Pred.t - method visit_proc : 'c -> ('d, 'f) Proc.t -> ('d, 'f) Proc.t - - method private visit_ref : - 'env 'a. ('env -> 'a -> 'a) -> 'env -> 'a ref -> 'a ref - - method private visit_result : - 'env 'a 'e. - ('env -> 'a -> 'a) -> - ('env -> 'e -> 'e) -> - 'env -> - ('a, 'e) Result.result -> - ('a, 'e) Result.result - - method visit_single_spec : 'c -> Spec.st -> Spec.st - method visit_slcmd : 'c -> SLCmd.t -> SLCmd.t - method visit_spec : 'c -> Spec.t -> Spec.t - method private visit_string : 'env. 'env -> string -> string - method visit_typ : 'c -> Type.t -> Type.t - method private visit_unit : 'env. 'env -> unit -> unit - method visit_unop : 'c -> UnOp.t -> UnOp.t - end + class ['b] endo : object ('b) + constraint + 'b = < visit_'annot : 'c -> 'd -> 'd + ; visit_'label : 'c -> 'f -> 'f + ; visit_ALoc : 'c -> Expr.t -> string -> Expr.t + ; visit_And : 'c -> Formula.t -> Formula.t -> Formula.t -> Formula.t + ; visit_Impl : 'c -> Formula.t -> Formula.t -> Formula.t -> Formula.t + ; visit_Apply : + 'c -> 'f Cmd.t -> string -> Expr.t -> 'f option -> 'f Cmd.t + ; visit_ApplyLem : + 'c -> SLCmd.t -> string -> Expr.t list -> string list -> SLCmd.t + ; visit_Arguments : 'c -> 'f Cmd.t -> string -> 'f Cmd.t + ; visit_Assert : 'c -> LCmd.t -> Formula.t -> LCmd.t + ; visit_Assignment : 'c -> 'f Cmd.t -> string -> Expr.t -> 'f Cmd.t + ; visit_Assume : 'c -> LCmd.t -> Formula.t -> LCmd.t + ; visit_AssumeType : 'c -> LCmd.t -> Expr.t -> Type.t -> LCmd.t + ; visit_BAnd : 'c -> BinOp.t -> BinOp.t + ; visit_BOr : 'c -> BinOp.t -> BinOp.t + ; visit_BSetMem : 'c -> BinOp.t -> BinOp.t + ; visit_BSetSub : 'c -> BinOp.t -> BinOp.t + ; visit_BinOp : 'c -> Expr.t -> Expr.t -> BinOp.t -> Expr.t -> Expr.t + ; visit_BitwiseAnd : 'c -> BinOp.t -> BinOp.t + ; visit_BitwiseAndL : 'c -> BinOp.t -> BinOp.t + ; visit_BitwiseAndF : 'c -> BinOp.t -> BinOp.t + ; visit_BitwiseNot : 'c -> UnOp.t -> UnOp.t + ; visit_BitwiseOr : 'c -> BinOp.t -> BinOp.t + ; visit_BitwiseOrL : 'c -> BinOp.t -> BinOp.t + ; visit_BitwiseOrF : 'c -> BinOp.t -> BinOp.t + ; visit_BitwiseXor : 'c -> BinOp.t -> BinOp.t + ; visit_BitwiseXorL : 'c -> BinOp.t -> BinOp.t + ; visit_BitwiseXorF : 'c -> BinOp.t -> BinOp.t + ; visit_Bool : 'c -> Literal.t -> bool -> Literal.t + ; visit_BooleanType : 'c -> Type.t -> Type.t + ; visit_Branch : 'c -> LCmd.t -> Formula.t -> LCmd.t + ; visit_Bug : 'c -> Flag.t -> Flag.t + ; visit_Call : + 'c -> + 'f Cmd.t -> + string -> + Expr.t -> + Expr.t list -> + 'f option -> + (string * (string * Expr.t) list) option -> + 'f Cmd.t + ; visit_Car : 'c -> UnOp.t -> UnOp.t + ; visit_Cdr : 'c -> UnOp.t -> UnOp.t + ; visit_Constant : 'c -> Literal.t -> Constant.t -> Literal.t + ; visit_ECall : + 'c -> + 'f Cmd.t -> + string -> + Expr.t -> + Expr.t list -> + 'f option -> + 'f Cmd.t + ; visit_EList : 'c -> Expr.t -> Expr.t list -> Expr.t + ; visit_ESet : 'c -> Expr.t -> Expr.t list -> Expr.t + ; visit_Emp : 'c -> Asrt.t -> Asrt.t + ; visit_Empty : 'c -> Literal.t -> Literal.t + ; visit_EmptyType : 'c -> Type.t -> Type.t + ; visit_Epsilon : 'c -> Constant.t -> Constant.t + ; visit_Eq : 'c -> Formula.t -> Expr.t -> Expr.t -> Formula.t + ; visit_Equal : 'c -> BinOp.t -> BinOp.t + ; visit_Error : 'c -> Flag.t -> Flag.t + ; visit_FDiv : 'c -> BinOp.t -> BinOp.t + ; visit_FLessThan : 'c -> BinOp.t -> BinOp.t + ; visit_FLessThanEqual : 'c -> BinOp.t -> BinOp.t + ; visit_FMinus : 'c -> BinOp.t -> BinOp.t + ; visit_FMod : 'c -> BinOp.t -> BinOp.t + ; visit_FPlus : 'c -> BinOp.t -> BinOp.t + ; visit_FTimes : 'c -> BinOp.t -> BinOp.t + ; visit_FUnaryMinus : 'c -> UnOp.t -> UnOp.t + ; visit_Fail : 'c -> 'f Cmd.t -> string -> Expr.t list -> 'f Cmd.t + ; visit_False : 'c -> Formula.t -> Formula.t + ; visit_Fold : + 'c -> + SLCmd.t -> + string -> + Expr.t list -> + (string * (string * Expr.t) list) option -> + SLCmd.t + ; visit_ForAll : + 'c -> + Formula.t -> + (string * Type.t option) list -> + Formula.t -> + Formula.t + ; visit_GA : + 'c -> Asrt.t -> string -> Expr.t list -> Expr.t list -> Asrt.t + ; visit_Wand : + 'c -> + Asrt.t -> + string * Expr.t list -> + string * Expr.t list -> + Asrt.t + ; visit_GUnfold : 'c -> SLCmd.t -> string -> SLCmd.t + ; visit_Goto : 'c -> 'f Cmd.t -> 'f -> 'f Cmd.t + ; visit_GuardedGoto : 'c -> 'f Cmd.t -> Expr.t -> 'f -> 'f -> 'f Cmd.t + ; visit_IDiv : 'c -> BinOp.t -> BinOp.t + ; visit_ILessThan : 'c -> BinOp.t -> BinOp.t + ; visit_ILessThanEqual : 'c -> BinOp.t -> BinOp.t + ; visit_IMinus : 'c -> BinOp.t -> BinOp.t + ; visit_IMod : 'c -> BinOp.t -> BinOp.t + ; visit_IPlus : 'c -> BinOp.t -> BinOp.t + ; visit_ITimes : 'c -> BinOp.t -> BinOp.t + ; visit_IUnaryMinus : 'c -> UnOp.t -> UnOp.t + ; visit_If : + 'c -> LCmd.t -> Expr.t -> LCmd.t list -> LCmd.t list -> LCmd.t + ; visit_Int : 'c -> Literal.t -> Z.t -> Literal.t + ; visit_IntType : 'c -> Type.t -> Type.t + ; visit_Invariant : 'c -> SLCmd.t -> Asrt.t -> string list -> SLCmd.t + ; visit_LAction : + 'c -> 'f Cmd.t -> string -> string -> Expr.t list -> 'f Cmd.t + ; visit_LList : 'c -> Literal.t -> Literal.t list -> Literal.t + ; visit_LVar : 'c -> Expr.t -> string -> Expr.t + ; visit_LeftShift : 'c -> BinOp.t -> BinOp.t + ; visit_LeftShiftL : 'c -> BinOp.t -> BinOp.t + ; visit_LeftShiftF : 'c -> BinOp.t -> BinOp.t + ; visit_FLess : 'c -> Formula.t -> Expr.t -> Expr.t -> Formula.t + ; visit_FLessEq : 'c -> Formula.t -> Expr.t -> Expr.t -> Formula.t + ; visit_ILess : 'c -> Formula.t -> Expr.t -> Expr.t -> Formula.t + ; visit_ILessEq : 'c -> Formula.t -> Expr.t -> Expr.t -> Formula.t + ; visit_IsInt : 'c -> Formula.t -> Expr.t -> Formula.t + ; visit_ListType : 'c -> Type.t -> Type.t + ; visit_Lit : 'c -> Expr.t -> Literal.t -> Expr.t + ; visit_Loc : 'c -> Literal.t -> string -> Literal.t + ; visit_LocalTime : 'c -> Constant.t -> Constant.t + ; visit_Logic : 'c -> 'f Cmd.t -> LCmd.t -> 'f Cmd.t + ; visit_LstCat : 'c -> NOp.t -> NOp.t + ; visit_LstLen : 'c -> UnOp.t -> UnOp.t + ; visit_LstNth : 'c -> BinOp.t -> BinOp.t + ; visit_LstRepeat : 'c -> BinOp.t -> BinOp.t + ; visit_LstRev : 'c -> UnOp.t -> UnOp.t + ; visit_LstSub : 'c -> Expr.t -> Expr.t -> Expr.t -> Expr.t -> Expr.t + ; visit_M_abs : 'c -> UnOp.t -> UnOp.t + ; visit_M_acos : 'c -> UnOp.t -> UnOp.t + ; visit_M_asin : 'c -> UnOp.t -> UnOp.t + ; visit_M_atan : 'c -> UnOp.t -> UnOp.t + ; visit_M_atan2 : 'c -> BinOp.t -> BinOp.t + ; visit_M_ceil : 'c -> UnOp.t -> UnOp.t + ; visit_M_cos : 'c -> UnOp.t -> UnOp.t + ; visit_M_exp : 'c -> UnOp.t -> UnOp.t + ; visit_M_floor : 'c -> UnOp.t -> UnOp.t + ; visit_M_isNaN : 'c -> UnOp.t -> UnOp.t + ; visit_M_log : 'c -> UnOp.t -> UnOp.t + ; visit_M_pow : 'c -> BinOp.t -> BinOp.t + ; visit_M_round : 'c -> UnOp.t -> UnOp.t + ; visit_M_sgn : 'c -> UnOp.t -> UnOp.t + ; visit_M_sin : 'c -> UnOp.t -> UnOp.t + ; visit_M_sqrt : 'c -> UnOp.t -> UnOp.t + ; visit_M_tan : 'c -> UnOp.t -> UnOp.t + ; visit_Macro : 'c -> LCmd.t -> string -> Expr.t list -> LCmd.t + ; visit_MaxSafeInteger : 'c -> Constant.t -> Constant.t + ; visit_Max_float : 'c -> Constant.t -> Constant.t + ; visit_Min_float : 'c -> Constant.t -> Constant.t + ; visit_NOp : 'c -> Expr.t -> NOp.t -> Expr.t list -> Expr.t + ; visit_NoneType : 'c -> Type.t -> Type.t + ; visit_Nono : 'c -> Literal.t -> Literal.t + ; visit_Normal : 'c -> Flag.t -> Flag.t + ; visit_Not : 'c -> Formula.t -> Formula.t -> Formula.t + ; visit_Null : 'c -> Literal.t -> Literal.t + ; visit_NullType : 'c -> Type.t -> Type.t + ; visit_Num : 'c -> Literal.t -> float -> Literal.t + ; visit_NumberType : 'c -> Type.t -> Type.t + ; visit_ObjectType : 'c -> Type.t -> Type.t + ; visit_Or : 'c -> Formula.t -> Formula.t -> Formula.t -> Formula.t + ; visit_PVar : 'c -> Expr.t -> string -> Expr.t + ; visit_PhiAssignment : + 'c -> 'f Cmd.t -> (string * Expr.t list) list -> 'f Cmd.t + ; visit_Pi : 'c -> Constant.t -> Constant.t + ; visit_Pred : 'c -> Asrt.t -> string -> Expr.t list -> Asrt.t + ; visit_Pure : 'c -> Asrt.t -> Formula.t -> Asrt.t + ; visit_Random : 'c -> Constant.t -> Constant.t + ; visit_ReturnError : 'c -> 'f Cmd.t -> 'f Cmd.t + ; visit_ReturnNormal : 'c -> 'f Cmd.t -> 'f Cmd.t + ; visit_SL : 'c -> LCmd.t -> SLCmd.t -> LCmd.t + ; visit_SLessThan : 'c -> BinOp.t -> BinOp.t + ; visit_SepAssert : 'c -> SLCmd.t -> Asrt.t -> string list -> SLCmd.t + ; visit_SetDiff : 'c -> BinOp.t -> BinOp.t + ; visit_SetInter : 'c -> NOp.t -> NOp.t + ; visit_SetMem : 'c -> Formula.t -> Expr.t -> Expr.t -> Formula.t + ; visit_SetSub : 'c -> Formula.t -> Expr.t -> Expr.t -> Formula.t + ; visit_SetToList : 'c -> UnOp.t -> UnOp.t + ; visit_SetType : 'c -> Type.t -> Type.t + ; visit_SetUnion : 'c -> NOp.t -> NOp.t + ; visit_SignedRightShift : 'c -> BinOp.t -> BinOp.t + ; visit_SignedRightShiftL : 'c -> BinOp.t -> BinOp.t + ; visit_SignedRightShiftF : 'c -> BinOp.t -> BinOp.t + ; visit_Skip : 'c -> 'f Cmd.t -> 'f Cmd.t + ; visit_FreshSVar : 'c -> LCmd.t -> string -> LCmd.t + ; visit_Star : 'c -> Asrt.t -> Asrt.t -> Asrt.t -> Asrt.t + ; visit_StrCat : 'c -> BinOp.t -> BinOp.t + ; visit_StrLen : 'c -> UnOp.t -> UnOp.t + ; visit_NumToInt : 'c -> UnOp.t -> UnOp.t + ; visit_IntToNum : 'c -> UnOp.t -> UnOp.t + ; visit_StrLess : 'c -> Formula.t -> Expr.t -> Expr.t -> Formula.t + ; visit_StrNth : 'c -> BinOp.t -> BinOp.t + ; visit_String : 'c -> Literal.t -> string -> Literal.t + ; visit_StringType : 'c -> Type.t -> Type.t + ; visit_SymbExec : 'c -> SLCmd.t -> SLCmd.t + ; visit_ToInt32Op : 'c -> UnOp.t -> UnOp.t + ; visit_ToIntOp : 'c -> UnOp.t -> UnOp.t + ; visit_ToNumberOp : 'c -> UnOp.t -> UnOp.t + ; visit_ToStringOp : 'c -> UnOp.t -> UnOp.t + ; visit_ToUint16Op : 'c -> UnOp.t -> UnOp.t + ; visit_ToUint32Op : 'c -> UnOp.t -> UnOp.t + ; visit_True : 'c -> Formula.t -> Formula.t + ; visit_Type : 'c -> Literal.t -> Type.t -> Literal.t + ; visit_TypeOf : 'c -> UnOp.t -> UnOp.t + ; visit_TypeType : 'c -> Type.t -> Type.t + ; visit_Types : 'c -> Asrt.t -> (Expr.t * Type.t) list -> Asrt.t + ; visit_UNot : 'c -> UnOp.t -> UnOp.t + ; visit_UTCTime : 'c -> Constant.t -> Constant.t + ; visit_UnOp : 'c -> Expr.t -> UnOp.t -> Expr.t -> Expr.t + ; visit_Undefined : 'c -> Literal.t -> Literal.t + ; visit_UndefinedType : 'c -> Type.t -> Type.t + ; visit_Unfold : + 'c -> + SLCmd.t -> + string -> + Expr.t list -> + (string * string) list option -> + bool -> + SLCmd.t + ; visit_Package : + 'c -> + SLCmd.t -> + string * Expr.t list -> + string * Expr.t list -> + SLCmd.t + ; visit_UnsignedRightShift : 'c -> BinOp.t -> BinOp.t + ; visit_UnsignedRightShiftL : 'c -> BinOp.t -> BinOp.t + ; visit_UnsignedRightShiftF : 'c -> BinOp.t -> BinOp.t + ; visit_assertion : 'c -> Asrt.t -> Asrt.t + ; visit_bindings : + 'c -> + string * (string * Expr.t) list -> + string * (string * Expr.t) list + ; visit_binop : 'c -> BinOp.t -> BinOp.t + ; visit_bispec : 'c -> BiSpec.t -> BiSpec.t + ; visit_cmd : 'c -> 'f Cmd.t -> 'f Cmd.t + ; visit_constant : 'c -> Constant.t -> Constant.t + ; visit_expr : 'c -> Expr.t -> Expr.t + ; visit_flag : 'c -> Flag.t -> Flag.t + ; visit_formula : 'c -> Formula.t -> Formula.t + ; visit_lcmd : 'c -> LCmd.t -> LCmd.t + ; visit_lemma : 'c -> Lemma.t -> Lemma.t + ; visit_lemma_spec : 'c -> Lemma.spec -> Lemma.spec + ; visit_literal : 'c -> Literal.t -> Literal.t + ; visit_macro : 'c -> Macro.t -> Macro.t + ; visit_nop : 'c -> NOp.t -> NOp.t + ; visit_pred : 'c -> Pred.t -> Pred.t + ; visit_proc : 'c -> ('d, 'f) Proc.t -> ('d, 'f) Proc.t + ; visit_single_spec : 'c -> Spec.st -> Spec.st + ; visit_slcmd : 'c -> SLCmd.t -> SLCmd.t + ; visit_spec : 'c -> Spec.t -> Spec.t + ; visit_typ : 'c -> Type.t -> Type.t + ; visit_unop : 'c -> UnOp.t -> UnOp.t + ; .. > + + method visit_'annot : 'c -> 'd -> 'd + method visit_'label : 'c -> 'f -> 'f + method visit_ALoc : 'c -> Expr.t -> string -> Expr.t + method visit_And : 'c -> Formula.t -> Formula.t -> Formula.t -> Formula.t + method visit_Impl : 'c -> Formula.t -> Formula.t -> Formula.t -> Formula.t + + method visit_Apply : + 'c -> 'f Cmd.t -> string -> Expr.t -> 'f option -> 'f Cmd.t + + method visit_ApplyLem : + 'c -> SLCmd.t -> string -> Expr.t list -> string list -> SLCmd.t + + method visit_Arguments : 'c -> 'f Cmd.t -> string -> 'f Cmd.t + method visit_Assert : 'c -> LCmd.t -> Formula.t -> LCmd.t + method visit_Assignment : 'c -> 'f Cmd.t -> string -> Expr.t -> 'f Cmd.t + method visit_Assume : 'c -> LCmd.t -> Formula.t -> LCmd.t + method visit_AssumeType : 'c -> LCmd.t -> Expr.t -> Type.t -> LCmd.t + method visit_BAnd : 'c -> BinOp.t -> BinOp.t + method visit_BOr : 'c -> BinOp.t -> BinOp.t + method visit_BSetMem : 'c -> BinOp.t -> BinOp.t + method visit_BSetSub : 'c -> BinOp.t -> BinOp.t + method visit_BinOp : 'c -> Expr.t -> Expr.t -> BinOp.t -> Expr.t -> Expr.t + method visit_BitwiseAnd : 'c -> BinOp.t -> BinOp.t + method visit_BitwiseAndL : 'c -> BinOp.t -> BinOp.t + method visit_BitwiseAndF : 'c -> BinOp.t -> BinOp.t + method visit_BitwiseNot : 'c -> UnOp.t -> UnOp.t + method visit_BitwiseOr : 'c -> BinOp.t -> BinOp.t + method visit_BitwiseOrL : 'c -> BinOp.t -> BinOp.t + method visit_BitwiseOrF : 'c -> BinOp.t -> BinOp.t + method visit_BitwiseXor : 'c -> BinOp.t -> BinOp.t + method visit_BitwiseXorL : 'c -> BinOp.t -> BinOp.t + method visit_BitwiseXorF : 'c -> BinOp.t -> BinOp.t + method visit_Bool : 'c -> Literal.t -> bool -> Literal.t + method visit_BooleanType : 'c -> Type.t -> Type.t + method visit_Branch : 'c -> LCmd.t -> Formula.t -> LCmd.t + method visit_Bug : 'c -> Flag.t -> Flag.t + + method visit_Call : + 'c -> + 'f Cmd.t -> + string -> + Expr.t -> + Expr.t list -> + 'f option -> + (string * (string * Expr.t) list) option -> + 'f Cmd.t + + method visit_Car : 'c -> UnOp.t -> UnOp.t + method visit_Cdr : 'c -> UnOp.t -> UnOp.t + method visit_Constant : 'c -> Literal.t -> Constant.t -> Literal.t + + method visit_ECall : + 'c -> 'f Cmd.t -> string -> Expr.t -> Expr.t list -> 'f option -> 'f Cmd.t + + method visit_EList : 'c -> Expr.t -> Expr.t list -> Expr.t + method visit_ESet : 'c -> Expr.t -> Expr.t list -> Expr.t + method visit_Emp : 'c -> Asrt.t -> Asrt.t + method visit_Empty : 'c -> Literal.t -> Literal.t + method visit_EmptyType : 'c -> Type.t -> Type.t + method visit_Epsilon : 'c -> Constant.t -> Constant.t + method visit_Eq : 'c -> Formula.t -> Expr.t -> Expr.t -> Formula.t + method visit_Equal : 'c -> BinOp.t -> BinOp.t + method visit_Error : 'c -> Flag.t -> Flag.t + method visit_FDiv : 'c -> BinOp.t -> BinOp.t + method visit_FLessThan : 'c -> BinOp.t -> BinOp.t + method visit_FLessThanEqual : 'c -> BinOp.t -> BinOp.t + method visit_FMinus : 'c -> BinOp.t -> BinOp.t + method visit_FMod : 'c -> BinOp.t -> BinOp.t + method visit_FPlus : 'c -> BinOp.t -> BinOp.t + method visit_FTimes : 'c -> BinOp.t -> BinOp.t + method visit_FUnaryMinus : 'c -> UnOp.t -> UnOp.t + method visit_Fail : 'c -> 'f Cmd.t -> string -> Expr.t list -> 'f Cmd.t + method visit_False : 'c -> Formula.t -> Formula.t + + method visit_Fold : + 'c -> + SLCmd.t -> + string -> + Expr.t list -> + (string * (string * Expr.t) list) option -> + SLCmd.t + + method visit_ForAll : + 'c -> Formula.t -> (string * Type.t option) list -> Formula.t -> Formula.t + + method visit_GA : + 'c -> Asrt.t -> string -> Expr.t list -> Expr.t list -> Asrt.t + + method visit_Wand : + 'c -> Asrt.t -> string * Expr.t list -> string * Expr.t list -> Asrt.t + + method visit_GUnfold : 'c -> SLCmd.t -> string -> SLCmd.t + method visit_Goto : 'c -> 'f Cmd.t -> 'f -> 'f Cmd.t + method visit_GuardedGoto : 'c -> 'f Cmd.t -> Expr.t -> 'f -> 'f -> 'f Cmd.t + method visit_IDiv : 'c -> BinOp.t -> BinOp.t + method visit_ILessThan : 'c -> BinOp.t -> BinOp.t + method visit_ILessThanEqual : 'c -> BinOp.t -> BinOp.t + method visit_IMinus : 'c -> BinOp.t -> BinOp.t + method visit_IMod : 'c -> BinOp.t -> BinOp.t + method visit_IPlus : 'c -> BinOp.t -> BinOp.t + method visit_ITimes : 'c -> BinOp.t -> BinOp.t + method visit_IUnaryMinus : 'c -> UnOp.t -> UnOp.t + + method visit_If : + 'c -> LCmd.t -> Expr.t -> LCmd.t list -> LCmd.t list -> LCmd.t + + method visit_Int : 'c -> Literal.t -> Z.t -> Literal.t + method visit_IntType : 'c -> Type.t -> Type.t + method visit_Invariant : 'c -> SLCmd.t -> Asrt.t -> string list -> SLCmd.t + + method visit_LAction : + 'c -> 'f Cmd.t -> string -> string -> Expr.t list -> 'f Cmd.t + + method visit_LList : 'c -> Literal.t -> Literal.t list -> Literal.t + method visit_LVar : 'c -> Expr.t -> string -> Expr.t + method visit_LeftShift : 'c -> BinOp.t -> BinOp.t + method visit_LeftShiftL : 'c -> BinOp.t -> BinOp.t + method visit_LeftShiftF : 'c -> BinOp.t -> BinOp.t + method visit_FLess : 'c -> Formula.t -> Expr.t -> Expr.t -> Formula.t + method visit_FLessEq : 'c -> Formula.t -> Expr.t -> Expr.t -> Formula.t + method visit_ILess : 'c -> Formula.t -> Expr.t -> Expr.t -> Formula.t + method visit_ILessEq : 'c -> Formula.t -> Expr.t -> Expr.t -> Formula.t + method visit_IsInt : 'c -> Formula.t -> Expr.t -> Formula.t + method visit_ListType : 'c -> Type.t -> Type.t + method visit_Lit : 'c -> Expr.t -> Literal.t -> Expr.t + method visit_Loc : 'c -> Literal.t -> string -> Literal.t + method visit_LocalTime : 'c -> Constant.t -> Constant.t + method visit_Logic : 'c -> 'f Cmd.t -> LCmd.t -> 'f Cmd.t + method visit_LstCat : 'c -> NOp.t -> NOp.t + method visit_LstLen : 'c -> UnOp.t -> UnOp.t + method visit_LstNth : 'c -> BinOp.t -> BinOp.t + method visit_LstRepeat : 'c -> BinOp.t -> BinOp.t + method visit_LstRev : 'c -> UnOp.t -> UnOp.t + method visit_LstSub : 'c -> Expr.t -> Expr.t -> Expr.t -> Expr.t -> Expr.t + method visit_M_abs : 'c -> UnOp.t -> UnOp.t + method visit_M_acos : 'c -> UnOp.t -> UnOp.t + method visit_M_asin : 'c -> UnOp.t -> UnOp.t + method visit_M_atan : 'c -> UnOp.t -> UnOp.t + method visit_M_atan2 : 'c -> BinOp.t -> BinOp.t + method visit_M_ceil : 'c -> UnOp.t -> UnOp.t + method visit_M_cos : 'c -> UnOp.t -> UnOp.t + method visit_M_exp : 'c -> UnOp.t -> UnOp.t + method visit_M_floor : 'c -> UnOp.t -> UnOp.t + method visit_M_isNaN : 'c -> UnOp.t -> UnOp.t + method visit_M_log : 'c -> UnOp.t -> UnOp.t + method visit_M_pow : 'c -> BinOp.t -> BinOp.t + method visit_M_round : 'c -> UnOp.t -> UnOp.t + method visit_M_sgn : 'c -> UnOp.t -> UnOp.t + method visit_M_sin : 'c -> UnOp.t -> UnOp.t + method visit_M_sqrt : 'c -> UnOp.t -> UnOp.t + method visit_M_tan : 'c -> UnOp.t -> UnOp.t + method visit_Macro : 'c -> LCmd.t -> string -> Expr.t list -> LCmd.t + method visit_MaxSafeInteger : 'c -> Constant.t -> Constant.t + method visit_Max_float : 'c -> Constant.t -> Constant.t + method visit_Min_float : 'c -> Constant.t -> Constant.t + method visit_NOp : 'c -> Expr.t -> NOp.t -> Expr.t list -> Expr.t + method visit_NoneType : 'c -> Type.t -> Type.t + method visit_Nono : 'c -> Literal.t -> Literal.t + method visit_Normal : 'c -> Flag.t -> Flag.t + method visit_Not : 'c -> Formula.t -> Formula.t -> Formula.t + method visit_Null : 'c -> Literal.t -> Literal.t + method visit_NullType : 'c -> Type.t -> Type.t + method visit_Num : 'c -> Literal.t -> float -> Literal.t + method visit_NumberType : 'c -> Type.t -> Type.t + method visit_ObjectType : 'c -> Type.t -> Type.t + method visit_Or : 'c -> Formula.t -> Formula.t -> Formula.t -> Formula.t + method visit_PVar : 'c -> Expr.t -> string -> Expr.t + + method visit_PhiAssignment : + 'c -> 'f Cmd.t -> (string * Expr.t list) list -> 'f Cmd.t + + method visit_Pi : 'c -> Constant.t -> Constant.t + method visit_Pred : 'c -> Asrt.t -> string -> Expr.t list -> Asrt.t + method visit_Pure : 'c -> Asrt.t -> Formula.t -> Asrt.t + method visit_Random : 'c -> Constant.t -> Constant.t + method visit_ReturnError : 'c -> 'f Cmd.t -> 'f Cmd.t + method visit_ReturnNormal : 'c -> 'f Cmd.t -> 'f Cmd.t + method visit_SL : 'c -> LCmd.t -> SLCmd.t -> LCmd.t + method visit_SLessThan : 'c -> BinOp.t -> BinOp.t + method visit_SepAssert : 'c -> SLCmd.t -> Asrt.t -> string list -> SLCmd.t + method visit_SetDiff : 'c -> BinOp.t -> BinOp.t + method visit_SetInter : 'c -> NOp.t -> NOp.t + method visit_SetMem : 'c -> Formula.t -> Expr.t -> Expr.t -> Formula.t + method visit_SetSub : 'c -> Formula.t -> Expr.t -> Expr.t -> Formula.t + method visit_SetToList : 'c -> UnOp.t -> UnOp.t + method visit_SetType : 'c -> Type.t -> Type.t + method visit_SetUnion : 'c -> NOp.t -> NOp.t + method visit_SignedRightShift : 'c -> BinOp.t -> BinOp.t + method visit_SignedRightShiftL : 'c -> BinOp.t -> BinOp.t + method visit_SignedRightShiftF : 'c -> BinOp.t -> BinOp.t + method visit_Skip : 'c -> 'f Cmd.t -> 'f Cmd.t + method visit_FreshSVar : 'c -> LCmd.t -> string -> LCmd.t + method visit_Star : 'c -> Asrt.t -> Asrt.t -> Asrt.t -> Asrt.t + method visit_StrCat : 'c -> BinOp.t -> BinOp.t + method visit_StrLen : 'c -> UnOp.t -> UnOp.t + method visit_IntToNum : 'c -> UnOp.t -> UnOp.t + method visit_NumToInt : 'c -> UnOp.t -> UnOp.t + method visit_StrLess : 'c -> Formula.t -> Expr.t -> Expr.t -> Formula.t + method visit_StrNth : 'c -> BinOp.t -> BinOp.t + method visit_String : 'c -> Literal.t -> string -> Literal.t + method visit_StringType : 'c -> Type.t -> Type.t + method visit_SymbExec : 'c -> SLCmd.t -> SLCmd.t + method visit_ToInt32Op : 'c -> UnOp.t -> UnOp.t + method visit_ToIntOp : 'c -> UnOp.t -> UnOp.t + method visit_ToNumberOp : 'c -> UnOp.t -> UnOp.t + method visit_ToStringOp : 'c -> UnOp.t -> UnOp.t + method visit_ToUint16Op : 'c -> UnOp.t -> UnOp.t + method visit_ToUint32Op : 'c -> UnOp.t -> UnOp.t + method visit_True : 'c -> Formula.t -> Formula.t + method visit_Type : 'c -> Literal.t -> Type.t -> Literal.t + method visit_TypeOf : 'c -> UnOp.t -> UnOp.t + method visit_TypeType : 'c -> Type.t -> Type.t + method visit_Types : 'c -> Asrt.t -> (Expr.t * Type.t) list -> Asrt.t + method visit_UNot : 'c -> UnOp.t -> UnOp.t + method visit_UTCTime : 'c -> Constant.t -> Constant.t + method visit_UnOp : 'c -> Expr.t -> UnOp.t -> Expr.t -> Expr.t + method visit_Undefined : 'c -> Literal.t -> Literal.t + method visit_UndefinedType : 'c -> Type.t -> Type.t + + method visit_Unfold : + 'c -> + SLCmd.t -> + string -> + Expr.t list -> + (string * string) list option -> + bool -> + SLCmd.t + + method visit_Package : + 'c -> SLCmd.t -> string * Expr.t list -> string * Expr.t list -> SLCmd.t + + method visit_UnsignedRightShift : 'c -> BinOp.t -> BinOp.t + method visit_UnsignedRightShiftL : 'c -> BinOp.t -> BinOp.t + method visit_UnsignedRightShiftF : 'c -> BinOp.t -> BinOp.t + + method private visit_array : + 'env 'a. ('env -> 'a -> 'a) -> 'env -> 'a array -> 'a array + + method visit_assertion : 'c -> Asrt.t -> Asrt.t + + method visit_bindings : + 'c -> string * (string * Expr.t) list -> string * (string * Expr.t) list + + method visit_binop : 'c -> BinOp.t -> BinOp.t + method visit_bispec : 'c -> BiSpec.t -> BiSpec.t + method private visit_bool : 'env. 'env -> bool -> bool + method private visit_bytes : 'env. 'env -> bytes -> bytes + method private visit_char : 'env. 'env -> char -> char + method visit_cmd : 'c -> 'f Cmd.t -> 'f Cmd.t + method visit_constant : 'c -> Constant.t -> Constant.t + method visit_expr : 'c -> Expr.t -> Expr.t + method visit_flag : 'c -> Flag.t -> Flag.t + method private visit_float : 'env. 'env -> float -> float + method visit_formula : 'c -> Formula.t -> Formula.t + method private visit_int : 'env. 'env -> int -> int + method private visit_int32 : 'env. 'env -> int32 -> int32 + method private visit_int64 : 'env. 'env -> int64 -> int64 + + method private visit_lazy_t : + 'env 'a. ('env -> 'a -> 'a) -> 'env -> 'a Lazy.t -> 'a Lazy.t + + method visit_lcmd : 'c -> LCmd.t -> LCmd.t + method visit_lemma : 'c -> Lemma.t -> Lemma.t + method visit_lemma_spec : 'c -> Lemma.spec -> Lemma.spec + + method private visit_list : + 'env 'a. ('env -> 'a -> 'a) -> 'env -> 'a list -> 'a list + + method visit_literal : 'c -> Literal.t -> Literal.t + method visit_macro : 'c -> Macro.t -> Macro.t + method private visit_nativeint : 'env. 'env -> nativeint -> nativeint + method visit_nop : 'c -> NOp.t -> NOp.t + + method private visit_option : + 'env 'a. ('env -> 'a -> 'a) -> 'env -> 'a option -> 'a option + + method visit_pred : 'c -> Pred.t -> Pred.t + method visit_proc : 'c -> ('d, 'f) Proc.t -> ('d, 'f) Proc.t + + method private visit_ref : + 'env 'a. ('env -> 'a -> 'a) -> 'env -> 'a ref -> 'a ref + + method private visit_result : + 'env 'a 'e. + ('env -> 'a -> 'a) -> + ('env -> 'e -> 'e) -> + 'env -> + ('a, 'e) Result.result -> + ('a, 'e) Result.result + + method visit_single_spec : 'c -> Spec.st -> Spec.st + method visit_slcmd : 'c -> SLCmd.t -> SLCmd.t + method visit_spec : 'c -> Spec.t -> Spec.t + method private visit_string : 'env. 'env -> string -> string + method visit_typ : 'c -> Type.t -> Type.t + method private visit_unit : 'env. 'env -> unit -> unit + method visit_unop : 'c -> UnOp.t -> UnOp.t + end - class virtual ['b] reduce : - object ('b) - constraint - 'b = < visit_'annot : 'c -> 'd -> 'f - ; visit_'label : 'c -> 'g -> 'f - ; visit_ALoc : 'c -> ALoc.t -> 'f - ; visit_And : 'c -> Formula.t -> Formula.t -> 'f - ; visit_Impl : 'c -> Formula.t -> Formula.t -> 'f - ; visit_Apply : 'c -> string -> Expr.t -> 'g option -> 'f - ; visit_ApplyLem : 'c -> string -> Expr.t list -> string list -> 'f - ; visit_Arguments : 'c -> string -> 'f - ; visit_Assert : 'c -> Formula.t -> 'f - ; visit_Assignment : 'c -> string -> Expr.t -> 'f - ; visit_Assume : 'c -> Formula.t -> 'f - ; visit_AssumeType : 'c -> Expr.t -> Type.t -> 'f - ; visit_BAnd : 'c -> 'f - ; visit_BOr : 'c -> 'f - ; visit_BSetMem : 'c -> 'f - ; visit_BSetSub : 'c -> 'f - ; visit_BinOp : 'c -> Expr.t -> BinOp.t -> Expr.t -> 'f - ; visit_BitwiseAnd : 'c -> 'f - ; visit_BitwiseAndL : 'c -> 'f - ; visit_BitwiseAndF : 'c -> 'f - ; visit_BitwiseNot : 'c -> 'f - ; visit_BitwiseOr : 'c -> 'f - ; visit_BitwiseOrL : 'c -> 'f - ; visit_BitwiseOrF : 'c -> 'f - ; visit_BitwiseXor : 'c -> 'f - ; visit_BitwiseXorL : 'c -> 'f - ; visit_BitwiseXorF : 'c -> 'f - ; visit_Bool : 'c -> bool -> 'f - ; visit_BooleanType : 'c -> 'f - ; visit_Branch : 'c -> Formula.t -> 'f - ; visit_Bug : 'c -> 'f - ; visit_Call : - 'c -> - string -> - Expr.t -> - Expr.t list -> - 'g option -> - (string * (string * Expr.t) list) option -> - 'f - ; visit_Car : 'c -> 'f - ; visit_Cdr : 'c -> 'f - ; visit_Constant : 'c -> Constant.t -> 'f - ; visit_IDiv : 'c -> 'f - ; visit_FDiv : 'c -> 'f - ; visit_ECall : - 'c -> string -> Expr.t -> Expr.t list -> 'g option -> 'f - ; visit_EList : 'c -> Expr.t list -> 'f - ; visit_ESet : 'c -> Expr.t list -> 'f - ; visit_Emp : 'c -> 'f - ; visit_Empty : 'c -> 'f - ; visit_EmptyType : 'c -> 'f - ; visit_Epsilon : 'c -> 'f - ; visit_Eq : 'c -> Expr.t -> Expr.t -> 'f - ; visit_Equal : 'c -> 'f - ; visit_Error : 'c -> 'f - ; visit_Fail : 'c -> string -> Expr.t list -> 'f - ; visit_False : 'c -> 'f - ; visit_Fold : - 'c -> - string -> - Expr.t list -> - (string * (string * Expr.t) list) option -> - 'f - ; visit_ForAll : - 'c -> (string * Type.t option) list -> Formula.t -> 'f - ; visit_GA : 'c -> string -> Expr.t list -> Expr.t list -> 'f - ; visit_Wand : - 'c -> string * Expr.t list -> string * Expr.t list -> 'f - ; visit_GUnfold : 'c -> string -> 'f - ; visit_Goto : 'c -> 'g -> 'f - ; visit_GuardedGoto : 'c -> Expr.t -> 'g -> 'g -> 'f - ; visit_If : 'c -> Expr.t -> LCmd.t list -> LCmd.t list -> 'f - ; visit_Invariant : 'c -> Asrt.t -> string list -> 'f - ; visit_LAction : 'c -> string -> string -> Expr.t list -> 'f - ; visit_LList : 'c -> Literal.t list -> 'f - ; visit_LVar : 'c -> LVar.t -> 'f - ; visit_LeftShift : 'c -> 'f - ; visit_LeftShiftL : 'c -> 'f - ; visit_LeftShiftF : 'c -> 'f - ; visit_FLess : 'c -> Expr.t -> Expr.t -> 'f - ; visit_FLessEq : 'c -> Expr.t -> Expr.t -> 'f - ; visit_ILess : 'c -> Expr.t -> Expr.t -> 'f - ; visit_ILessEq : 'c -> Expr.t -> Expr.t -> 'f - ; visit_IsInt : 'c -> Expr.t -> 'f - ; visit_ILessThan : 'c -> 'f - ; visit_ILessThanEqual : 'c -> 'f - ; visit_FLessThan : 'c -> 'f - ; visit_FLessThanEqual : 'c -> 'f - ; visit_SLessThan : 'c -> 'f - ; visit_ListType : 'c -> 'f - ; visit_Lit : 'c -> Literal.t -> 'f - ; visit_Loc : 'c -> string -> 'f - ; visit_LocalTime : 'c -> 'f - ; visit_Logic : 'c -> LCmd.t -> 'f - ; visit_LstCat : 'c -> 'f - ; visit_LstLen : 'c -> 'f - ; visit_LstNth : 'c -> 'f - ; visit_LstRepeat : 'c -> 'f - ; visit_LstRev : 'c -> 'f - ; visit_LstSub : 'c -> Expr.t -> Expr.t -> Expr.t -> 'f - ; visit_M_abs : 'c -> 'f - ; visit_M_acos : 'c -> 'f - ; visit_M_asin : 'c -> 'f - ; visit_M_atan : 'c -> 'f - ; visit_M_atan2 : 'c -> 'f - ; visit_M_ceil : 'c -> 'f - ; visit_M_cos : 'c -> 'f - ; visit_M_exp : 'c -> 'f - ; visit_M_floor : 'c -> 'f - ; visit_M_isNaN : 'c -> 'f - ; visit_M_log : 'c -> 'f - ; visit_M_pow : 'c -> 'f - ; visit_M_round : 'c -> 'f - ; visit_M_sgn : 'c -> 'f - ; visit_M_sin : 'c -> 'f - ; visit_M_sqrt : 'c -> 'f - ; visit_M_tan : 'c -> 'f - ; visit_Macro : 'c -> string -> Expr.t list -> 'f - ; visit_Max_float : 'c -> 'f - ; visit_MaxSafeInteger : 'c -> 'f - ; visit_Min_float : 'c -> 'f - ; visit_IMinus : 'c -> 'f - ; visit_FMinus : 'c -> 'f - ; visit_IMod : 'c -> 'f - ; visit_FMod : 'c -> 'f - ; visit_NOp : 'c -> NOp.t -> Expr.t list -> 'f - ; visit_NoneType : 'c -> 'f - ; visit_Nono : 'c -> 'f - ; visit_Normal : 'c -> 'f - ; visit_Not : 'c -> Formula.t -> 'f - ; visit_Null : 'c -> 'f - ; visit_NullType : 'c -> 'f - ; visit_Int : 'c -> Z.t -> 'f - ; visit_Num : 'c -> float -> 'f - ; visit_IntType : 'c -> 'f - ; visit_NumberType : 'c -> 'f - ; visit_ObjectType : 'c -> 'f - ; visit_Or : 'c -> Formula.t -> Formula.t -> 'f - ; visit_PVar : 'c -> string -> 'f - ; visit_PhiAssignment : 'c -> (string * Expr.t list) list -> 'f - ; visit_Pi : 'c -> 'f - ; visit_IPlus : 'c -> 'f - ; visit_FPlus : 'c -> 'f - ; visit_Pred : 'c -> string -> Expr.t list -> 'f - ; visit_Pure : 'c -> Formula.t -> 'f - ; visit_Random : 'c -> 'f - ; visit_ReturnError : 'c -> 'f - ; visit_ReturnNormal : 'c -> 'f - ; visit_SL : 'c -> SLCmd.t -> 'f - ; visit_SepAssert : 'c -> Asrt.t -> string list -> 'f - ; visit_SetDiff : 'c -> 'f - ; visit_SetInter : 'c -> 'f - ; visit_SetMem : 'c -> Expr.t -> Expr.t -> 'f - ; visit_SetSub : 'c -> Expr.t -> Expr.t -> 'f - ; visit_SetToList : 'c -> 'f - ; visit_SetType : 'c -> 'f - ; visit_SetUnion : 'c -> 'f - ; visit_SignedRightShift : 'c -> 'f - ; visit_SignedRightShiftL : 'c -> 'f - ; visit_SignedRightShiftF : 'c -> 'f - ; visit_Skip : 'c -> 'f - ; visit_FreshSVar : 'c -> string -> 'f - ; visit_Star : 'c -> Asrt.t -> Asrt.t -> 'f - ; visit_StrCat : 'c -> 'f - ; visit_StrLen : 'c -> 'f - ; visit_IntToNum : 'c -> 'f - ; visit_NumToInt : 'c -> 'f - ; visit_StrLess : 'c -> Expr.t -> Expr.t -> 'f - ; visit_StrNth : 'c -> 'f - ; visit_String : 'c -> string -> 'f - ; visit_StringType : 'c -> 'f - ; visit_SymbExec : 'c -> 'f - ; visit_ITimes : 'c -> 'f - ; visit_FTimes : 'c -> 'f - ; visit_ToInt32Op : 'c -> 'f - ; visit_ToIntOp : 'c -> 'f - ; visit_ToNumberOp : 'c -> 'f - ; visit_ToStringOp : 'c -> 'f - ; visit_ToUint16Op : 'c -> 'f - ; visit_ToUint32Op : 'c -> 'f - ; visit_True : 'c -> 'f - ; visit_Type : 'c -> Type.t -> 'f - ; visit_TypeOf : 'c -> 'f - ; visit_TypeType : 'c -> 'f - ; visit_Types : 'c -> (Expr.t * Type.t) list -> 'f - ; visit_UNot : 'c -> 'f - ; visit_UTCTime : 'c -> 'f - ; visit_UnOp : 'c -> UnOp.t -> Expr.t -> 'f - ; visit_IUnaryMinus : 'c -> 'f - ; visit_FUnaryMinus : 'c -> 'f - ; visit_Undefined : 'c -> 'f - ; visit_UndefinedType : 'c -> 'f - ; visit_Unfold : - 'c -> - string -> - Expr.t list -> - (string * string) list option -> - bool -> - 'f - ; visit_Package : - 'c -> string * Expr.t list -> string * Expr.t list -> 'f - ; visit_UnsignedRightShift : 'c -> 'f - ; visit_UnsignedRightShiftL : 'c -> 'f - ; visit_UnsignedRightShiftF : 'c -> 'f - ; visit_assertion : 'c -> Asrt.t -> 'f - ; visit_bindings : 'c -> string * (string * Expr.t) list -> 'f - ; visit_binop : 'c -> BinOp.t -> 'f - ; visit_bispec : 'c -> BiSpec.t -> 'f - ; visit_cmd : 'c -> 'g Cmd.t -> 'f - ; visit_constant : 'c -> Constant.t -> 'f - ; visit_expr : 'c -> Expr.t -> 'f - ; visit_flag : 'c -> Flag.t -> 'f - ; visit_formula : 'c -> Formula.t -> 'f - ; visit_lcmd : 'c -> LCmd.t -> 'f - ; visit_lemma : 'c -> Lemma.t -> 'f - ; visit_lemma_spec : 'c -> Lemma.spec -> 'f - ; visit_literal : 'c -> Literal.t -> 'f - ; visit_macro : 'c -> Macro.t -> 'f - ; visit_nop : 'c -> NOp.t -> 'f - ; visit_pred : 'c -> Pred.t -> 'f - ; visit_proc : 'c -> ('d, 'g) Proc.t -> 'f - ; visit_single_spec : 'c -> Spec.st -> 'f - ; visit_slcmd : 'c -> SLCmd.t -> 'f - ; visit_spec : 'c -> Spec.t -> 'f - ; visit_typ : 'c -> Type.t -> 'f - ; visit_unop : 'c -> UnOp.t -> 'f - ; .. > - - method virtual private plus : 'f -> 'f -> 'f - method visit_'annot : 'c -> 'd -> 'f - method visit_'label : 'c -> 'g -> 'f - method visit_ALoc : 'c -> ALoc.t -> 'f - method visit_And : 'c -> Formula.t -> Formula.t -> 'f - method visit_Impl : 'c -> Formula.t -> Formula.t -> 'f - method visit_Apply : 'c -> string -> Expr.t -> 'g option -> 'f - method visit_ApplyLem : 'c -> string -> Expr.t list -> string list -> 'f - method visit_Arguments : 'c -> string -> 'f - method visit_Assert : 'c -> Formula.t -> 'f - method visit_Assignment : 'c -> string -> Expr.t -> 'f - method visit_Assume : 'c -> Formula.t -> 'f - method visit_AssumeType : 'c -> Expr.t -> Type.t -> 'f - method visit_BAnd : 'c -> 'f - method visit_BOr : 'c -> 'f - method visit_BSetMem : 'c -> 'f - method visit_BSetSub : 'c -> 'f - method visit_BinOp : 'c -> Expr.t -> BinOp.t -> Expr.t -> 'f - method visit_BitwiseAnd : 'c -> 'f - method visit_BitwiseAndL : 'c -> 'f - method visit_BitwiseAndF : 'c -> 'f - method visit_BitwiseNot : 'c -> 'f - method visit_BitwiseOr : 'c -> 'f - method visit_BitwiseOrL : 'c -> 'f - method visit_BitwiseOrF : 'c -> 'f - method visit_BitwiseXor : 'c -> 'f - method visit_BitwiseXorL : 'c -> 'f - method visit_BitwiseXorF : 'c -> 'f - method visit_Bool : 'c -> bool -> 'f - method visit_BooleanType : 'c -> 'f - method visit_Branch : 'c -> Formula.t -> 'f - method visit_Bug : 'c -> 'f - - method visit_Call : - 'c -> - string -> - Expr.t -> - Expr.t list -> - 'g option -> - (string * (string * Expr.t) list) option -> - 'f - - method visit_Car : 'c -> 'f - method visit_Cdr : 'c -> 'f - method visit_Constant : 'c -> Constant.t -> 'f - method visit_IDiv : 'c -> 'f - method visit_FDiv : 'c -> 'f - - method visit_ECall : - 'c -> string -> Expr.t -> Expr.t list -> 'g option -> 'f - - method visit_EList : 'c -> Expr.t list -> 'f - method visit_ESet : 'c -> Expr.t list -> 'f - method visit_Emp : 'c -> 'f - method visit_Empty : 'c -> 'f - method visit_EmptyType : 'c -> 'f - method visit_Epsilon : 'c -> 'f - method visit_Eq : 'c -> Expr.t -> Expr.t -> 'f - method visit_Equal : 'c -> 'f - method visit_Error : 'c -> 'f - method visit_Fail : 'c -> string -> Expr.t list -> 'f - method visit_False : 'c -> 'f - - method visit_Fold : - 'c -> - string -> - Expr.t list -> - (string * (string * Expr.t) list) option -> - 'f - - method visit_ForAll : - 'c -> (string * Type.t option) list -> Formula.t -> 'f - - method visit_GA : 'c -> string -> Expr.t list -> Expr.t list -> 'f - - method visit_Wand : - 'c -> string * Expr.t list -> string * Expr.t list -> 'f - - method visit_GUnfold : 'c -> string -> 'f - method visit_Goto : 'c -> 'g -> 'f - method visit_GuardedGoto : 'c -> Expr.t -> 'g -> 'g -> 'f - method visit_If : 'c -> Expr.t -> LCmd.t list -> LCmd.t list -> 'f - method visit_Invariant : 'c -> Asrt.t -> string list -> 'f - method visit_LAction : 'c -> string -> string -> Expr.t list -> 'f - method visit_LList : 'c -> Literal.t list -> 'f - method visit_LVar : 'c -> LVar.t -> 'f - method visit_LeftShift : 'c -> 'f - method visit_LeftShiftL : 'c -> 'f - method visit_LeftShiftF : 'c -> 'f - method visit_FLess : 'c -> Expr.t -> Expr.t -> 'f - method visit_FLessEq : 'c -> Expr.t -> Expr.t -> 'f - method visit_ILess : 'c -> Expr.t -> Expr.t -> 'f - method visit_ILessEq : 'c -> Expr.t -> Expr.t -> 'f - method visit_IsInt : 'c -> Expr.t -> 'f - method visit_ILessThan : 'c -> 'f - method visit_ILessThanEqual : 'c -> 'f - method visit_FLessThan : 'c -> 'f - method visit_FLessThanEqual : 'c -> 'f - method visit_SLessThan : 'c -> 'f - method visit_ListType : 'c -> 'f - method visit_Lit : 'c -> Literal.t -> 'f - method visit_Loc : 'c -> string -> 'f - method visit_LocalTime : 'c -> 'f - method visit_Logic : 'c -> LCmd.t -> 'f - method visit_LstCat : 'c -> 'f - method visit_LstLen : 'c -> 'f - method visit_LstNth : 'c -> 'f - method visit_LstRepeat : 'c -> 'f - method visit_LstRev : 'c -> 'f - method visit_LstSub : 'c -> Expr.t -> Expr.t -> Expr.t -> 'f - method visit_M_abs : 'c -> 'f - method visit_M_acos : 'c -> 'f - method visit_M_asin : 'c -> 'f - method visit_M_atan : 'c -> 'f - method visit_M_atan2 : 'c -> 'f - method visit_M_ceil : 'c -> 'f - method visit_M_cos : 'c -> 'f - method visit_M_exp : 'c -> 'f - method visit_M_floor : 'c -> 'f - method visit_M_isNaN : 'c -> 'f - method visit_M_log : 'c -> 'f - method visit_M_pow : 'c -> 'f - method visit_M_round : 'c -> 'f - method visit_M_sgn : 'c -> 'f - method visit_M_sin : 'c -> 'f - method visit_M_sqrt : 'c -> 'f - method visit_M_tan : 'c -> 'f - method visit_Macro : 'c -> string -> Expr.t list -> 'f - method visit_Max_float : 'c -> 'f - method visit_MaxSafeInteger : 'c -> 'f - method visit_Min_float : 'c -> 'f - method visit_IMinus : 'c -> 'f - method visit_FMinus : 'c -> 'f - method visit_IMod : 'c -> 'f - method visit_FMod : 'c -> 'f - method visit_NOp : 'c -> NOp.t -> Expr.t list -> 'f - method visit_NoneType : 'c -> 'f - method visit_Nono : 'c -> 'f - method visit_Normal : 'c -> 'f - method visit_Not : 'c -> Formula.t -> 'f - method visit_Null : 'c -> 'f - method visit_NullType : 'c -> 'f - method visit_Int : 'c -> Z.t -> 'f - method visit_Num : 'c -> float -> 'f - method visit_IntType : 'c -> 'f - method visit_NumberType : 'c -> 'f - method visit_ObjectType : 'c -> 'f - method visit_Or : 'c -> Formula.t -> Formula.t -> 'f - method visit_PVar : 'c -> string -> 'f - method visit_PhiAssignment : 'c -> (string * Expr.t list) list -> 'f - method visit_Pi : 'c -> 'f - method visit_IPlus : 'c -> 'f - method visit_FPlus : 'c -> 'f - method visit_Pred : 'c -> string -> Expr.t list -> 'f - method visit_Pure : 'c -> Formula.t -> 'f - method visit_Random : 'c -> 'f - method visit_ReturnError : 'c -> 'f - method visit_ReturnNormal : 'c -> 'f - method visit_SL : 'c -> SLCmd.t -> 'f - method visit_SepAssert : 'c -> Asrt.t -> string list -> 'f - method visit_SetDiff : 'c -> 'f - method visit_SetInter : 'c -> 'f - method visit_SetMem : 'c -> Expr.t -> Expr.t -> 'f - method visit_SetSub : 'c -> Expr.t -> Expr.t -> 'f - method visit_SetToList : 'c -> 'f - method visit_SetType : 'c -> 'f - method visit_SetUnion : 'c -> 'f - method visit_SignedRightShift : 'c -> 'f - method visit_SignedRightShiftL : 'c -> 'f - method visit_SignedRightShiftF : 'c -> 'f - method visit_Skip : 'c -> 'f - method visit_FreshSVar : 'c -> string -> 'f - method visit_Star : 'c -> Asrt.t -> Asrt.t -> 'f - method visit_StrCat : 'c -> 'f - method visit_StrLen : 'c -> 'f - method visit_IntToNum : 'c -> 'f - method visit_NumToInt : 'c -> 'f - method visit_StrLess : 'c -> Expr.t -> Expr.t -> 'f - method visit_StrNth : 'c -> 'f - method visit_String : 'c -> string -> 'f - method visit_StringType : 'c -> 'f - method visit_SymbExec : 'c -> 'f - method visit_ITimes : 'c -> 'f - method visit_FTimes : 'c -> 'f - method visit_ToInt32Op : 'c -> 'f - method visit_ToIntOp : 'c -> 'f - method visit_ToNumberOp : 'c -> 'f - method visit_ToStringOp : 'c -> 'f - method visit_ToUint16Op : 'c -> 'f - method visit_ToUint32Op : 'c -> 'f - method visit_True : 'c -> 'f - method visit_Type : 'c -> Type.t -> 'f - method visit_TypeOf : 'c -> 'f - method visit_TypeType : 'c -> 'f - method visit_Types : 'c -> (Expr.t * Type.t) list -> 'f - method visit_UNot : 'c -> 'f - method visit_UTCTime : 'c -> 'f - method visit_UnOp : 'c -> UnOp.t -> Expr.t -> 'f - method visit_IUnaryMinus : 'c -> 'f - method visit_FUnaryMinus : 'c -> 'f - method visit_Undefined : 'c -> 'f - method visit_UndefinedType : 'c -> 'f - - method visit_Unfold : - 'c -> - string -> - Expr.t list -> - (string * string) list option -> - bool -> - 'f - - method visit_Package : - 'c -> string * Expr.t list -> string * Expr.t list -> 'f - - method visit_UnsignedRightShift : 'c -> 'f - method visit_UnsignedRightShiftL : 'c -> 'f - method visit_UnsignedRightShiftF : 'c -> 'f - method visit_assertion : 'c -> Asrt.t -> 'f - method visit_bindings : 'c -> string * (string * Expr.t) list -> 'f - method visit_binop : 'c -> BinOp.t -> 'f - method visit_bispec : 'c -> BiSpec.t -> 'f - method visit_cmd : 'c -> 'g Cmd.t -> 'f - method visit_constant : 'c -> Constant.t -> 'f - method visit_expr : 'c -> Expr.t -> 'f - method visit_flag : 'c -> Flag.t -> 'f - method visit_formula : 'c -> Formula.t -> 'f - method visit_lcmd : 'c -> LCmd.t -> 'f - method visit_lemma : 'c -> Lemma.t -> 'f - method visit_lemma_spec : 'c -> Lemma.spec -> 'f - method visit_literal : 'c -> Literal.t -> 'f - method visit_macro : 'c -> Macro.t -> 'f - method visit_nop : 'c -> NOp.t -> 'f - method visit_pred : 'c -> Pred.t -> 'f - method visit_proc : 'c -> ('d, 'g) Proc.t -> 'f - method visit_single_spec : 'c -> Spec.st -> 'f - method visit_slcmd : 'c -> SLCmd.t -> 'f - method visit_spec : 'c -> Spec.t -> 'f - method visit_typ : 'c -> Type.t -> 'f - method visit_unop : 'c -> UnOp.t -> 'f - method virtual private zero : 'f - end + class virtual ['b] reduce : object ('b) + constraint + 'b = < visit_'annot : 'c -> 'd -> 'f + ; visit_'label : 'c -> 'g -> 'f + ; visit_ALoc : 'c -> ALoc.t -> 'f + ; visit_And : 'c -> Formula.t -> Formula.t -> 'f + ; visit_Impl : 'c -> Formula.t -> Formula.t -> 'f + ; visit_Apply : 'c -> string -> Expr.t -> 'g option -> 'f + ; visit_ApplyLem : 'c -> string -> Expr.t list -> string list -> 'f + ; visit_Arguments : 'c -> string -> 'f + ; visit_Assert : 'c -> Formula.t -> 'f + ; visit_Assignment : 'c -> string -> Expr.t -> 'f + ; visit_Assume : 'c -> Formula.t -> 'f + ; visit_AssumeType : 'c -> Expr.t -> Type.t -> 'f + ; visit_BAnd : 'c -> 'f + ; visit_BOr : 'c -> 'f + ; visit_BSetMem : 'c -> 'f + ; visit_BSetSub : 'c -> 'f + ; visit_BinOp : 'c -> Expr.t -> BinOp.t -> Expr.t -> 'f + ; visit_BitwiseAnd : 'c -> 'f + ; visit_BitwiseAndL : 'c -> 'f + ; visit_BitwiseAndF : 'c -> 'f + ; visit_BitwiseNot : 'c -> 'f + ; visit_BitwiseOr : 'c -> 'f + ; visit_BitwiseOrL : 'c -> 'f + ; visit_BitwiseOrF : 'c -> 'f + ; visit_BitwiseXor : 'c -> 'f + ; visit_BitwiseXorL : 'c -> 'f + ; visit_BitwiseXorF : 'c -> 'f + ; visit_Bool : 'c -> bool -> 'f + ; visit_BooleanType : 'c -> 'f + ; visit_Branch : 'c -> Formula.t -> 'f + ; visit_Bug : 'c -> 'f + ; visit_Call : + 'c -> + string -> + Expr.t -> + Expr.t list -> + 'g option -> + (string * (string * Expr.t) list) option -> + 'f + ; visit_Car : 'c -> 'f + ; visit_Cdr : 'c -> 'f + ; visit_Constant : 'c -> Constant.t -> 'f + ; visit_IDiv : 'c -> 'f + ; visit_FDiv : 'c -> 'f + ; visit_ECall : + 'c -> string -> Expr.t -> Expr.t list -> 'g option -> 'f + ; visit_EList : 'c -> Expr.t list -> 'f + ; visit_ESet : 'c -> Expr.t list -> 'f + ; visit_Emp : 'c -> 'f + ; visit_Empty : 'c -> 'f + ; visit_EmptyType : 'c -> 'f + ; visit_Epsilon : 'c -> 'f + ; visit_Eq : 'c -> Expr.t -> Expr.t -> 'f + ; visit_Equal : 'c -> 'f + ; visit_Error : 'c -> 'f + ; visit_Fail : 'c -> string -> Expr.t list -> 'f + ; visit_False : 'c -> 'f + ; visit_Fold : + 'c -> + string -> + Expr.t list -> + (string * (string * Expr.t) list) option -> + 'f + ; visit_ForAll : 'c -> (string * Type.t option) list -> Formula.t -> 'f + ; visit_GA : 'c -> string -> Expr.t list -> Expr.t list -> 'f + ; visit_Wand : 'c -> string * Expr.t list -> string * Expr.t list -> 'f + ; visit_GUnfold : 'c -> string -> 'f + ; visit_Goto : 'c -> 'g -> 'f + ; visit_GuardedGoto : 'c -> Expr.t -> 'g -> 'g -> 'f + ; visit_If : 'c -> Expr.t -> LCmd.t list -> LCmd.t list -> 'f + ; visit_Invariant : 'c -> Asrt.t -> string list -> 'f + ; visit_LAction : 'c -> string -> string -> Expr.t list -> 'f + ; visit_LList : 'c -> Literal.t list -> 'f + ; visit_LVar : 'c -> LVar.t -> 'f + ; visit_LeftShift : 'c -> 'f + ; visit_LeftShiftL : 'c -> 'f + ; visit_LeftShiftF : 'c -> 'f + ; visit_FLess : 'c -> Expr.t -> Expr.t -> 'f + ; visit_FLessEq : 'c -> Expr.t -> Expr.t -> 'f + ; visit_ILess : 'c -> Expr.t -> Expr.t -> 'f + ; visit_ILessEq : 'c -> Expr.t -> Expr.t -> 'f + ; visit_IsInt : 'c -> Expr.t -> 'f + ; visit_ILessThan : 'c -> 'f + ; visit_ILessThanEqual : 'c -> 'f + ; visit_FLessThan : 'c -> 'f + ; visit_FLessThanEqual : 'c -> 'f + ; visit_SLessThan : 'c -> 'f + ; visit_ListType : 'c -> 'f + ; visit_Lit : 'c -> Literal.t -> 'f + ; visit_Loc : 'c -> string -> 'f + ; visit_LocalTime : 'c -> 'f + ; visit_Logic : 'c -> LCmd.t -> 'f + ; visit_LstCat : 'c -> 'f + ; visit_LstLen : 'c -> 'f + ; visit_LstNth : 'c -> 'f + ; visit_LstRepeat : 'c -> 'f + ; visit_LstRev : 'c -> 'f + ; visit_LstSub : 'c -> Expr.t -> Expr.t -> Expr.t -> 'f + ; visit_M_abs : 'c -> 'f + ; visit_M_acos : 'c -> 'f + ; visit_M_asin : 'c -> 'f + ; visit_M_atan : 'c -> 'f + ; visit_M_atan2 : 'c -> 'f + ; visit_M_ceil : 'c -> 'f + ; visit_M_cos : 'c -> 'f + ; visit_M_exp : 'c -> 'f + ; visit_M_floor : 'c -> 'f + ; visit_M_isNaN : 'c -> 'f + ; visit_M_log : 'c -> 'f + ; visit_M_pow : 'c -> 'f + ; visit_M_round : 'c -> 'f + ; visit_M_sgn : 'c -> 'f + ; visit_M_sin : 'c -> 'f + ; visit_M_sqrt : 'c -> 'f + ; visit_M_tan : 'c -> 'f + ; visit_Macro : 'c -> string -> Expr.t list -> 'f + ; visit_Max_float : 'c -> 'f + ; visit_MaxSafeInteger : 'c -> 'f + ; visit_Min_float : 'c -> 'f + ; visit_IMinus : 'c -> 'f + ; visit_FMinus : 'c -> 'f + ; visit_IMod : 'c -> 'f + ; visit_FMod : 'c -> 'f + ; visit_NOp : 'c -> NOp.t -> Expr.t list -> 'f + ; visit_NoneType : 'c -> 'f + ; visit_Nono : 'c -> 'f + ; visit_Normal : 'c -> 'f + ; visit_Not : 'c -> Formula.t -> 'f + ; visit_Null : 'c -> 'f + ; visit_NullType : 'c -> 'f + ; visit_Int : 'c -> Z.t -> 'f + ; visit_Num : 'c -> float -> 'f + ; visit_IntType : 'c -> 'f + ; visit_NumberType : 'c -> 'f + ; visit_ObjectType : 'c -> 'f + ; visit_Or : 'c -> Formula.t -> Formula.t -> 'f + ; visit_PVar : 'c -> string -> 'f + ; visit_PhiAssignment : 'c -> (string * Expr.t list) list -> 'f + ; visit_Pi : 'c -> 'f + ; visit_IPlus : 'c -> 'f + ; visit_FPlus : 'c -> 'f + ; visit_Pred : 'c -> string -> Expr.t list -> 'f + ; visit_Pure : 'c -> Formula.t -> 'f + ; visit_Random : 'c -> 'f + ; visit_ReturnError : 'c -> 'f + ; visit_ReturnNormal : 'c -> 'f + ; visit_SL : 'c -> SLCmd.t -> 'f + ; visit_SepAssert : 'c -> Asrt.t -> string list -> 'f + ; visit_SetDiff : 'c -> 'f + ; visit_SetInter : 'c -> 'f + ; visit_SetMem : 'c -> Expr.t -> Expr.t -> 'f + ; visit_SetSub : 'c -> Expr.t -> Expr.t -> 'f + ; visit_SetToList : 'c -> 'f + ; visit_SetType : 'c -> 'f + ; visit_SetUnion : 'c -> 'f + ; visit_SignedRightShift : 'c -> 'f + ; visit_SignedRightShiftL : 'c -> 'f + ; visit_SignedRightShiftF : 'c -> 'f + ; visit_Skip : 'c -> 'f + ; visit_FreshSVar : 'c -> string -> 'f + ; visit_Star : 'c -> Asrt.t -> Asrt.t -> 'f + ; visit_StrCat : 'c -> 'f + ; visit_StrLen : 'c -> 'f + ; visit_IntToNum : 'c -> 'f + ; visit_NumToInt : 'c -> 'f + ; visit_StrLess : 'c -> Expr.t -> Expr.t -> 'f + ; visit_StrNth : 'c -> 'f + ; visit_String : 'c -> string -> 'f + ; visit_StringType : 'c -> 'f + ; visit_SymbExec : 'c -> 'f + ; visit_ITimes : 'c -> 'f + ; visit_FTimes : 'c -> 'f + ; visit_ToInt32Op : 'c -> 'f + ; visit_ToIntOp : 'c -> 'f + ; visit_ToNumberOp : 'c -> 'f + ; visit_ToStringOp : 'c -> 'f + ; visit_ToUint16Op : 'c -> 'f + ; visit_ToUint32Op : 'c -> 'f + ; visit_True : 'c -> 'f + ; visit_Type : 'c -> Type.t -> 'f + ; visit_TypeOf : 'c -> 'f + ; visit_TypeType : 'c -> 'f + ; visit_Types : 'c -> (Expr.t * Type.t) list -> 'f + ; visit_UNot : 'c -> 'f + ; visit_UTCTime : 'c -> 'f + ; visit_UnOp : 'c -> UnOp.t -> Expr.t -> 'f + ; visit_IUnaryMinus : 'c -> 'f + ; visit_FUnaryMinus : 'c -> 'f + ; visit_Undefined : 'c -> 'f + ; visit_UndefinedType : 'c -> 'f + ; visit_Unfold : + 'c -> + string -> + Expr.t list -> + (string * string) list option -> + bool -> + 'f + ; visit_Package : + 'c -> string * Expr.t list -> string * Expr.t list -> 'f + ; visit_UnsignedRightShift : 'c -> 'f + ; visit_UnsignedRightShiftL : 'c -> 'f + ; visit_UnsignedRightShiftF : 'c -> 'f + ; visit_assertion : 'c -> Asrt.t -> 'f + ; visit_bindings : 'c -> string * (string * Expr.t) list -> 'f + ; visit_binop : 'c -> BinOp.t -> 'f + ; visit_bispec : 'c -> BiSpec.t -> 'f + ; visit_cmd : 'c -> 'g Cmd.t -> 'f + ; visit_constant : 'c -> Constant.t -> 'f + ; visit_expr : 'c -> Expr.t -> 'f + ; visit_flag : 'c -> Flag.t -> 'f + ; visit_formula : 'c -> Formula.t -> 'f + ; visit_lcmd : 'c -> LCmd.t -> 'f + ; visit_lemma : 'c -> Lemma.t -> 'f + ; visit_lemma_spec : 'c -> Lemma.spec -> 'f + ; visit_literal : 'c -> Literal.t -> 'f + ; visit_macro : 'c -> Macro.t -> 'f + ; visit_nop : 'c -> NOp.t -> 'f + ; visit_pred : 'c -> Pred.t -> 'f + ; visit_proc : 'c -> ('d, 'g) Proc.t -> 'f + ; visit_single_spec : 'c -> Spec.st -> 'f + ; visit_slcmd : 'c -> SLCmd.t -> 'f + ; visit_spec : 'c -> Spec.t -> 'f + ; visit_typ : 'c -> Type.t -> 'f + ; visit_unop : 'c -> UnOp.t -> 'f + ; .. > + + method virtual private plus : 'f -> 'f -> 'f + method visit_'annot : 'c -> 'd -> 'f + method visit_'label : 'c -> 'g -> 'f + method visit_ALoc : 'c -> ALoc.t -> 'f + method visit_And : 'c -> Formula.t -> Formula.t -> 'f + method visit_Impl : 'c -> Formula.t -> Formula.t -> 'f + method visit_Apply : 'c -> string -> Expr.t -> 'g option -> 'f + method visit_ApplyLem : 'c -> string -> Expr.t list -> string list -> 'f + method visit_Arguments : 'c -> string -> 'f + method visit_Assert : 'c -> Formula.t -> 'f + method visit_Assignment : 'c -> string -> Expr.t -> 'f + method visit_Assume : 'c -> Formula.t -> 'f + method visit_AssumeType : 'c -> Expr.t -> Type.t -> 'f + method visit_BAnd : 'c -> 'f + method visit_BOr : 'c -> 'f + method visit_BSetMem : 'c -> 'f + method visit_BSetSub : 'c -> 'f + method visit_BinOp : 'c -> Expr.t -> BinOp.t -> Expr.t -> 'f + method visit_BitwiseAnd : 'c -> 'f + method visit_BitwiseAndL : 'c -> 'f + method visit_BitwiseAndF : 'c -> 'f + method visit_BitwiseNot : 'c -> 'f + method visit_BitwiseOr : 'c -> 'f + method visit_BitwiseOrL : 'c -> 'f + method visit_BitwiseOrF : 'c -> 'f + method visit_BitwiseXor : 'c -> 'f + method visit_BitwiseXorL : 'c -> 'f + method visit_BitwiseXorF : 'c -> 'f + method visit_Bool : 'c -> bool -> 'f + method visit_BooleanType : 'c -> 'f + method visit_Branch : 'c -> Formula.t -> 'f + method visit_Bug : 'c -> 'f + + method visit_Call : + 'c -> + string -> + Expr.t -> + Expr.t list -> + 'g option -> + (string * (string * Expr.t) list) option -> + 'f + + method visit_Car : 'c -> 'f + method visit_Cdr : 'c -> 'f + method visit_Constant : 'c -> Constant.t -> 'f + method visit_IDiv : 'c -> 'f + method visit_FDiv : 'c -> 'f + + method visit_ECall : + 'c -> string -> Expr.t -> Expr.t list -> 'g option -> 'f + + method visit_EList : 'c -> Expr.t list -> 'f + method visit_ESet : 'c -> Expr.t list -> 'f + method visit_Emp : 'c -> 'f + method visit_Empty : 'c -> 'f + method visit_EmptyType : 'c -> 'f + method visit_Epsilon : 'c -> 'f + method visit_Eq : 'c -> Expr.t -> Expr.t -> 'f + method visit_Equal : 'c -> 'f + method visit_Error : 'c -> 'f + method visit_Fail : 'c -> string -> Expr.t list -> 'f + method visit_False : 'c -> 'f + + method visit_Fold : + 'c -> + string -> + Expr.t list -> + (string * (string * Expr.t) list) option -> + 'f + + method visit_ForAll : 'c -> (string * Type.t option) list -> Formula.t -> 'f + method visit_GA : 'c -> string -> Expr.t list -> Expr.t list -> 'f + method visit_Wand : 'c -> string * Expr.t list -> string * Expr.t list -> 'f + method visit_GUnfold : 'c -> string -> 'f + method visit_Goto : 'c -> 'g -> 'f + method visit_GuardedGoto : 'c -> Expr.t -> 'g -> 'g -> 'f + method visit_If : 'c -> Expr.t -> LCmd.t list -> LCmd.t list -> 'f + method visit_Invariant : 'c -> Asrt.t -> string list -> 'f + method visit_LAction : 'c -> string -> string -> Expr.t list -> 'f + method visit_LList : 'c -> Literal.t list -> 'f + method visit_LVar : 'c -> LVar.t -> 'f + method visit_LeftShift : 'c -> 'f + method visit_LeftShiftL : 'c -> 'f + method visit_LeftShiftF : 'c -> 'f + method visit_FLess : 'c -> Expr.t -> Expr.t -> 'f + method visit_FLessEq : 'c -> Expr.t -> Expr.t -> 'f + method visit_ILess : 'c -> Expr.t -> Expr.t -> 'f + method visit_ILessEq : 'c -> Expr.t -> Expr.t -> 'f + method visit_IsInt : 'c -> Expr.t -> 'f + method visit_ILessThan : 'c -> 'f + method visit_ILessThanEqual : 'c -> 'f + method visit_FLessThan : 'c -> 'f + method visit_FLessThanEqual : 'c -> 'f + method visit_SLessThan : 'c -> 'f + method visit_ListType : 'c -> 'f + method visit_Lit : 'c -> Literal.t -> 'f + method visit_Loc : 'c -> string -> 'f + method visit_LocalTime : 'c -> 'f + method visit_Logic : 'c -> LCmd.t -> 'f + method visit_LstCat : 'c -> 'f + method visit_LstLen : 'c -> 'f + method visit_LstNth : 'c -> 'f + method visit_LstRepeat : 'c -> 'f + method visit_LstRev : 'c -> 'f + method visit_LstSub : 'c -> Expr.t -> Expr.t -> Expr.t -> 'f + method visit_M_abs : 'c -> 'f + method visit_M_acos : 'c -> 'f + method visit_M_asin : 'c -> 'f + method visit_M_atan : 'c -> 'f + method visit_M_atan2 : 'c -> 'f + method visit_M_ceil : 'c -> 'f + method visit_M_cos : 'c -> 'f + method visit_M_exp : 'c -> 'f + method visit_M_floor : 'c -> 'f + method visit_M_isNaN : 'c -> 'f + method visit_M_log : 'c -> 'f + method visit_M_pow : 'c -> 'f + method visit_M_round : 'c -> 'f + method visit_M_sgn : 'c -> 'f + method visit_M_sin : 'c -> 'f + method visit_M_sqrt : 'c -> 'f + method visit_M_tan : 'c -> 'f + method visit_Macro : 'c -> string -> Expr.t list -> 'f + method visit_Max_float : 'c -> 'f + method visit_MaxSafeInteger : 'c -> 'f + method visit_Min_float : 'c -> 'f + method visit_IMinus : 'c -> 'f + method visit_FMinus : 'c -> 'f + method visit_IMod : 'c -> 'f + method visit_FMod : 'c -> 'f + method visit_NOp : 'c -> NOp.t -> Expr.t list -> 'f + method visit_NoneType : 'c -> 'f + method visit_Nono : 'c -> 'f + method visit_Normal : 'c -> 'f + method visit_Not : 'c -> Formula.t -> 'f + method visit_Null : 'c -> 'f + method visit_NullType : 'c -> 'f + method visit_Int : 'c -> Z.t -> 'f + method visit_Num : 'c -> float -> 'f + method visit_IntType : 'c -> 'f + method visit_NumberType : 'c -> 'f + method visit_ObjectType : 'c -> 'f + method visit_Or : 'c -> Formula.t -> Formula.t -> 'f + method visit_PVar : 'c -> string -> 'f + method visit_PhiAssignment : 'c -> (string * Expr.t list) list -> 'f + method visit_Pi : 'c -> 'f + method visit_IPlus : 'c -> 'f + method visit_FPlus : 'c -> 'f + method visit_Pred : 'c -> string -> Expr.t list -> 'f + method visit_Pure : 'c -> Formula.t -> 'f + method visit_Random : 'c -> 'f + method visit_ReturnError : 'c -> 'f + method visit_ReturnNormal : 'c -> 'f + method visit_SL : 'c -> SLCmd.t -> 'f + method visit_SepAssert : 'c -> Asrt.t -> string list -> 'f + method visit_SetDiff : 'c -> 'f + method visit_SetInter : 'c -> 'f + method visit_SetMem : 'c -> Expr.t -> Expr.t -> 'f + method visit_SetSub : 'c -> Expr.t -> Expr.t -> 'f + method visit_SetToList : 'c -> 'f + method visit_SetType : 'c -> 'f + method visit_SetUnion : 'c -> 'f + method visit_SignedRightShift : 'c -> 'f + method visit_SignedRightShiftL : 'c -> 'f + method visit_SignedRightShiftF : 'c -> 'f + method visit_Skip : 'c -> 'f + method visit_FreshSVar : 'c -> string -> 'f + method visit_Star : 'c -> Asrt.t -> Asrt.t -> 'f + method visit_StrCat : 'c -> 'f + method visit_StrLen : 'c -> 'f + method visit_IntToNum : 'c -> 'f + method visit_NumToInt : 'c -> 'f + method visit_StrLess : 'c -> Expr.t -> Expr.t -> 'f + method visit_StrNth : 'c -> 'f + method visit_String : 'c -> string -> 'f + method visit_StringType : 'c -> 'f + method visit_SymbExec : 'c -> 'f + method visit_ITimes : 'c -> 'f + method visit_FTimes : 'c -> 'f + method visit_ToInt32Op : 'c -> 'f + method visit_ToIntOp : 'c -> 'f + method visit_ToNumberOp : 'c -> 'f + method visit_ToStringOp : 'c -> 'f + method visit_ToUint16Op : 'c -> 'f + method visit_ToUint32Op : 'c -> 'f + method visit_True : 'c -> 'f + method visit_Type : 'c -> Type.t -> 'f + method visit_TypeOf : 'c -> 'f + method visit_TypeType : 'c -> 'f + method visit_Types : 'c -> (Expr.t * Type.t) list -> 'f + method visit_UNot : 'c -> 'f + method visit_UTCTime : 'c -> 'f + method visit_UnOp : 'c -> UnOp.t -> Expr.t -> 'f + method visit_IUnaryMinus : 'c -> 'f + method visit_FUnaryMinus : 'c -> 'f + method visit_Undefined : 'c -> 'f + method visit_UndefinedType : 'c -> 'f + + method visit_Unfold : + 'c -> string -> Expr.t list -> (string * string) list option -> bool -> 'f + + method visit_Package : + 'c -> string * Expr.t list -> string * Expr.t list -> 'f + + method visit_UnsignedRightShift : 'c -> 'f + method visit_UnsignedRightShiftL : 'c -> 'f + method visit_UnsignedRightShiftF : 'c -> 'f + method visit_assertion : 'c -> Asrt.t -> 'f + method visit_bindings : 'c -> string * (string * Expr.t) list -> 'f + method visit_binop : 'c -> BinOp.t -> 'f + method visit_bispec : 'c -> BiSpec.t -> 'f + method visit_cmd : 'c -> 'g Cmd.t -> 'f + method visit_constant : 'c -> Constant.t -> 'f + method visit_expr : 'c -> Expr.t -> 'f + method visit_flag : 'c -> Flag.t -> 'f + method visit_formula : 'c -> Formula.t -> 'f + method visit_lcmd : 'c -> LCmd.t -> 'f + method visit_lemma : 'c -> Lemma.t -> 'f + method visit_lemma_spec : 'c -> Lemma.spec -> 'f + method visit_literal : 'c -> Literal.t -> 'f + method visit_macro : 'c -> Macro.t -> 'f + method visit_nop : 'c -> NOp.t -> 'f + method visit_pred : 'c -> Pred.t -> 'f + method visit_proc : 'c -> ('d, 'g) Proc.t -> 'f + method visit_single_spec : 'c -> Spec.st -> 'f + method visit_slcmd : 'c -> SLCmd.t -> 'f + method visit_spec : 'c -> Spec.t -> 'f + method visit_typ : 'c -> Type.t -> 'f + method visit_unop : 'c -> UnOp.t -> 'f + method virtual private zero : 'f + end - class ['b] iter : - object ('b) - constraint - 'b = < visit_'annot : 'c -> 'd -> unit - ; visit_'label : 'c -> 'f -> unit - ; visit_ALoc : 'c -> string -> unit - ; visit_And : 'c -> Formula.t -> Formula.t -> unit - ; visit_Impl : 'c -> Formula.t -> Formula.t -> unit - ; visit_Apply : 'c -> string -> Expr.t -> 'f option -> unit - ; visit_ApplyLem : 'c -> string -> Expr.t list -> string list -> unit - ; visit_Arguments : 'c -> string -> unit - ; visit_Assert : 'c -> Formula.t -> unit - ; visit_Assignment : 'c -> string -> Expr.t -> unit - ; visit_Assume : 'c -> Formula.t -> unit - ; visit_AssumeType : 'c -> Expr.t -> Type.t -> unit - ; visit_BAnd : 'c -> unit - ; visit_BOr : 'c -> unit - ; visit_BSetMem : 'c -> unit - ; visit_BSetSub : 'c -> unit - ; visit_BinOp : 'c -> Expr.t -> BinOp.t -> Expr.t -> unit - ; visit_BitwiseAnd : 'c -> unit - ; visit_BitwiseAndL : 'c -> unit - ; visit_BitwiseAndF : 'c -> unit - ; visit_BitwiseNot : 'c -> unit - ; visit_BitwiseOr : 'c -> unit - ; visit_BitwiseOrL : 'c -> unit - ; visit_BitwiseOrF : 'c -> unit - ; visit_BitwiseXor : 'c -> unit - ; visit_BitwiseXorL : 'c -> unit - ; visit_BitwiseXorF : 'c -> unit - ; visit_Bool : 'c -> bool -> unit - ; visit_BooleanType : 'c -> unit - ; visit_Branch : 'c -> Formula.t -> unit - ; visit_Bug : 'c -> unit - ; visit_Call : - 'c -> - string -> - Expr.t -> - Expr.t list -> - 'f option -> - Cmd.logic_bindings_t option -> - unit - ; visit_Car : 'c -> unit - ; visit_Cdr : 'c -> unit - ; visit_Constant : 'c -> Constant.t -> unit - ; visit_ECall : - 'c -> string -> Expr.t -> Expr.t list -> 'f option -> unit - ; visit_EList : 'c -> Expr.t list -> unit - ; visit_ESet : 'c -> Expr.t list -> unit - ; visit_Emp : 'c -> unit - ; visit_Empty : 'c -> unit - ; visit_EmptyType : 'c -> unit - ; visit_Epsilon : 'c -> unit - ; visit_Eq : 'c -> Expr.t -> Expr.t -> unit - ; visit_Equal : 'c -> unit - ; visit_Error : 'c -> unit - ; visit_FDiv : 'c -> unit - ; visit_FLessThan : 'c -> unit - ; visit_FLessThanEqual : 'c -> unit - ; visit_FMinus : 'c -> unit - ; visit_FMod : 'c -> unit - ; visit_FPlus : 'c -> unit - ; visit_FTimes : 'c -> unit - ; visit_FUnaryMinus : 'c -> unit - ; visit_Fail : 'c -> string -> Expr.t list -> unit - ; visit_False : 'c -> unit - ; visit_Fold : - 'c -> - string -> - Expr.t list -> - (string * (string * Expr.t) list) option -> - unit - ; visit_ForAll : - 'c -> (string * Type.t option) list -> Formula.t -> unit - ; visit_GA : 'c -> string -> Expr.t list -> Expr.t list -> unit - ; visit_Wand : - 'c -> string * Expr.t list -> string * Expr.t list -> unit - ; visit_GUnfold : 'c -> string -> unit - ; visit_Goto : 'c -> 'f -> unit - ; visit_GuardedGoto : 'c -> Expr.t -> 'f -> 'f -> unit - ; visit_IDiv : 'c -> unit - ; visit_ILessThan : 'c -> unit - ; visit_ILessThanEqual : 'c -> unit - ; visit_IMinus : 'c -> unit - ; visit_IMod : 'c -> unit - ; visit_IPlus : 'c -> unit - ; visit_ITimes : 'c -> unit - ; visit_IUnaryMinus : 'c -> unit - ; visit_If : 'c -> Expr.t -> LCmd.t list -> LCmd.t list -> unit - ; visit_Int : 'c -> Z.t -> unit - ; visit_IntType : 'c -> unit - ; visit_Invariant : 'c -> Asrt.t -> string list -> unit - ; visit_LAction : 'c -> string -> string -> Expr.t list -> unit - ; visit_LList : 'c -> Literal.t list -> unit - ; visit_LVar : 'c -> string -> unit - ; visit_LeftShift : 'c -> unit - ; visit_LeftShiftL : 'c -> unit - ; visit_LeftShiftF : 'c -> unit - ; visit_FLess : 'c -> Expr.t -> Expr.t -> unit - ; visit_FLessEq : 'c -> Expr.t -> Expr.t -> unit - ; visit_ILess : 'c -> Expr.t -> Expr.t -> unit - ; visit_ILessEq : 'c -> Expr.t -> Expr.t -> unit - ; visit_IsInt : 'c -> Expr.t -> unit - ; visit_ListType : 'c -> unit - ; visit_Lit : 'c -> Literal.t -> unit - ; visit_Loc : 'c -> string -> unit - ; visit_LocalTime : 'c -> unit - ; visit_Logic : 'c -> LCmd.t -> unit - ; visit_LstCat : 'c -> unit - ; visit_LstLen : 'c -> unit - ; visit_LstNth : 'c -> unit - ; visit_LstRepeat : 'c -> unit - ; visit_LstRev : 'c -> unit - ; visit_LstSub : 'c -> Expr.t -> Expr.t -> Expr.t -> unit - ; visit_M_abs : 'c -> unit - ; visit_M_acos : 'c -> unit - ; visit_M_asin : 'c -> unit - ; visit_M_atan : 'c -> unit - ; visit_M_atan2 : 'c -> unit - ; visit_M_ceil : 'c -> unit - ; visit_M_cos : 'c -> unit - ; visit_M_exp : 'c -> unit - ; visit_M_floor : 'c -> unit - ; visit_M_isNaN : 'c -> unit - ; visit_M_log : 'c -> unit - ; visit_M_pow : 'c -> unit - ; visit_M_round : 'c -> unit - ; visit_M_sgn : 'c -> unit - ; visit_M_sin : 'c -> unit - ; visit_M_sqrt : 'c -> unit - ; visit_M_tan : 'c -> unit - ; visit_Macro : 'c -> string -> Expr.t list -> unit - ; visit_MaxSafeInteger : 'c -> unit - ; visit_Max_float : 'c -> unit - ; visit_Min_float : 'c -> unit - ; visit_NOp : 'c -> NOp.t -> Expr.t list -> unit - ; visit_NoneType : 'c -> unit - ; visit_Nono : 'c -> unit - ; visit_Normal : 'c -> unit - ; visit_Not : 'c -> Formula.t -> unit - ; visit_Null : 'c -> unit - ; visit_NullType : 'c -> unit - ; visit_Num : 'c -> float -> unit - ; visit_NumberType : 'c -> unit - ; visit_ObjectType : 'c -> unit - ; visit_Or : 'c -> Formula.t -> Formula.t -> unit - ; visit_PVar : 'c -> string -> unit - ; visit_PhiAssignment : 'c -> (string * Expr.t list) list -> unit - ; visit_Pi : 'c -> unit - ; visit_Pred : 'c -> string -> Expr.t list -> unit - ; visit_Pure : 'c -> Formula.t -> unit - ; visit_Random : 'c -> unit - ; visit_ReturnError : 'c -> unit - ; visit_ReturnNormal : 'c -> unit - ; visit_SL : 'c -> SLCmd.t -> unit - ; visit_SLessThan : 'c -> unit - ; visit_SepAssert : 'c -> Asrt.t -> string list -> unit - ; visit_SetDiff : 'c -> unit - ; visit_SetInter : 'c -> unit - ; visit_SetMem : 'c -> Expr.t -> Expr.t -> unit - ; visit_SetSub : 'c -> Expr.t -> Expr.t -> unit - ; visit_SetToList : 'c -> unit - ; visit_SetType : 'c -> unit - ; visit_SetUnion : 'c -> unit - ; visit_SignedRightShift : 'c -> unit - ; visit_SignedRightShiftL : 'c -> unit - ; visit_SignedRightShiftF : 'c -> unit - ; visit_Skip : 'c -> unit - ; visit_FreshSVar : 'c -> string -> unit - ; visit_Star : 'c -> Asrt.t -> Asrt.t -> unit - ; visit_StrCat : 'c -> unit - ; visit_StrLen : 'c -> unit - ; visit_IntToNum : 'c -> unit - ; visit_NumToInt : 'c -> unit - ; visit_StrLess : 'c -> Expr.t -> Expr.t -> unit - ; visit_StrNth : 'c -> unit - ; visit_String : 'c -> string -> unit - ; visit_StringType : 'c -> unit - ; visit_SymbExec : 'c -> unit - ; visit_ToInt32Op : 'c -> unit - ; visit_ToIntOp : 'c -> unit - ; visit_ToNumberOp : 'c -> unit - ; visit_ToStringOp : 'c -> unit - ; visit_ToUint16Op : 'c -> unit - ; visit_ToUint32Op : 'c -> unit - ; visit_True : 'c -> unit - ; visit_Type : 'c -> Type.t -> unit - ; visit_TypeOf : 'c -> unit - ; visit_TypeType : 'c -> unit - ; visit_Types : 'c -> (Expr.t * Type.t) list -> unit - ; visit_UNot : 'c -> unit - ; visit_UTCTime : 'c -> unit - ; visit_UnOp : 'c -> UnOp.t -> Expr.t -> unit - ; visit_Undefined : 'c -> unit - ; visit_UndefinedType : 'c -> unit - ; visit_Unfold : - 'c -> - string -> - Expr.t list -> - (string * string) list option -> - bool -> - unit - ; visit_Package : - 'c -> string * Expr.t list -> string * Expr.t list -> unit - ; visit_UnsignedRightShift : 'c -> unit - ; visit_UnsignedRightShiftL : 'c -> unit - ; visit_UnsignedRightShiftF : 'c -> unit - ; visit_assertion : 'c -> Asrt.t -> unit - ; visit_bindings : 'c -> string * (string * Expr.t) list -> unit - ; visit_binop : 'c -> BinOp.t -> unit - ; visit_bispec : 'c -> BiSpec.t -> unit - ; visit_cmd : 'c -> 'f Cmd.t -> unit - ; visit_constant : 'c -> Constant.t -> unit - ; visit_expr : 'c -> Expr.t -> unit - ; visit_flag : 'c -> Flag.t -> unit - ; visit_formula : 'c -> Formula.t -> unit - ; visit_lcmd : 'c -> LCmd.t -> unit - ; visit_lemma : 'c -> Lemma.t -> unit - ; visit_lemma_spec : 'c -> Lemma.spec -> unit - ; visit_literal : 'c -> Literal.t -> unit - ; visit_macro : 'c -> Macro.t -> unit - ; visit_nop : 'c -> NOp.t -> unit - ; visit_pred : 'c -> Pred.t -> unit - ; visit_proc : 'c -> ('d, 'f) Proc.t -> unit - ; visit_single_spec : 'c -> Spec.st -> unit - ; visit_slcmd : 'c -> SLCmd.t -> unit - ; visit_spec : 'c -> Spec.t -> unit - ; visit_typ : 'c -> Type.t -> unit - ; visit_unop : 'c -> UnOp.t -> unit - ; .. > - - method visit_'annot : 'c -> 'd -> unit - method visit_'label : 'c -> 'f -> unit - method visit_ALoc : 'c -> string -> unit - method visit_And : 'c -> Formula.t -> Formula.t -> unit - method visit_Impl : 'c -> Formula.t -> Formula.t -> unit - method visit_Apply : 'c -> string -> Expr.t -> 'f option -> unit - method visit_ApplyLem : 'c -> string -> Expr.t list -> string list -> unit - method visit_Arguments : 'c -> string -> unit - method visit_Assert : 'c -> Formula.t -> unit - method visit_Assignment : 'c -> string -> Expr.t -> unit - method visit_Assume : 'c -> Formula.t -> unit - method visit_AssumeType : 'c -> Expr.t -> Type.t -> unit - method visit_BAnd : 'c -> unit - method visit_BOr : 'c -> unit - method visit_BSetMem : 'c -> unit - method visit_BSetSub : 'c -> unit - method visit_BinOp : 'c -> Expr.t -> BinOp.t -> Expr.t -> unit - method visit_BitwiseAnd : 'c -> unit - method visit_BitwiseAndL : 'c -> unit - method visit_BitwiseAndF : 'c -> unit - method visit_BitwiseNot : 'c -> unit - method visit_BitwiseOr : 'c -> unit - method visit_BitwiseOrL : 'c -> unit - method visit_BitwiseOrF : 'c -> unit - method visit_BitwiseXor : 'c -> unit - method visit_BitwiseXorL : 'c -> unit - method visit_BitwiseXorF : 'c -> unit - method visit_Bool : 'c -> bool -> unit - method visit_BooleanType : 'c -> unit - method visit_Branch : 'c -> Formula.t -> unit - method visit_Bug : 'c -> unit - - method visit_Call : - 'c -> - string -> - Expr.t -> - Expr.t list -> - 'f option -> - (string * (string * Expr.t) list) option -> - unit - - method visit_Car : 'c -> unit - method visit_Cdr : 'c -> unit - method visit_Constant : 'c -> Constant.t -> unit - - method visit_ECall : - 'c -> string -> Expr.t -> Expr.t list -> 'f option -> unit - - method visit_EList : 'c -> Expr.t list -> unit - method visit_ESet : 'c -> Expr.t list -> unit - method visit_Emp : 'c -> unit - method visit_Empty : 'c -> unit - method visit_EmptyType : 'c -> unit - method visit_Epsilon : 'c -> unit - method visit_Eq : 'c -> Expr.t -> Expr.t -> unit - method visit_Equal : 'c -> unit - method visit_Error : 'c -> unit - method visit_FDiv : 'c -> unit - method visit_FLessThan : 'c -> unit - method visit_FLessThanEqual : 'c -> unit - method visit_FMinus : 'c -> unit - method visit_FMod : 'c -> unit - method visit_FPlus : 'c -> unit - method visit_FTimes : 'c -> unit - method visit_FUnaryMinus : 'c -> unit - method visit_Fail : 'c -> string -> Expr.t list -> unit - method visit_False : 'c -> unit - - method visit_Fold : - 'c -> - string -> - Expr.t list -> - (string * (string * Expr.t) list) option -> - unit - - method visit_ForAll : - 'c -> (string * Type.t option) list -> Formula.t -> unit - - method visit_GA : 'c -> string -> Expr.t list -> Expr.t list -> unit - - method visit_Wand : - 'c -> string * Expr.t list -> string * Expr.t list -> unit - - method visit_GUnfold : 'c -> string -> unit - method visit_Goto : 'c -> 'f -> unit - method visit_GuardedGoto : 'c -> Expr.t -> 'f -> 'f -> unit - method visit_IDiv : 'c -> unit - method visit_ILessThan : 'c -> unit - method visit_ILessThanEqual : 'c -> unit - method visit_IMinus : 'c -> unit - method visit_IMod : 'c -> unit - method visit_IPlus : 'c -> unit - method visit_ITimes : 'c -> unit - method visit_IUnaryMinus : 'c -> unit - method visit_If : 'c -> Expr.t -> LCmd.t list -> LCmd.t list -> unit - method visit_Int : 'c -> Z.t -> unit - method visit_IntType : 'c -> unit - method visit_Invariant : 'c -> Asrt.t -> string list -> unit - method visit_LAction : 'c -> string -> string -> Expr.t list -> unit - method visit_LList : 'c -> Literal.t list -> unit - method visit_LVar : 'c -> string -> unit - method visit_LeftShift : 'c -> unit - method visit_LeftShiftL : 'c -> unit - method visit_LeftShiftF : 'c -> unit - method visit_FLess : 'c -> Expr.t -> Expr.t -> unit - method visit_FLessEq : 'c -> Expr.t -> Expr.t -> unit - method visit_ILess : 'c -> Expr.t -> Expr.t -> unit - method visit_ILessEq : 'c -> Expr.t -> Expr.t -> unit - method visit_IsInt : 'c -> Expr.t -> unit - method visit_ListType : 'c -> unit - method visit_Lit : 'c -> Literal.t -> unit - method visit_Loc : 'c -> string -> unit - method visit_LocalTime : 'c -> unit - method visit_Logic : 'c -> LCmd.t -> unit - method visit_LstCat : 'c -> unit - method visit_LstLen : 'c -> unit - method visit_LstNth : 'c -> unit - method visit_LstRepeat : 'c -> unit - method visit_LstRev : 'c -> unit - method visit_LstSub : 'c -> Expr.t -> Expr.t -> Expr.t -> unit - method visit_M_abs : 'c -> unit - method visit_M_acos : 'c -> unit - method visit_M_asin : 'c -> unit - method visit_M_atan : 'c -> unit - method visit_M_atan2 : 'c -> unit - method visit_M_ceil : 'c -> unit - method visit_M_cos : 'c -> unit - method visit_M_exp : 'c -> unit - method visit_M_floor : 'c -> unit - method visit_M_isNaN : 'c -> unit - method visit_M_log : 'c -> unit - method visit_M_pow : 'c -> unit - method visit_M_round : 'c -> unit - method visit_M_sgn : 'c -> unit - method visit_M_sin : 'c -> unit - method visit_M_sqrt : 'c -> unit - method visit_M_tan : 'c -> unit - method visit_Macro : 'c -> string -> Expr.t list -> unit - method visit_MaxSafeInteger : 'c -> unit - method visit_Max_float : 'c -> unit - method visit_Min_float : 'c -> unit - method visit_NOp : 'c -> NOp.t -> Expr.t list -> unit - method visit_NoneType : 'c -> unit - method visit_Nono : 'c -> unit - method visit_Normal : 'c -> unit - method visit_Not : 'c -> Formula.t -> unit - method visit_Null : 'c -> unit - method visit_NullType : 'c -> unit - method visit_Num : 'c -> float -> unit - method visit_NumberType : 'c -> unit - method visit_ObjectType : 'c -> unit - method visit_Or : 'c -> Formula.t -> Formula.t -> unit - method visit_PVar : 'c -> string -> unit - method visit_PhiAssignment : 'c -> (string * Expr.t list) list -> unit - method visit_Pi : 'c -> unit - method visit_Pred : 'c -> string -> Expr.t list -> unit - method visit_Pure : 'c -> Formula.t -> unit - method visit_Random : 'c -> unit - method visit_ReturnError : 'c -> unit - method visit_ReturnNormal : 'c -> unit - method visit_SL : 'c -> SLCmd.t -> unit - method visit_SLessThan : 'c -> unit - method visit_SepAssert : 'c -> Asrt.t -> string list -> unit - method visit_SetDiff : 'c -> unit - method visit_SetInter : 'c -> unit - method visit_SetMem : 'c -> Expr.t -> Expr.t -> unit - method visit_SetSub : 'c -> Expr.t -> Expr.t -> unit - method visit_SetToList : 'c -> unit - method visit_SetType : 'c -> unit - method visit_SetUnion : 'c -> unit - method visit_SignedRightShift : 'c -> unit - method visit_SignedRightShiftL : 'c -> unit - method visit_SignedRightShiftF : 'c -> unit - method visit_Skip : 'c -> unit - method visit_FreshSVar : 'c -> string -> unit - method visit_Star : 'c -> Asrt.t -> Asrt.t -> unit - method visit_StrCat : 'c -> unit - method visit_StrLen : 'c -> unit - method visit_IntToNum : 'c -> unit - method visit_NumToInt : 'c -> unit - method visit_StrLess : 'c -> Expr.t -> Expr.t -> unit - method visit_StrNth : 'c -> unit - method visit_String : 'c -> string -> unit - method visit_StringType : 'c -> unit - method visit_SymbExec : 'c -> unit - method visit_ToInt32Op : 'c -> unit - method visit_ToIntOp : 'c -> unit - method visit_ToNumberOp : 'c -> unit - method visit_ToStringOp : 'c -> unit - method visit_ToUint16Op : 'c -> unit - method visit_ToUint32Op : 'c -> unit - method visit_True : 'c -> unit - method visit_Type : 'c -> Type.t -> unit - method visit_TypeOf : 'c -> unit - method visit_TypeType : 'c -> unit - method visit_Types : 'c -> (Expr.t * Type.t) list -> unit - method visit_UNot : 'c -> unit - method visit_UTCTime : 'c -> unit - method visit_UnOp : 'c -> UnOp.t -> Expr.t -> unit - method visit_Undefined : 'c -> unit - method visit_UndefinedType : 'c -> unit - - method visit_Unfold : - 'c -> - string -> - Expr.t list -> - (string * string) list option -> - bool -> - unit - - method visit_Package : - 'c -> string * Expr.t list -> string * Expr.t list -> unit - - method visit_UnsignedRightShift : 'c -> unit - method visit_UnsignedRightShiftL : 'c -> unit - method visit_UnsignedRightShiftF : 'c -> unit - - method private visit_array : - 'env 'a. ('env -> 'a -> unit) -> 'env -> 'a array -> unit - - method visit_assertion : 'c -> Asrt.t -> unit - method visit_bindings : 'c -> string * (string * Expr.t) list -> unit - method visit_binop : 'c -> BinOp.t -> unit - method visit_bispec : 'c -> BiSpec.t -> unit - method private visit_bool : 'env. 'env -> bool -> unit - method private visit_bytes : 'env. 'env -> bytes -> unit - method private visit_char : 'env. 'env -> char -> unit - method visit_cmd : 'c -> 'f Cmd.t -> unit - method visit_constant : 'c -> Constant.t -> unit - method visit_expr : 'c -> Expr.t -> unit - method visit_flag : 'c -> Flag.t -> unit - method private visit_float : 'env. 'env -> float -> unit - method visit_formula : 'c -> Formula.t -> unit - method private visit_int : 'env. 'env -> int -> unit - method private visit_int32 : 'env. 'env -> int32 -> unit - method private visit_int64 : 'env. 'env -> int64 -> unit - - method private visit_lazy_t : - 'env 'a. ('env -> 'a -> unit) -> 'env -> 'a Lazy.t -> unit - - method visit_lcmd : 'c -> LCmd.t -> unit - method visit_lemma : 'c -> Lemma.t -> unit - method visit_lemma_spec : 'c -> Lemma.spec -> unit - - method private visit_list : - 'env 'a. ('env -> 'a -> unit) -> 'env -> 'a list -> unit - - method visit_literal : 'c -> Literal.t -> unit - method visit_macro : 'c -> Macro.t -> unit - method private visit_nativeint : 'env. 'env -> nativeint -> unit - method visit_nop : 'c -> NOp.t -> unit - - method private visit_option : - 'env 'a. ('env -> 'a -> unit) -> 'env -> 'a option -> unit - - method visit_pred : 'c -> Pred.t -> unit - method visit_proc : 'c -> ('d, 'f) Proc.t -> unit - - method private visit_ref : - 'env 'a. ('env -> 'a -> unit) -> 'env -> 'a ref -> unit - - method private visit_result : - 'env 'a 'e. - ('env -> 'a -> unit) -> - ('env -> 'e -> unit) -> - 'env -> - ('a, 'e) Result.result -> - unit - - method visit_single_spec : 'c -> Spec.st -> unit - method visit_slcmd : 'c -> SLCmd.t -> unit - method visit_spec : 'c -> Spec.t -> unit - method private visit_string : 'env. 'env -> string -> unit - method visit_typ : 'c -> Type.t -> unit - method private visit_unit : 'env. 'env -> unit -> unit - method visit_unop : 'c -> UnOp.t -> unit - end + class ['b] iter : object ('b) + constraint + 'b = < visit_'annot : 'c -> 'd -> unit + ; visit_'label : 'c -> 'f -> unit + ; visit_ALoc : 'c -> string -> unit + ; visit_And : 'c -> Formula.t -> Formula.t -> unit + ; visit_Impl : 'c -> Formula.t -> Formula.t -> unit + ; visit_Apply : 'c -> string -> Expr.t -> 'f option -> unit + ; visit_ApplyLem : 'c -> string -> Expr.t list -> string list -> unit + ; visit_Arguments : 'c -> string -> unit + ; visit_Assert : 'c -> Formula.t -> unit + ; visit_Assignment : 'c -> string -> Expr.t -> unit + ; visit_Assume : 'c -> Formula.t -> unit + ; visit_AssumeType : 'c -> Expr.t -> Type.t -> unit + ; visit_BAnd : 'c -> unit + ; visit_BOr : 'c -> unit + ; visit_BSetMem : 'c -> unit + ; visit_BSetSub : 'c -> unit + ; visit_BinOp : 'c -> Expr.t -> BinOp.t -> Expr.t -> unit + ; visit_BitwiseAnd : 'c -> unit + ; visit_BitwiseAndL : 'c -> unit + ; visit_BitwiseAndF : 'c -> unit + ; visit_BitwiseNot : 'c -> unit + ; visit_BitwiseOr : 'c -> unit + ; visit_BitwiseOrL : 'c -> unit + ; visit_BitwiseOrF : 'c -> unit + ; visit_BitwiseXor : 'c -> unit + ; visit_BitwiseXorL : 'c -> unit + ; visit_BitwiseXorF : 'c -> unit + ; visit_Bool : 'c -> bool -> unit + ; visit_BooleanType : 'c -> unit + ; visit_Branch : 'c -> Formula.t -> unit + ; visit_Bug : 'c -> unit + ; visit_Call : + 'c -> + string -> + Expr.t -> + Expr.t list -> + 'f option -> + Cmd.logic_bindings_t option -> + unit + ; visit_Car : 'c -> unit + ; visit_Cdr : 'c -> unit + ; visit_Constant : 'c -> Constant.t -> unit + ; visit_ECall : + 'c -> string -> Expr.t -> Expr.t list -> 'f option -> unit + ; visit_EList : 'c -> Expr.t list -> unit + ; visit_ESet : 'c -> Expr.t list -> unit + ; visit_Emp : 'c -> unit + ; visit_Empty : 'c -> unit + ; visit_EmptyType : 'c -> unit + ; visit_Epsilon : 'c -> unit + ; visit_Eq : 'c -> Expr.t -> Expr.t -> unit + ; visit_Equal : 'c -> unit + ; visit_Error : 'c -> unit + ; visit_FDiv : 'c -> unit + ; visit_FLessThan : 'c -> unit + ; visit_FLessThanEqual : 'c -> unit + ; visit_FMinus : 'c -> unit + ; visit_FMod : 'c -> unit + ; visit_FPlus : 'c -> unit + ; visit_FTimes : 'c -> unit + ; visit_FUnaryMinus : 'c -> unit + ; visit_Fail : 'c -> string -> Expr.t list -> unit + ; visit_False : 'c -> unit + ; visit_Fold : + 'c -> + string -> + Expr.t list -> + (string * (string * Expr.t) list) option -> + unit + ; visit_ForAll : + 'c -> (string * Type.t option) list -> Formula.t -> unit + ; visit_GA : 'c -> string -> Expr.t list -> Expr.t list -> unit + ; visit_Wand : + 'c -> string * Expr.t list -> string * Expr.t list -> unit + ; visit_GUnfold : 'c -> string -> unit + ; visit_Goto : 'c -> 'f -> unit + ; visit_GuardedGoto : 'c -> Expr.t -> 'f -> 'f -> unit + ; visit_IDiv : 'c -> unit + ; visit_ILessThan : 'c -> unit + ; visit_ILessThanEqual : 'c -> unit + ; visit_IMinus : 'c -> unit + ; visit_IMod : 'c -> unit + ; visit_IPlus : 'c -> unit + ; visit_ITimes : 'c -> unit + ; visit_IUnaryMinus : 'c -> unit + ; visit_If : 'c -> Expr.t -> LCmd.t list -> LCmd.t list -> unit + ; visit_Int : 'c -> Z.t -> unit + ; visit_IntType : 'c -> unit + ; visit_Invariant : 'c -> Asrt.t -> string list -> unit + ; visit_LAction : 'c -> string -> string -> Expr.t list -> unit + ; visit_LList : 'c -> Literal.t list -> unit + ; visit_LVar : 'c -> string -> unit + ; visit_LeftShift : 'c -> unit + ; visit_LeftShiftL : 'c -> unit + ; visit_LeftShiftF : 'c -> unit + ; visit_FLess : 'c -> Expr.t -> Expr.t -> unit + ; visit_FLessEq : 'c -> Expr.t -> Expr.t -> unit + ; visit_ILess : 'c -> Expr.t -> Expr.t -> unit + ; visit_ILessEq : 'c -> Expr.t -> Expr.t -> unit + ; visit_IsInt : 'c -> Expr.t -> unit + ; visit_ListType : 'c -> unit + ; visit_Lit : 'c -> Literal.t -> unit + ; visit_Loc : 'c -> string -> unit + ; visit_LocalTime : 'c -> unit + ; visit_Logic : 'c -> LCmd.t -> unit + ; visit_LstCat : 'c -> unit + ; visit_LstLen : 'c -> unit + ; visit_LstNth : 'c -> unit + ; visit_LstRepeat : 'c -> unit + ; visit_LstRev : 'c -> unit + ; visit_LstSub : 'c -> Expr.t -> Expr.t -> Expr.t -> unit + ; visit_M_abs : 'c -> unit + ; visit_M_acos : 'c -> unit + ; visit_M_asin : 'c -> unit + ; visit_M_atan : 'c -> unit + ; visit_M_atan2 : 'c -> unit + ; visit_M_ceil : 'c -> unit + ; visit_M_cos : 'c -> unit + ; visit_M_exp : 'c -> unit + ; visit_M_floor : 'c -> unit + ; visit_M_isNaN : 'c -> unit + ; visit_M_log : 'c -> unit + ; visit_M_pow : 'c -> unit + ; visit_M_round : 'c -> unit + ; visit_M_sgn : 'c -> unit + ; visit_M_sin : 'c -> unit + ; visit_M_sqrt : 'c -> unit + ; visit_M_tan : 'c -> unit + ; visit_Macro : 'c -> string -> Expr.t list -> unit + ; visit_MaxSafeInteger : 'c -> unit + ; visit_Max_float : 'c -> unit + ; visit_Min_float : 'c -> unit + ; visit_NOp : 'c -> NOp.t -> Expr.t list -> unit + ; visit_NoneType : 'c -> unit + ; visit_Nono : 'c -> unit + ; visit_Normal : 'c -> unit + ; visit_Not : 'c -> Formula.t -> unit + ; visit_Null : 'c -> unit + ; visit_NullType : 'c -> unit + ; visit_Num : 'c -> float -> unit + ; visit_NumberType : 'c -> unit + ; visit_ObjectType : 'c -> unit + ; visit_Or : 'c -> Formula.t -> Formula.t -> unit + ; visit_PVar : 'c -> string -> unit + ; visit_PhiAssignment : 'c -> (string * Expr.t list) list -> unit + ; visit_Pi : 'c -> unit + ; visit_Pred : 'c -> string -> Expr.t list -> unit + ; visit_Pure : 'c -> Formula.t -> unit + ; visit_Random : 'c -> unit + ; visit_ReturnError : 'c -> unit + ; visit_ReturnNormal : 'c -> unit + ; visit_SL : 'c -> SLCmd.t -> unit + ; visit_SLessThan : 'c -> unit + ; visit_SepAssert : 'c -> Asrt.t -> string list -> unit + ; visit_SetDiff : 'c -> unit + ; visit_SetInter : 'c -> unit + ; visit_SetMem : 'c -> Expr.t -> Expr.t -> unit + ; visit_SetSub : 'c -> Expr.t -> Expr.t -> unit + ; visit_SetToList : 'c -> unit + ; visit_SetType : 'c -> unit + ; visit_SetUnion : 'c -> unit + ; visit_SignedRightShift : 'c -> unit + ; visit_SignedRightShiftL : 'c -> unit + ; visit_SignedRightShiftF : 'c -> unit + ; visit_Skip : 'c -> unit + ; visit_FreshSVar : 'c -> string -> unit + ; visit_Star : 'c -> Asrt.t -> Asrt.t -> unit + ; visit_StrCat : 'c -> unit + ; visit_StrLen : 'c -> unit + ; visit_IntToNum : 'c -> unit + ; visit_NumToInt : 'c -> unit + ; visit_StrLess : 'c -> Expr.t -> Expr.t -> unit + ; visit_StrNth : 'c -> unit + ; visit_String : 'c -> string -> unit + ; visit_StringType : 'c -> unit + ; visit_SymbExec : 'c -> unit + ; visit_ToInt32Op : 'c -> unit + ; visit_ToIntOp : 'c -> unit + ; visit_ToNumberOp : 'c -> unit + ; visit_ToStringOp : 'c -> unit + ; visit_ToUint16Op : 'c -> unit + ; visit_ToUint32Op : 'c -> unit + ; visit_True : 'c -> unit + ; visit_Type : 'c -> Type.t -> unit + ; visit_TypeOf : 'c -> unit + ; visit_TypeType : 'c -> unit + ; visit_Types : 'c -> (Expr.t * Type.t) list -> unit + ; visit_UNot : 'c -> unit + ; visit_UTCTime : 'c -> unit + ; visit_UnOp : 'c -> UnOp.t -> Expr.t -> unit + ; visit_Undefined : 'c -> unit + ; visit_UndefinedType : 'c -> unit + ; visit_Unfold : + 'c -> + string -> + Expr.t list -> + (string * string) list option -> + bool -> + unit + ; visit_Package : + 'c -> string * Expr.t list -> string * Expr.t list -> unit + ; visit_UnsignedRightShift : 'c -> unit + ; visit_UnsignedRightShiftL : 'c -> unit + ; visit_UnsignedRightShiftF : 'c -> unit + ; visit_assertion : 'c -> Asrt.t -> unit + ; visit_bindings : 'c -> string * (string * Expr.t) list -> unit + ; visit_binop : 'c -> BinOp.t -> unit + ; visit_bispec : 'c -> BiSpec.t -> unit + ; visit_cmd : 'c -> 'f Cmd.t -> unit + ; visit_constant : 'c -> Constant.t -> unit + ; visit_expr : 'c -> Expr.t -> unit + ; visit_flag : 'c -> Flag.t -> unit + ; visit_formula : 'c -> Formula.t -> unit + ; visit_lcmd : 'c -> LCmd.t -> unit + ; visit_lemma : 'c -> Lemma.t -> unit + ; visit_lemma_spec : 'c -> Lemma.spec -> unit + ; visit_literal : 'c -> Literal.t -> unit + ; visit_macro : 'c -> Macro.t -> unit + ; visit_nop : 'c -> NOp.t -> unit + ; visit_pred : 'c -> Pred.t -> unit + ; visit_proc : 'c -> ('d, 'f) Proc.t -> unit + ; visit_single_spec : 'c -> Spec.st -> unit + ; visit_slcmd : 'c -> SLCmd.t -> unit + ; visit_spec : 'c -> Spec.t -> unit + ; visit_typ : 'c -> Type.t -> unit + ; visit_unop : 'c -> UnOp.t -> unit + ; .. > + + method visit_'annot : 'c -> 'd -> unit + method visit_'label : 'c -> 'f -> unit + method visit_ALoc : 'c -> string -> unit + method visit_And : 'c -> Formula.t -> Formula.t -> unit + method visit_Impl : 'c -> Formula.t -> Formula.t -> unit + method visit_Apply : 'c -> string -> Expr.t -> 'f option -> unit + method visit_ApplyLem : 'c -> string -> Expr.t list -> string list -> unit + method visit_Arguments : 'c -> string -> unit + method visit_Assert : 'c -> Formula.t -> unit + method visit_Assignment : 'c -> string -> Expr.t -> unit + method visit_Assume : 'c -> Formula.t -> unit + method visit_AssumeType : 'c -> Expr.t -> Type.t -> unit + method visit_BAnd : 'c -> unit + method visit_BOr : 'c -> unit + method visit_BSetMem : 'c -> unit + method visit_BSetSub : 'c -> unit + method visit_BinOp : 'c -> Expr.t -> BinOp.t -> Expr.t -> unit + method visit_BitwiseAnd : 'c -> unit + method visit_BitwiseAndL : 'c -> unit + method visit_BitwiseAndF : 'c -> unit + method visit_BitwiseNot : 'c -> unit + method visit_BitwiseOr : 'c -> unit + method visit_BitwiseOrL : 'c -> unit + method visit_BitwiseOrF : 'c -> unit + method visit_BitwiseXor : 'c -> unit + method visit_BitwiseXorL : 'c -> unit + method visit_BitwiseXorF : 'c -> unit + method visit_Bool : 'c -> bool -> unit + method visit_BooleanType : 'c -> unit + method visit_Branch : 'c -> Formula.t -> unit + method visit_Bug : 'c -> unit + + method visit_Call : + 'c -> + string -> + Expr.t -> + Expr.t list -> + 'f option -> + (string * (string * Expr.t) list) option -> + unit + + method visit_Car : 'c -> unit + method visit_Cdr : 'c -> unit + method visit_Constant : 'c -> Constant.t -> unit + + method visit_ECall : + 'c -> string -> Expr.t -> Expr.t list -> 'f option -> unit + + method visit_EList : 'c -> Expr.t list -> unit + method visit_ESet : 'c -> Expr.t list -> unit + method visit_Emp : 'c -> unit + method visit_Empty : 'c -> unit + method visit_EmptyType : 'c -> unit + method visit_Epsilon : 'c -> unit + method visit_Eq : 'c -> Expr.t -> Expr.t -> unit + method visit_Equal : 'c -> unit + method visit_Error : 'c -> unit + method visit_FDiv : 'c -> unit + method visit_FLessThan : 'c -> unit + method visit_FLessThanEqual : 'c -> unit + method visit_FMinus : 'c -> unit + method visit_FMod : 'c -> unit + method visit_FPlus : 'c -> unit + method visit_FTimes : 'c -> unit + method visit_FUnaryMinus : 'c -> unit + method visit_Fail : 'c -> string -> Expr.t list -> unit + method visit_False : 'c -> unit + + method visit_Fold : + 'c -> + string -> + Expr.t list -> + (string * (string * Expr.t) list) option -> + unit + + method visit_ForAll : + 'c -> (string * Type.t option) list -> Formula.t -> unit + + method visit_GA : 'c -> string -> Expr.t list -> Expr.t list -> unit + + method visit_Wand : + 'c -> string * Expr.t list -> string * Expr.t list -> unit + + method visit_GUnfold : 'c -> string -> unit + method visit_Goto : 'c -> 'f -> unit + method visit_GuardedGoto : 'c -> Expr.t -> 'f -> 'f -> unit + method visit_IDiv : 'c -> unit + method visit_ILessThan : 'c -> unit + method visit_ILessThanEqual : 'c -> unit + method visit_IMinus : 'c -> unit + method visit_IMod : 'c -> unit + method visit_IPlus : 'c -> unit + method visit_ITimes : 'c -> unit + method visit_IUnaryMinus : 'c -> unit + method visit_If : 'c -> Expr.t -> LCmd.t list -> LCmd.t list -> unit + method visit_Int : 'c -> Z.t -> unit + method visit_IntType : 'c -> unit + method visit_Invariant : 'c -> Asrt.t -> string list -> unit + method visit_LAction : 'c -> string -> string -> Expr.t list -> unit + method visit_LList : 'c -> Literal.t list -> unit + method visit_LVar : 'c -> string -> unit + method visit_LeftShift : 'c -> unit + method visit_LeftShiftL : 'c -> unit + method visit_LeftShiftF : 'c -> unit + method visit_FLess : 'c -> Expr.t -> Expr.t -> unit + method visit_FLessEq : 'c -> Expr.t -> Expr.t -> unit + method visit_ILess : 'c -> Expr.t -> Expr.t -> unit + method visit_ILessEq : 'c -> Expr.t -> Expr.t -> unit + method visit_IsInt : 'c -> Expr.t -> unit + method visit_ListType : 'c -> unit + method visit_Lit : 'c -> Literal.t -> unit + method visit_Loc : 'c -> string -> unit + method visit_LocalTime : 'c -> unit + method visit_Logic : 'c -> LCmd.t -> unit + method visit_LstCat : 'c -> unit + method visit_LstLen : 'c -> unit + method visit_LstNth : 'c -> unit + method visit_LstRepeat : 'c -> unit + method visit_LstRev : 'c -> unit + method visit_LstSub : 'c -> Expr.t -> Expr.t -> Expr.t -> unit + method visit_M_abs : 'c -> unit + method visit_M_acos : 'c -> unit + method visit_M_asin : 'c -> unit + method visit_M_atan : 'c -> unit + method visit_M_atan2 : 'c -> unit + method visit_M_ceil : 'c -> unit + method visit_M_cos : 'c -> unit + method visit_M_exp : 'c -> unit + method visit_M_floor : 'c -> unit + method visit_M_isNaN : 'c -> unit + method visit_M_log : 'c -> unit + method visit_M_pow : 'c -> unit + method visit_M_round : 'c -> unit + method visit_M_sgn : 'c -> unit + method visit_M_sin : 'c -> unit + method visit_M_sqrt : 'c -> unit + method visit_M_tan : 'c -> unit + method visit_Macro : 'c -> string -> Expr.t list -> unit + method visit_MaxSafeInteger : 'c -> unit + method visit_Max_float : 'c -> unit + method visit_Min_float : 'c -> unit + method visit_NOp : 'c -> NOp.t -> Expr.t list -> unit + method visit_NoneType : 'c -> unit + method visit_Nono : 'c -> unit + method visit_Normal : 'c -> unit + method visit_Not : 'c -> Formula.t -> unit + method visit_Null : 'c -> unit + method visit_NullType : 'c -> unit + method visit_Num : 'c -> float -> unit + method visit_NumberType : 'c -> unit + method visit_ObjectType : 'c -> unit + method visit_Or : 'c -> Formula.t -> Formula.t -> unit + method visit_PVar : 'c -> string -> unit + method visit_PhiAssignment : 'c -> (string * Expr.t list) list -> unit + method visit_Pi : 'c -> unit + method visit_Pred : 'c -> string -> Expr.t list -> unit + method visit_Pure : 'c -> Formula.t -> unit + method visit_Random : 'c -> unit + method visit_ReturnError : 'c -> unit + method visit_ReturnNormal : 'c -> unit + method visit_SL : 'c -> SLCmd.t -> unit + method visit_SLessThan : 'c -> unit + method visit_SepAssert : 'c -> Asrt.t -> string list -> unit + method visit_SetDiff : 'c -> unit + method visit_SetInter : 'c -> unit + method visit_SetMem : 'c -> Expr.t -> Expr.t -> unit + method visit_SetSub : 'c -> Expr.t -> Expr.t -> unit + method visit_SetToList : 'c -> unit + method visit_SetType : 'c -> unit + method visit_SetUnion : 'c -> unit + method visit_SignedRightShift : 'c -> unit + method visit_SignedRightShiftL : 'c -> unit + method visit_SignedRightShiftF : 'c -> unit + method visit_Skip : 'c -> unit + method visit_FreshSVar : 'c -> string -> unit + method visit_Star : 'c -> Asrt.t -> Asrt.t -> unit + method visit_StrCat : 'c -> unit + method visit_StrLen : 'c -> unit + method visit_IntToNum : 'c -> unit + method visit_NumToInt : 'c -> unit + method visit_StrLess : 'c -> Expr.t -> Expr.t -> unit + method visit_StrNth : 'c -> unit + method visit_String : 'c -> string -> unit + method visit_StringType : 'c -> unit + method visit_SymbExec : 'c -> unit + method visit_ToInt32Op : 'c -> unit + method visit_ToIntOp : 'c -> unit + method visit_ToNumberOp : 'c -> unit + method visit_ToStringOp : 'c -> unit + method visit_ToUint16Op : 'c -> unit + method visit_ToUint32Op : 'c -> unit + method visit_True : 'c -> unit + method visit_Type : 'c -> Type.t -> unit + method visit_TypeOf : 'c -> unit + method visit_TypeType : 'c -> unit + method visit_Types : 'c -> (Expr.t * Type.t) list -> unit + method visit_UNot : 'c -> unit + method visit_UTCTime : 'c -> unit + method visit_UnOp : 'c -> UnOp.t -> Expr.t -> unit + method visit_Undefined : 'c -> unit + method visit_UndefinedType : 'c -> unit + + method visit_Unfold : + 'c -> + string -> + Expr.t list -> + (string * string) list option -> + bool -> + unit + + method visit_Package : + 'c -> string * Expr.t list -> string * Expr.t list -> unit + + method visit_UnsignedRightShift : 'c -> unit + method visit_UnsignedRightShiftL : 'c -> unit + method visit_UnsignedRightShiftF : 'c -> unit + + method private visit_array : + 'env 'a. ('env -> 'a -> unit) -> 'env -> 'a array -> unit + + method visit_assertion : 'c -> Asrt.t -> unit + method visit_bindings : 'c -> string * (string * Expr.t) list -> unit + method visit_binop : 'c -> BinOp.t -> unit + method visit_bispec : 'c -> BiSpec.t -> unit + method private visit_bool : 'env. 'env -> bool -> unit + method private visit_bytes : 'env. 'env -> bytes -> unit + method private visit_char : 'env. 'env -> char -> unit + method visit_cmd : 'c -> 'f Cmd.t -> unit + method visit_constant : 'c -> Constant.t -> unit + method visit_expr : 'c -> Expr.t -> unit + method visit_flag : 'c -> Flag.t -> unit + method private visit_float : 'env. 'env -> float -> unit + method visit_formula : 'c -> Formula.t -> unit + method private visit_int : 'env. 'env -> int -> unit + method private visit_int32 : 'env. 'env -> int32 -> unit + method private visit_int64 : 'env. 'env -> int64 -> unit + + method private visit_lazy_t : + 'env 'a. ('env -> 'a -> unit) -> 'env -> 'a Lazy.t -> unit + + method visit_lcmd : 'c -> LCmd.t -> unit + method visit_lemma : 'c -> Lemma.t -> unit + method visit_lemma_spec : 'c -> Lemma.spec -> unit + + method private visit_list : + 'env 'a. ('env -> 'a -> unit) -> 'env -> 'a list -> unit + + method visit_literal : 'c -> Literal.t -> unit + method visit_macro : 'c -> Macro.t -> unit + method private visit_nativeint : 'env. 'env -> nativeint -> unit + method visit_nop : 'c -> NOp.t -> unit + + method private visit_option : + 'env 'a. ('env -> 'a -> unit) -> 'env -> 'a option -> unit + + method visit_pred : 'c -> Pred.t -> unit + method visit_proc : 'c -> ('d, 'f) Proc.t -> unit + + method private visit_ref : + 'env 'a. ('env -> 'a -> unit) -> 'env -> 'a ref -> unit + + method private visit_result : + 'env 'a 'e. + ('env -> 'a -> unit) -> + ('env -> 'e -> unit) -> + 'env -> + ('a, 'e) Result.result -> + unit + + method visit_single_spec : 'c -> Spec.st -> unit + method visit_slcmd : 'c -> SLCmd.t -> unit + method visit_spec : 'c -> Spec.t -> unit + method private visit_string : 'env. 'env -> string -> unit + method visit_typ : 'c -> Type.t -> unit + method private visit_unit : 'env. 'env -> unit -> unit + method visit_unop : 'c -> UnOp.t -> unit + end module Utils : sig module SS = Containers.SS - class list_monoid : - object - method private zero : 'b list - method private plus : 'a list -> 'a list -> 'a list - end + class list_monoid : object + method private zero : 'b list + method private plus : 'a list -> 'a list -> 'a list + end (** Same as list_monoid but uses [rev_append] as [plus]. Will break any order-conservation *) - class non_ordered_list_monoid : - object - method private zero : 'b list - method private plus : 'a list -> 'a list -> 'a list - end - - class ss_monoid : - object - method private zero : SS.t - method private plus : SS.t -> SS.t -> SS.t - end - - class two_list_monoid : - object - method private zero : 'c list * 'd list - - method private plus : - 'a list * 'b list -> 'a list * 'b list -> 'a list * 'b list - end + class non_ordered_list_monoid : object + method private zero : 'b list + method private plus : 'a list -> 'a list -> 'a list + end + + class ss_monoid : object + method private zero : SS.t + method private plus : SS.t -> SS.t -> SS.t + end + + class two_list_monoid : object + method private zero : 'c list * 'd list + + method private plus : + 'a list * 'b list -> 'a list * 'b list -> 'a list * 'b list + end end end diff --git a/GillianCore/GIL_Syntax/LVar.ml b/GillianCore/GIL_Syntax/LVar.ml index 893c3115d..2efa5364b 100644 --- a/GillianCore/GIL_Syntax/LVar.ml +++ b/GillianCore/GIL_Syntax/LVar.ml @@ -2,8 +2,7 @@ open Allocators include Make_with_prefix - (Basic - ()) - (struct - let prefix = Names.lvar_prefix - end) + (Basic ()) + (struct + let prefix = Names.lvar_prefix + end) diff --git a/GillianCore/GIL_Syntax/Literal.ml b/GillianCore/GIL_Syntax/Literal.ml index 0a869ffb6..b3a3bfde0 100644 --- a/GillianCore/GIL_Syntax/Literal.ml +++ b/GillianCore/GIL_Syntax/Literal.ml @@ -8,7 +8,7 @@ type t = TypeDef__.literal = | Empty (** The literal [empty] *) | Constant of Constant.t (** GIL constants ({!type:GIL_constant}) *) | Bool of bool (** GIL booleans: [true] and [false] *) - | Int of Z.t (** GIL integers: TODO: understand size *) + | Int of Z.t (** GIL integers *) | Num of float (** GIL floats - double-precision 64-bit IEEE 754 *) | String of string (** GIL strings *) | Loc of string (** GIL object locations *) diff --git a/GillianCore/GIL_Syntax/Pred.ml b/GillianCore/GIL_Syntax/Pred.ml index 0f4b155c5..32a39b633 100644 --- a/GillianCore/GIL_Syntax/Pred.ml +++ b/GillianCore/GIL_Syntax/Pred.ml @@ -244,8 +244,7 @@ let explicit_param_types (preds : (string, t) Hashtbl.t) (pred : t) : t = match t_x with | None -> new_facts | Some t_x -> - Gil_syntax__.Formula.Eq (UnOp (TypeOf, PVar x), Lit (Type t_x)) - :: new_facts) + Formula.Eq (UnOp (TypeOf, PVar x), Lit (Type t_x)) :: new_facts) pred.pred_params [] in { diff --git a/GillianCore/command_line/command_line.mli b/GillianCore/command_line/command_line.mli index af38e00af..b64522319 100644 --- a/GillianCore/command_line/command_line.mli +++ b/GillianCore/command_line/command_line.mli @@ -7,9 +7,13 @@ module Make (CMemory : CMemory.S with type init_data = ID.t) (SMemory : SMemory.S with type init_data = ID.t) (PC : ParserAndCompiler.S with type init_data = ID.t) - (External : External.T(PC.Annot).S) (Runners : sig + (External : External.T(PC.Annot).S) + (Runners : sig val runners : Bulk.Runner.t list - end) (Lifter : functor (V : Verifier.S with type annot = PC.Annot.t) -> + end) + (Lifter : functor + (V : Verifier.S with type annot = PC.Annot.t) + -> Debugger_lifter.S with type memory = SMemory.t and type memory_error = SMemory.err_t diff --git a/GillianCore/command_line/common_args.ml b/GillianCore/command_line/common_args.ml index 28a7e1487..3c764f89c 100644 --- a/GillianCore/command_line/common_args.ml +++ b/GillianCore/command_line/common_args.ml @@ -154,7 +154,8 @@ module Make (PC : ParserAndCompiler.S) = struct L.initialize reporters; Printexc.record_backtrace (Logging.Mode.enabled ()); PC.TargetLangOptions.apply tl_opts; - Config.set_runtime_paths ?env_var:PC.env_var_import_path runtime_path; + Config.set_runtime_paths ?default_folders:PC.default_import_paths + runtime_path; Config.pbn := pbn; Config.dump_smt := dump_smt in diff --git a/GillianCore/command_line/compiler_console.ml b/GillianCore/command_line/compiler_console.ml index cfe16aae0..3d36dcc45 100644 --- a/GillianCore/command_line/compiler_console.ml +++ b/GillianCore/command_line/compiler_console.ml @@ -34,7 +34,8 @@ module Make (PC : ParserAndCompiler.S) : Console.S = struct let () = PC.initialize mode in let () = Config.current_exec_mode := mode in let () = - Config.set_runtime_paths ?env_var:PC.env_var_import_path runtime_path + Config.set_runtime_paths ?default_folders:PC.default_import_paths + runtime_path in process_files files diff --git a/GillianCore/engine/Abstraction/PState.ml b/GillianCore/engine/Abstraction/PState.ml index e7d350f35..6eb67e7f9 100644 --- a/GillianCore/engine/Abstraction/PState.ml +++ b/GillianCore/engine/Abstraction/PState.ml @@ -422,10 +422,10 @@ module Make (State : SState.S) : let pvars_diff = SS.diff pvars_a pvars_store in L.verbose (fun m -> m "%s" (String.concat ", " (SS.elements pvars_diff))); (if not (SS.is_empty pvars_diff) then - let pvars_errs : err_t list = - List.map (fun pvar : err_t -> EVar pvar) (SS.elements pvars_diff) - in - raise (Internal_State_Error (pvars_errs, astate))); + let pvars_errs : err_t list = + List.map (fun pvar : err_t -> EVar pvar) (SS.elements pvars_diff) + in + raise (Internal_State_Error (pvars_errs, astate))); let lvar_binders, pvar_binders = List.partition Names.is_lvar_name binders in @@ -754,10 +754,10 @@ module Make (State : SState.S) : L.verbose (fun m -> m "%s" (String.concat ", " (SS.elements pvars_diff))); (if not (SS.is_empty pvars_diff) then - let pvars_errs : err_t list = - List.map (fun pvar : err_t -> EVar pvar) (SS.elements pvars_diff) - in - raise (Internal_State_Error (pvars_errs, astate))); + let pvars_errs : err_t list = + List.map (fun pvar : err_t -> EVar pvar) (SS.elements pvars_diff) + in + raise (Internal_State_Error (pvars_errs, astate))); let store_subst = SStore.to_ssubst store in let a = SVal.SESubst.substitute_asrt store_subst ~partial:true a in (* let known_vars = SS.diff (SS.filter is_spec_var_name (Asrt.lvars a)) (SS.of_list binders) in *) diff --git a/GillianCore/engine/FOLogic/FOSolver.ml b/GillianCore/engine/FOLogic/FOSolver.ml index 70be867f6..15ac1c79e 100644 --- a/GillianCore/engine/FOLogic/FOSolver.ml +++ b/GillianCore/engine/FOLogic/FOSolver.ml @@ -92,8 +92,12 @@ let check_satisfiability let sat ~matching ~pfs ~gamma formula : bool = let formula = Reduction.reduce_formula ~matching ~pfs ~gamma formula in match formula with - | True -> true - | False -> false + | True -> + Logging.verbose (fun fmt -> fmt "Discharged sat before Z3"); + true + | False -> + Logging.verbose (fun fmt -> fmt "Discharged sat before Z3"); + false | _ -> let relevant_info = (Formula.pvars formula, Formula.lvars formula, Formula.locs formula) diff --git a/GillianCore/engine/FOLogic/Simplifications.ml b/GillianCore/engine/FOLogic/Simplifications.ml index a5b5cbc75..156832076 100644 --- a/GillianCore/engine/FOLogic/Simplifications.ml +++ b/GillianCore/engine/FOLogic/Simplifications.ml @@ -603,15 +603,16 @@ let simplify_pfs_and_gamma PFS.substitution temp_subst lpfs; (if SESubst.mem result (LVar v) then - let le' = - Option.get (SESubst.get result (LVar v)) - in - (* L.( - verbose (fun m -> - m "Multiples in subst: %s %s" - ((Fmt.to_to_string Expr.pp) le) - ((Fmt.to_to_string Expr.pp) le'))); *) - if le <> le' then PFS.extend lpfs (Eq (le, le'))); + let le' = + Option.get (SESubst.get result (LVar v)) + in + (* L.( + verbose (fun m -> + m "Multiples in subst: %s %s" + ((Fmt.to_to_string Expr.pp) le) + ((Fmt.to_to_string Expr.pp) le'))); *) + if le <> le' then + PFS.extend lpfs (Eq (le, le'))); SESubst.iter result (fun x le -> let sle = SESubst.subst_in_expr temp_subst diff --git a/GillianCore/engine/concrete_semantics/CVal.ml b/GillianCore/engine/concrete_semantics/CVal.ml index 176157575..482314cca 100644 --- a/GillianCore/engine/concrete_semantics/CVal.ml +++ b/GillianCore/engine/concrete_semantics/CVal.ml @@ -30,4 +30,5 @@ end (** @canonical Gillian.Concrete.Subst *) and CSubst : (Subst.S with type vt = M.t) = Subst.Make (M) + and CESubst : (ESubst.S with type vt = M.t) = ESubst.Make (M) diff --git a/GillianCore/engine/symbolic_semantics/SVal.ml b/GillianCore/engine/symbolic_semantics/SVal.ml index 2de483186..0a681756c 100644 --- a/GillianCore/engine/symbolic_semantics/SVal.ml +++ b/GillianCore/engine/symbolic_semantics/SVal.ml @@ -29,4 +29,5 @@ end (** @canonical Gillian.Symbolic.Subst *) and SESubst : (ESubst.S with type vt = M.t) = ESubst.Make (M) + and SSubst : (Subst.S with type vt = M.t) = Subst.Make (M) diff --git a/GillianCore/gil_parser/gil_parsing.ml b/GillianCore/gil_parser/gil_parsing.ml index 55aba5da1..c828e32c9 100644 --- a/GillianCore/gil_parser/gil_parsing.ml +++ b/GillianCore/gil_parser/gil_parsing.ml @@ -34,7 +34,7 @@ module Make (Annot : Annot.S) = struct unexpected_token loc_start.pos_lnum (col loc_start) loc_end.pos_lnum (col loc_end) (if String.equal loc_start.pos_fname "" then "a string" - else loc_start.pos_fname) + else loc_start.pos_fname) in failwith ("Parsing error: " ^ message) @@ -148,7 +148,10 @@ module Make (Annot : Annot.S) = struct let lookup_paths = "." :: Config.get_runtime_paths () in let rec find fname paths = match paths with - | [] -> failwith (Printf.sprintf "Cannot resolve \"%s\"" fname) + | [] -> + Fmt.failwith "Cannot resolve \"%s\", looked in %a and ." fname + Fmt.(list ~sep:(any ", ") string) + (Config.get_runtime_paths ()) | path :: rest -> let complete_path = Filename.concat path fname in if Sys.file_exists complete_path then complete_path @@ -156,7 +159,11 @@ module Make (Annot : Annot.S) = struct in find path lookup_paths else if Sys.file_exists path then path - else failwith (Printf.sprintf "Cannot resolve \"%s\"" path) + else + Fmt.failwith "Cannot resolve absolute path \"%s\", looked in %a and ." + path + Fmt.(list ~sep:(any ", ") string) + (Config.get_runtime_paths ()) let remove_dot file_ext = String.sub file_ext 1 (String.length file_ext - 1) diff --git a/GillianCore/monadic/FOSolver.ml b/GillianCore/monadic/FOSolver.ml index 3c6dcb32d..ab9212fe0 100644 --- a/GillianCore/monadic/FOSolver.ml +++ b/GillianCore/monadic/FOSolver.ml @@ -27,16 +27,7 @@ let sat ~(pc : Pc.t) formula = let pfs, gamma = (build_full_pfs pc, build_full_gamma pc) in Logging.tmi (fun m -> m "WITH PFS : %a" PFS.pp pfs); - match - Engine.Reduction.reduce_formula ~matching:pc.matching ~pfs ~gamma formula - with - | True -> - Logging.verbose (fun fmt -> fmt "Discharged sat before Z3"); - true - | False -> - Logging.verbose (fun fmt -> fmt "Discharged sat before Z3"); - false - | formula -> FOSolver.sat ~matching:pc.matching ~pfs ~gamma formula + FOSolver.sat ~matching:pc.matching ~pfs ~gamma formula let check_entailment ~(pc : Pc.t) formula = let pfs, gamma = (build_full_pfs pc, build_full_gamma pc) in diff --git a/GillianCore/parserAndCompiler/ParserAndCompiler.ml b/GillianCore/parserAndCompiler/ParserAndCompiler.ml index 616d7ffd6..3140236b1 100644 --- a/GillianCore/parserAndCompiler/ParserAndCompiler.ml +++ b/GillianCore/parserAndCompiler/ParserAndCompiler.ml @@ -57,7 +57,7 @@ module type S = sig (string * (string -> ((Annot.t, string) Prog.t, err) result)) list (** Contains the name of the environment variable which contains the path to where the runtime is stored. *) - val env_var_import_path : string option + val default_import_paths : string list option (** Function that will be executed at initialisation. It will be passed the current execution mode as parameter *) val initialize : Exec_mode.t -> unit @@ -91,6 +91,6 @@ struct flag or test suites" let other_imports = [] - let env_var_import_path = None + let default_import_paths = None let initialize _ = () end diff --git a/GillianCore/parserAndCompiler/ParserAndCompiler.mli b/GillianCore/parserAndCompiler/ParserAndCompiler.mli index d7ad699e5..261d578a8 100644 --- a/GillianCore/parserAndCompiler/ParserAndCompiler.mli +++ b/GillianCore/parserAndCompiler/ParserAndCompiler.mli @@ -58,7 +58,7 @@ module type S = sig (string * (string -> ((Annot.t, string) Prog.t, err) result)) list (** Contains the name of the environment variable which contains the path to where the runtime is stored. *) - val env_var_import_path : string option + val default_import_paths : string list option (** Function that will be executed at initialisation. It will be passed the current execution mode as parameter *) val initialize : Exec_mode.t -> unit diff --git a/GillianCore/utils/allocators.ml b/GillianCore/utils/allocators.ml index c74a7b946..29a99607b 100644 --- a/GillianCore/utils/allocators.ml +++ b/GillianCore/utils/allocators.ml @@ -30,7 +30,8 @@ module Basic () = struct end module Make_with_prefix - (A : S_with_stringify) (P : sig + (A : S_with_stringify) + (P : sig val prefix : string end) : S with type t = string = struct type t = string [@@deriving yojson, eq, ord] diff --git a/GillianCore/utils/allocators_intf.ml b/GillianCore/utils/allocators_intf.ml index 1a657ee35..2dd166b66 100644 --- a/GillianCore/utils/allocators_intf.ml +++ b/GillianCore/utils/allocators_intf.ml @@ -46,7 +46,8 @@ module type Intf = sig Assumes that [A]'s resetter has already been registered *) module Make_with_prefix - (A : S_with_stringify) (P : sig + (A : S_with_stringify) + (P : sig val prefix : string end) : S with type t = string end diff --git a/GillianCore/utils/config.ml b/GillianCore/utils/config.ml index 0c0e1c71d..9deed4c42 100644 --- a/GillianCore/utils/config.ml +++ b/GillianCore/utils/config.ml @@ -76,12 +76,10 @@ let bulk_print_all_failures = ref true let set_runtime_paths, get_runtime_paths = let runtime_paths : string list ref = ref [] in - let set ?env_var ls = + let set ?default_folders ls = let new_runtime_paths = - match (ls, env_var) with - | [], Some v -> - Option.fold ~none:[] ~some:(String.split_on_char ':') - (Sys.getenv_opt v) + match (ls, default_folders) with + | [], Some fs -> fs | l, _ -> l in runtime_paths := new_runtime_paths diff --git a/Kanillian.code-workspace b/Kanillian.code-workspace deleted file mode 100644 index 3bd88dac3..000000000 --- a/Kanillian.code-workspace +++ /dev/null @@ -1,31 +0,0 @@ -{ - "folders": [ - { - "path": "." - }, - { - "path": "../kani" - } - ], - "settings": { - "files.associations": { - "stdlib.h": "c", - "stdio.h": "c", - "slist.h": "c", - "algorithm": "c", - "__bit_reference": "cpp", - "__string": "cpp", - "cstring": "cpp", - "tuple": "c", - "string.h": "c", - "random": "c", - "ranges": "c", - "base.h": "c" - }, - "ocaml.sandbox": { - "kind": "esy", - "root": "${workspaceFolder:Kanillian}" - }, - "typescript.tsc.autoDetect": "off" - } -} \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 000000000..acf4f4151 --- /dev/null +++ b/Makefile @@ -0,0 +1,45 @@ + +OCAML_VARIANT=ocaml-variants.5.2.0+options +DEV_PACKAGES=ocaml-lsp-server,feather,fileutils +BUILD_PACKAGES=ocamlformat.0.26.2,odoc + +build: + dune build @all + +init-dev: + opam switch create . --packages=${OCAML_VARIANT},${BUILD_PACKAGES},${DEV_PACKAGES} -y --deps-only + opam exec -- ./githooks/install.ml + +init-ci: + opam install . -y --deps-only + opam install $(shell echo ${BUILD_PACKAGES} | tr ',' ' ') -y + +uninstall: + opam remove gillian gillian-c gillian-js wisl kanillian -y + + +docs: + @echo "===== BUILDING ODOC =====" + opam exec -- dune build @doc + mkdir -p _docs + rsync -auv --delete _build/default/_doc/_html/. _docs/odoc/ + @echo "===== BUILDING SPHINX =====" + sphinx-build sphinx _docs/sphinx + +watch: + opam exec -- dune build --watch + +c-init-env: + ./Gillian-C/scripts/setup_environment.sh + +wisl-init-env: + ./wisl/scripts/setup_environment.sh + +js-init-env: + ./Gillian-JS/scripts/setup_environment.sh + + + + + +.PHONY: init-dev watch docs build c-init-env wisl-init-env js-init-env docs \ No newline at end of file diff --git a/debugger-vscode-extension/package.json b/debugger-vscode-extension/package.json index 347887d7c..20f32bd2e 100644 --- a/debugger-vscode-extension/package.json +++ b/debugger-vscode-extension/package.json @@ -135,7 +135,7 @@ "default": "source", "enumDescriptions": [ "Run installed Gillian binaries", - "Run Gillian from source, using esy" + "Run Gillian from source, using the current opam switch." ], "description": "Specifies how to run Gillian." }, @@ -331,4 +331,4 @@ } ] } -} +} \ No newline at end of file diff --git a/debugger-vscode-extension/src/extension.ts b/debugger-vscode-extension/src/extension.ts index 7d494f8ee..eefc4ae89 100644 --- a/debugger-vscode-extension/src/extension.ts +++ b/debugger-vscode-extension/src/extension.ts @@ -28,8 +28,7 @@ function expandPath(s: string): string { } class DebugAdapterExecutableFactory - implements vscode.DebugAdapterDescriptorFactory -{ + implements vscode.DebugAdapterDescriptorFactory { // The following use of a DebugAdapter factory shows how to control what debug adapter executable is used. // Since the code implements the default behavior, it is absolutely not neccessary and we show it here only for educational purpose. @@ -101,8 +100,8 @@ class DebugAdapterExecutableFactory throw 'Please specify the location of Gillian source code'; sourceDirectory = expandPath(sourceDirectory); cwd = sourceDirectory; - cmd = 'esy'; - args = ['x', langCmd].concat(args); + cmd = 'opam'; + args = ['exec', '--', 'dune', 'exec', '--', langCmd].concat(args); } console.log('Starting debugger...', { cmd, args, cwd }); diff --git a/dune b/dune index d685a876b..e70c57bfe 100644 --- a/dune +++ b/dune @@ -1,7 +1,6 @@ (dirs wisl GillianCore - Gillian-Rely-Runner Gillian-JS Gillian-C kanillian @@ -14,4 +13,4 @@ (:standard -O3))) (_ (flags - (:standard -w -70)))) + (:standard -w -67 -w -69 -w -70)))) diff --git a/dune-project b/dune-project index f68cf4b02..7afd4720b 100644 --- a/dune-project +++ b/dune-project @@ -1,3 +1,105 @@ -(lang dune 2.8) +(lang dune 3.16) + +(name gillian) + (using menhir 2.0) + (using cinaps 1.0) + +(using dune_site 0.1) + +(generate_opam_files) + +(license "BSD-3-Clause") + +(authors "The Gillian Team") + +(maintainers "The Gillian Team") + +(homepage "https://github.com/GillianPlatform/Gillian") + +(bug_reports "https://github.com/GillianPlatform/Gillian/issues") + +(source + (github GillianPlatform/Gillian)) + +(package + (name gillian) + (synopsis + "A parametric compositional symbolic execution for Correctness and Incorrectness") + (depends + (ocaml + (>= 5.1.0)) + (alcotest + (= 1.0.1)) + (cmdliner + (>= 1.1.1)) + (dap + (= 1.0.6)) + (fmt + (>= 0.8.8)) + (memtrace + (= 0.2.3)) + (menhir + (= "20231231")) + ppx_deriving_yojson + (ppxlib + (>= 0.18.0)) + (sqlite3 + (= 5.0.2)) + (visitors + (>= 2.3)) + (yojson + (>= 1.7.0)) + (zarith + (>= 1.12)) + (z3 + (= 4.13.0)) + (odoc :with-doc))) + +(package + (name gillian-js) + (sites + (share runtime)) + (depends + dune-site + flow_parser + fpath + (gillian + (= :version))) + (synopsis "Gillian instantiation for JavaScript")) + +(package + (name gillian-c) + (sites + (share runtime) + (share c_includes)) + (synopsis "Gillian instantiation for C") + (depends + (gillian + (= :version)) + compcert + dune-site + printbox-text)) + +(package + (name kanillian) + (sites + (share runtime)) + (synopsis "Gillian instantiation for C based on CBMC as front-end") + (depends + (gillian + (= :version)) + dune-site + printbox-text)) + +(package + (name wisl) + (sites + (share runtime)) + (depends + dune-site + (gillian + (= :version))) + (synopsis + "Gillian instantiation for Wisl, a small toy language for teaching and experimentation")) diff --git a/esy.json b/esy.json deleted file mode 100644 index 8b86b9834..000000000 --- a/esy.json +++ /dev/null @@ -1,116 +0,0 @@ -{ - "name": "gillian-platform", - "version": "0.0.0", - "private": true, - "description": "Gillian Core and maintained instantiations", - "author": { - "name": "Verified Trustworthy Software Specification Group at Imperial College", - "url": "https://vtss.doc.ic.ac.uk" - }, - "homepage": "GillianDev.github.io", - "license": "BSD-3-Clause", - "esy": { - "build": "dune build @install --promote-install-files", - "install": [ - "esy-installer gillian.install", - "esy-installer gillian-js.install", - "esy-installer gillian-c.install", - "esy-installer wisl.install", - "esy-installer kanillian.install" - ], - "release": { - "bin": [ - "kanillian", - "gillian-js", - "gillian-c", - "wisl" - ], - "includePackages": [ - "root", - "@opam/z3", - "compcert" - ] - }, - "buildsInSource": "_build", - "exportedEnv": { - "GILLIAN_JS_RUNTIME_PATH": { - "scope": "global", - "val": "#{self.share}/gillian-js" - }, - "WISL_RUNTIME_PATH": { - "val": "#{self.share}/wisl", - "scope": "global" - }, - "GILLIAN_C_RUNTIME_PATH": { - "scope": "global", - "val": "#{self.share}/gillian-c" - }, - "KANILLIAN_RUNTIME_PATH": { - "scope": "global", - "val": "#{self.share}/kanillian" - }, - "CPATH": { - "scope": "global", - "val": "#{self.share / 'include' : $CPATH}" - } - } - }, - "scripts": { - "format-check": "dune build @fmt", - "format": "dune build @fmt --auto-promote", - "js:init:env": "Gillian-JS/scripts/setup_environment.sh", - "c:init:env": "Gillian-C/scripts/setup_environment.sh", - "wisl:init:env": "wisl/scripts/setup_environment.sh", - "init:env": "sh -c \"esy js:init:env && esy c:init:env && esy wisl:init:env\"", - "test": "dune test", - "install-githooks": "./githooks/install.ml", - "clean-githooks": "./githooks/clean.ml", - "clean": "dune clean", - "watch": "dune build @install --promote-install-files --watch", - "odoc": "sh -c \"esy x dune build @doc && ./scripts/sync_odoc.sh > /dev/null\"", - "odoc:watch:build": "dune build @doc --watch", - "odoc:watch:sync": "sh -c \"./scripts/watch_odoc.sh > /dev/null\"", - "odoc:watch": "concurrently -n odoc,sync -c cyan,blue \"esy odoc:watch:build\" \"esy odoc:watch:sync\"", - "sphinx": "sphinx-build sphinx _docs/sphinx/", - "sphinx:watch": "sphinx-autobuild sphinx _docs/sphinx/", - "docs": "./scripts/build_docs.sh", - "docs:watch": "concurrently -n odoc,odoc-sync,sphinx -c cyan,blue,yellow \"esy odoc:watch:build\" \"esy odoc:watch:sync\" \"esy sphinx:watch\"" - }, - "dependencies": { - "@opam/fpath": "*", - "@opam/alcotest": "1.0.1", - "@opam/cmdliner": "^1.1.1", - "@opam/dap": "1.0.6", - "@opam/dune": "^3.0", - "@opam/fmt": "^0.8.8", - "@opam/flow_parser": "GillianPlatform/flow:flow_parser.opam#dfa43df0b8776f22e5fb2629a22d69a6d302e241", - "@opam/memtrace": "0.2.3", - "@opam/menhir": "20231231", - "@opam/ppx_deriving_yojson": "*", - "@opam/ppxlib": ">=0.18.0", - "@opam/printbox-text": "^0.6.1", - "@opam/sqlite3": "5.0.2", - "@opam/visitors": ">=2.3", - "@opam/yojson": "^1.7.0", - "@opam/zarith": ">=1.12", - "@opam/z3": "GillianPlatform/esy-z3#e8b2ce266d5d8bd67c54bd226c6301f7b180bb09", - "compcert": "GillianPlatform/CompCert#c20a63da768c2c59e114e074ae63cb60610d714b", - "ocaml": "5.1.x" - }, - "devDependencies": { - "ocaml": "5.1.x", - "@opam/cmitomli": "*", - "@opam/fileutils": "*", - "@opam/utop": "*", - "@opam/ocaml-lsp-server": "^1.17.0", - "@opam/odoc": "^2.2.0", - "@opam/ocamlformat": "0.24.1", - "@opam/ocamlfind": "*", - "@opam/feather": "*", - "concurrently": "^7.6.0" - }, - "resolutions": { - "@opam/conf-sqlite3": "ManasJayanth/esy-sqlite:esy.json#28dfc73a8eda790213a8359ad708231069ed7079", - "esy-gmp": "GillianPlatform/esy-gmp:package.json#d68dce1a9aacc0534cca93d84d2b7f9c8105ee87" - } -} \ No newline at end of file diff --git a/esy.lock/.gitattributes b/esy.lock/.gitattributes deleted file mode 100644 index e0b4e26c5..000000000 --- a/esy.lock/.gitattributes +++ /dev/null @@ -1,3 +0,0 @@ - -# Set eol to LF so files aren't converted to CRLF-eol on Windows. -* text eol=lf linguist-generated diff --git a/esy.lock/.gitignore b/esy.lock/.gitignore deleted file mode 100644 index a221be227..000000000 --- a/esy.lock/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ - -# Reset any possible .gitignore, we want all esy.lock to be un-ignored. -!* diff --git a/esy.lock/index.json b/esy.lock/index.json deleted file mode 100644 index ef11d15bb..000000000 --- a/esy.lock/index.json +++ /dev/null @@ -1,3599 +0,0 @@ -{ - "checksum": "9f78b4fc2a302642f51e3b7355ea9f8f", - "root": "gillian-platform@link-dev:./esy.json", - "node": { - "yargs-parser@21.1.1@d41d8cd9": { - "id": "yargs-parser@21.1.1@d41d8cd9", - "name": "yargs-parser", - "version": "21.1.1", - "source": { - "type": "install", - "source": [ - "archive:https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz#sha1:9096bceebf990d21bb31fa9516e0ede294a77d35" - ] - }, - "overrides": [], - "dependencies": [], - "devDependencies": [] - }, - "yargs@17.7.2@d41d8cd9": { - "id": "yargs@17.7.2@d41d8cd9", - "name": "yargs", - "version": "17.7.2", - "source": { - "type": "install", - "source": [ - "archive:https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz#sha1:991df39aca675a192b816e1e0363f9d75d2aa269" - ] - }, - "overrides": [], - "dependencies": [ - "yargs-parser@21.1.1@d41d8cd9", "y18n@5.0.8@d41d8cd9", - "string-width@4.2.3@d41d8cd9", "require-directory@2.1.1@d41d8cd9", - "get-caller-file@2.0.5@d41d8cd9", "escalade@3.1.1@d41d8cd9", - "cliui@8.0.1@d41d8cd9" - ], - "devDependencies": [] - }, - "y18n@5.0.8@d41d8cd9": { - "id": "y18n@5.0.8@d41d8cd9", - "name": "y18n", - "version": "5.0.8", - "source": { - "type": "install", - "source": [ - "archive:https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz#sha1:7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - ] - }, - "overrides": [], - "dependencies": [], - "devDependencies": [] - }, - "wrap-ansi@7.0.0@d41d8cd9": { - "id": "wrap-ansi@7.0.0@d41d8cd9", - "name": "wrap-ansi", - "version": "7.0.0", - "source": { - "type": "install", - "source": [ - "archive:https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz#sha1:67e145cff510a6a6984bdf1152911d69d2eb9e43" - ] - }, - "overrides": [], - "dependencies": [ - "strip-ansi@6.0.1@d41d8cd9", "string-width@4.2.3@d41d8cd9", - "ansi-styles@4.3.0@d41d8cd9" - ], - "devDependencies": [] - }, - "tslib@2.6.2@d41d8cd9": { - "id": "tslib@2.6.2@d41d8cd9", - "name": "tslib", - "version": "2.6.2", - "source": { - "type": "install", - "source": [ - "archive:https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz#sha1:703ac29425e7b37cd6fd456e92404d46d1f3e4ae" - ] - }, - "overrides": [], - "dependencies": [], - "devDependencies": [] - }, - "tree-kill@1.2.2@d41d8cd9": { - "id": "tree-kill@1.2.2@d41d8cd9", - "name": "tree-kill", - "version": "1.2.2", - "source": { - "type": "install", - "source": [ - "archive:https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz#sha1:4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" - ] - }, - "overrides": [], - "dependencies": [], - "devDependencies": [] - }, - "supports-color@8.1.1@d41d8cd9": { - "id": "supports-color@8.1.1@d41d8cd9", - "name": "supports-color", - "version": "8.1.1", - "source": { - "type": "install", - "source": [ - "archive:https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz#sha1:cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - ] - }, - "overrides": [], - "dependencies": [ "has-flag@4.0.0@d41d8cd9" ], - "devDependencies": [] - }, - "supports-color@7.2.0@d41d8cd9": { - "id": "supports-color@7.2.0@d41d8cd9", - "name": "supports-color", - "version": "7.2.0", - "source": { - "type": "install", - "source": [ - "archive:https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz#sha1:1b7dcdcb32b8138801b3e478ba6a51caa89648da" - ] - }, - "overrides": [], - "dependencies": [ "has-flag@4.0.0@d41d8cd9" ], - "devDependencies": [] - }, - "strip-ansi@6.0.1@d41d8cd9": { - "id": "strip-ansi@6.0.1@d41d8cd9", - "name": "strip-ansi", - "version": "6.0.1", - "source": { - "type": "install", - "source": [ - "archive:https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz#sha1:9e26c63d30f53443e9489495b2105d37b67a85d9" - ] - }, - "overrides": [], - "dependencies": [ "ansi-regex@5.0.1@d41d8cd9" ], - "devDependencies": [] - }, - "string-width@4.2.3@d41d8cd9": { - "id": "string-width@4.2.3@d41d8cd9", - "name": "string-width", - "version": "4.2.3", - "source": { - "type": "install", - "source": [ - "archive:https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz#sha1:269c7117d27b05ad2e536830a8ec895ef9c6d010" - ] - }, - "overrides": [], - "dependencies": [ - "strip-ansi@6.0.1@d41d8cd9", - "is-fullwidth-code-point@3.0.0@d41d8cd9", - "emoji-regex@8.0.0@d41d8cd9" - ], - "devDependencies": [] - }, - "spawn-command@0.0.2@d41d8cd9": { - "id": "spawn-command@0.0.2@d41d8cd9", - "name": "spawn-command", - "version": "0.0.2", - "source": { - "type": "install", - "source": [ - "archive:https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz#sha1:9544e1a43ca045f8531aac1a48cb29bdae62338e" - ] - }, - "overrides": [], - "dependencies": [], - "devDependencies": [] - }, - "shell-quote@1.8.1@d41d8cd9": { - "id": "shell-quote@1.8.1@d41d8cd9", - "name": "shell-quote", - "version": "1.8.1", - "source": { - "type": "install", - "source": [ - "archive:https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz#sha1:6dbf4db75515ad5bac63b4f1894c3a154c766680" - ] - }, - "overrides": [], - "dependencies": [], - "devDependencies": [] - }, - "rxjs@7.8.1@d41d8cd9": { - "id": "rxjs@7.8.1@d41d8cd9", - "name": "rxjs", - "version": "7.8.1", - "source": { - "type": "install", - "source": [ - "archive:https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz#sha1:6f6f3d99ea8044291efd92e7c7fcf562c4057543" - ] - }, - "overrides": [], - "dependencies": [ "tslib@2.6.2@d41d8cd9" ], - "devDependencies": [] - }, - "require-directory@2.1.1@d41d8cd9": { - "id": "require-directory@2.1.1@d41d8cd9", - "name": "require-directory", - "version": "2.1.1", - "source": { - "type": "install", - "source": [ - "archive:https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz#sha1:8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - ] - }, - "overrides": [], - "dependencies": [], - "devDependencies": [] - }, - "regenerator-runtime@0.14.1@d41d8cd9": { - "id": "regenerator-runtime@0.14.1@d41d8cd9", - "name": "regenerator-runtime", - "version": "0.14.1", - "source": { - "type": "install", - "source": [ - "archive:https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#sha1:356ade10263f685dda125100cd862c1db895327f" - ] - }, - "overrides": [], - "dependencies": [], - "devDependencies": [] - }, - "ocaml@5.1.4@d41d8cd9": { - "id": "ocaml@5.1.4@d41d8cd9", - "name": "ocaml", - "version": "5.1.4", - "source": { - "type": "install", - "source": [ - "archive:https://registry.npmjs.org/ocaml/-/ocaml-5.1.4.tgz#sha1:51c3dd9ef69db5ad52c6431ba6336095e37215ab" - ] - }, - "overrides": [], - "dependencies": [], - "devDependencies": [] - }, - "lodash@4.17.21@d41d8cd9": { - "id": "lodash@4.17.21@d41d8cd9", - "name": "lodash", - "version": "4.17.21", - "source": { - "type": "install", - "source": [ - "archive:https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz#sha1:679591c564c3bffaae8454cf0b3df370c3d6911c" - ] - }, - "overrides": [], - "dependencies": [], - "devDependencies": [] - }, - "is-fullwidth-code-point@3.0.0@d41d8cd9": { - "id": "is-fullwidth-code-point@3.0.0@d41d8cd9", - "name": "is-fullwidth-code-point", - "version": "3.0.0", - "source": { - "type": "install", - "source": [ - "archive:https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#sha1:f116f8064fe90b3f7844a38997c0b75051269f1d" - ] - }, - "overrides": [], - "dependencies": [], - "devDependencies": [] - }, - "has-flag@4.0.0@d41d8cd9": { - "id": "has-flag@4.0.0@d41d8cd9", - "name": "has-flag", - "version": "4.0.0", - "source": { - "type": "install", - "source": [ - "archive:https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz#sha1:944771fd9c81c81265c4d6941860da06bb59479b" - ] - }, - "overrides": [], - "dependencies": [], - "devDependencies": [] - }, - "gillian-platform@link-dev:./esy.json": { - "id": "gillian-platform@link-dev:./esy.json", - "name": "gillian-platform", - "version": "link-dev:./esy.json", - "source": { "type": "link-dev", "path": ".", "manifest": "esy.json" }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", - "compcert@github:GillianPlatform/CompCert#c20a63da768c2c59e114e074ae63cb60610d714b@d41d8cd9", - "@opam/zarith@opam:1.13@e4e498f3", - "@opam/z3@archive:https://github.com/Z3Prover/z3/archive/refs/tags/z3-4.12.3.tar.gz#md5:a18ea8cc1ba59d87a6ea966227732038@44ff3c39", - "@opam/yojson@opam:2.1.2@9fd14300", - "@opam/visitors@opam:20210608@7b4a1100", - "@opam/sqlite3@opam:5.0.2@f8405319", - "@opam/printbox-text@opam:0.7@f9122d5d", - "@opam/ppxlib@opam:0.31.0@1212d9eb", - "@opam/ppx_deriving_yojson@opam:3.7.0@167442d6", - "@opam/menhir@opam:20231231@f35eae6a", - "@opam/memtrace@opam:0.2.3@d93db143", - "@opam/fpath@opam:0.7.3@674d8125", "@opam/fmt@opam:0.9.0@87213963", - "@opam/flow_parser@github:GillianPlatform/flow:flow_parser.opam#dfa43df0b8776f22e5fb2629a22d69a6d302e241@d41d8cd9", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/dap@opam:1.0.6@5996f56d", - "@opam/cmdliner@opam:1.2.0@b0c6143c", - "@opam/alcotest@opam:1.0.1@aba26ba2" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "concurrently@7.6.0@d41d8cd9", - "@opam/utop@opam:2.13.1@dc6689f5", "@opam/odoc@opam:2.2.2@a43a5ec4", - "@opam/ocamlformat@opam:0.24.1@d7f4254d", - "@opam/ocamlfind@opam:1.9.6@da5169c7", - "@opam/ocaml-lsp-server@opam:1.17.0@12f65153", - "@opam/fileutils@opam:0.6.4@2b69f125", - "@opam/feather@opam:0.3.0@4398acf5", - "@opam/cmitomli@opam:1.0.0@faef7c76" - ] - }, - "get-caller-file@2.0.5@d41d8cd9": { - "id": "get-caller-file@2.0.5@d41d8cd9", - "name": "get-caller-file", - "version": "2.0.5", - "source": { - "type": "install", - "source": [ - "archive:https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz#sha1:4f94412a82db32f36e3b0b9741f8a97feb031f7e" - ] - }, - "overrides": [], - "dependencies": [], - "devDependencies": [] - }, - "esy-gmp@archive:https://ftp.gnu.org/gnu/gmp/gmp-6.2.1.tar.xz#sha1:0578d48607ec0e272177d175fd1807c30b00fdf2@b7788c94": { - "id": "esy-gmp@archive:https://ftp.gnu.org/gnu/gmp/gmp-6.2.1.tar.xz#sha1:0578d48607ec0e272177d175fd1807c30b00fdf2@b7788c94", - "name": "esy-gmp", - "version": "archive:https://ftp.gnu.org/gnu/gmp/gmp-6.2.1.tar.xz#sha1:0578d48607ec0e272177d175fd1807c30b00fdf2", - "source": { - "type": "install", - "source": [ - "archive:https://ftp.gnu.org/gnu/gmp/gmp-6.2.1.tar.xz#sha1:0578d48607ec0e272177d175fd1807c30b00fdf2" - ] - }, - "overrides": [ - "esy.lock/overrides/b7788c94efa7edeebd57e710cce6713d/package.json" - ], - "dependencies": [], - "devDependencies": [] - }, - "escalade@3.1.1@d41d8cd9": { - "id": "escalade@3.1.1@d41d8cd9", - "name": "escalade", - "version": "3.1.1", - "source": { - "type": "install", - "source": [ - "archive:https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz#sha1:d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - ] - }, - "overrides": [], - "dependencies": [], - "devDependencies": [] - }, - "emoji-regex@8.0.0@d41d8cd9": { - "id": "emoji-regex@8.0.0@d41d8cd9", - "name": "emoji-regex", - "version": "8.0.0", - "source": { - "type": "install", - "source": [ - "archive:https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz#sha1:e818fd69ce5ccfcb404594f842963bf53164cc37" - ] - }, - "overrides": [], - "dependencies": [], - "devDependencies": [] - }, - "date-fns@2.30.0@d41d8cd9": { - "id": "date-fns@2.30.0@d41d8cd9", - "name": "date-fns", - "version": "2.30.0", - "source": { - "type": "install", - "source": [ - "archive:https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz#sha1:f367e644839ff57894ec6ac480de40cae4b0f4d0" - ] - }, - "overrides": [], - "dependencies": [ "@babel/runtime@7.23.9@d41d8cd9" ], - "devDependencies": [] - }, - "concurrently@7.6.0@d41d8cd9": { - "id": "concurrently@7.6.0@d41d8cd9", - "name": "concurrently", - "version": "7.6.0", - "source": { - "type": "install", - "source": [ - "archive:https://registry.npmjs.org/concurrently/-/concurrently-7.6.0.tgz#sha1:531a6f5f30cf616f355a4afb8f8fcb2bba65a49a" - ] - }, - "overrides": [], - "dependencies": [ - "yargs@17.7.2@d41d8cd9", "tree-kill@1.2.2@d41d8cd9", - "supports-color@8.1.1@d41d8cd9", "spawn-command@0.0.2@d41d8cd9", - "shell-quote@1.8.1@d41d8cd9", "rxjs@7.8.1@d41d8cd9", - "lodash@4.17.21@d41d8cd9", "date-fns@2.30.0@d41d8cd9", - "chalk@4.1.2@d41d8cd9" - ], - "devDependencies": [] - }, - "compcert@github:GillianPlatform/CompCert#c20a63da768c2c59e114e074ae63cb60610d714b@d41d8cd9": { - "id": "compcert@github:GillianPlatform/CompCert#c20a63da768c2c59e114e074ae63cb60610d714b@d41d8cd9", - "name": "compcert", - "version": "github:GillianPlatform/CompCert#c20a63da768c2c59e114e074ae63cb60610d714b", - "source": { - "type": "install", - "source": [ - "github:GillianPlatform/CompCert#c20a63da768c2c59e114e074ae63cb60610d714b" - ] - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/menhir@opam:20231231@f35eae6a", - "@opam/dune@opam:3.8.3@ff88b4c5" - ], - "devDependencies": [ "ocaml@5.1.4@d41d8cd9" ] - }, - "color-name@1.1.4@d41d8cd9": { - "id": "color-name@1.1.4@d41d8cd9", - "name": "color-name", - "version": "1.1.4", - "source": { - "type": "install", - "source": [ - "archive:https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz#sha1:c2a09a87acbde69543de6f63fa3995c826c536a2" - ] - }, - "overrides": [], - "dependencies": [], - "devDependencies": [] - }, - "color-convert@2.0.1@d41d8cd9": { - "id": "color-convert@2.0.1@d41d8cd9", - "name": "color-convert", - "version": "2.0.1", - "source": { - "type": "install", - "source": [ - "archive:https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz#sha1:72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - ] - }, - "overrides": [], - "dependencies": [ "color-name@1.1.4@d41d8cd9" ], - "devDependencies": [] - }, - "cliui@8.0.1@d41d8cd9": { - "id": "cliui@8.0.1@d41d8cd9", - "name": "cliui", - "version": "8.0.1", - "source": { - "type": "install", - "source": [ - "archive:https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz#sha1:0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" - ] - }, - "overrides": [], - "dependencies": [ - "wrap-ansi@7.0.0@d41d8cd9", "strip-ansi@6.0.1@d41d8cd9", - "string-width@4.2.3@d41d8cd9" - ], - "devDependencies": [] - }, - "chalk@4.1.2@d41d8cd9": { - "id": "chalk@4.1.2@d41d8cd9", - "name": "chalk", - "version": "4.1.2", - "source": { - "type": "install", - "source": [ - "archive:https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz#sha1:aac4e2b7734a740867aeb16bf02aad556a1e7a01" - ] - }, - "overrides": [], - "dependencies": [ - "supports-color@7.2.0@d41d8cd9", "ansi-styles@4.3.0@d41d8cd9" - ], - "devDependencies": [] - }, - "ansi-styles@4.3.0@d41d8cd9": { - "id": "ansi-styles@4.3.0@d41d8cd9", - "name": "ansi-styles", - "version": "4.3.0", - "source": { - "type": "install", - "source": [ - "archive:https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz#sha1:edd803628ae71c04c85ae7a0906edad34b648937" - ] - }, - "overrides": [], - "dependencies": [ "color-convert@2.0.1@d41d8cd9" ], - "devDependencies": [] - }, - "ansi-regex@5.0.1@d41d8cd9": { - "id": "ansi-regex@5.0.1@d41d8cd9", - "name": "ansi-regex", - "version": "5.0.1", - "source": { - "type": "install", - "source": [ - "archive:https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz#sha1:082cb2c89c9fe8659a311a53bd6a4dc5301db304" - ] - }, - "overrides": [], - "dependencies": [], - "devDependencies": [] - }, - "@opam/zed@opam:3.2.3@57ab913c": { - "id": "@opam/zed@opam:3.2.3@57ab913c", - "name": "@opam/zed", - "version": "opam:3.2.3", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha512/63/637f75129550f6459417549d44bed16bdc62721d2e9e0c6bb5bfab30c5bc6478de15faece8c091b56f238375cb79a7bc176375400e543120bb31d7ea626b7c5b#sha512:637f75129550f6459417549d44bed16bdc62721d2e9e0c6bb5bfab30c5bc6478de15faece8c091b56f238375cb79a7bc176375400e543120bb31d7ea626b7c5b", - "archive:https://github.com/ocaml-community/zed/archive/refs/tags/3.2.3.tar.gz#sha512:637f75129550f6459417549d44bed16bdc62721d2e9e0c6bb5bfab30c5bc6478de15faece8c091b56f238375cb79a7bc176375400e543120bb31d7ea626b7c5b" - ], - "opam": { - "name": "zed", - "version": "3.2.3", - "path": "esy.lock/opam/zed.3.2.3" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/uutf@opam:1.0.3@47c95a18", - "@opam/uuseg@opam:15.1.0@af4a84a3", - "@opam/uucp@opam:15.1.0@ef3e0a4e", "@opam/uchar@opam:0.0.2@aedf91f9", - "@opam/result@opam:1.5@1c6a6533", "@opam/react@opam:1.2.2@e0f4480e", - "@opam/dune@opam:3.8.3@ff88b4c5", "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/uutf@opam:1.0.3@47c95a18", - "@opam/uuseg@opam:15.1.0@af4a84a3", - "@opam/uucp@opam:15.1.0@ef3e0a4e", "@opam/uchar@opam:0.0.2@aedf91f9", - "@opam/result@opam:1.5@1c6a6533", "@opam/react@opam:1.2.2@e0f4480e", - "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/zarith@opam:1.13@e4e498f3": { - "id": "@opam/zarith@opam:1.13@e4e498f3", - "name": "@opam/zarith", - "version": "opam:1.13", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/b3/b3529c5de89ab8c026943f73f6195ad9#md5:b3529c5de89ab8c026943f73f6195ad9", - "archive:https://github.com/ocaml/Zarith/archive/release-1.13.tar.gz#md5:b3529c5de89ab8c026943f73f6195ad9" - ], - "opam": { - "name": "zarith", - "version": "1.13", - "path": "esy.lock/opam/zarith.1.13" - } - }, - "overrides": [ - { - "opamoverride": "esy.lock/overrides/opam__s__zarith_opam__c__1.13_opam_override" - } - ], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/ocamlfind@opam:1.9.6@da5169c7", - "@opam/conf-gmp@opam:4@b93fdf33", "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/ocamlfind@opam:1.9.6@da5169c7", - "@opam/conf-gmp@opam:4@b93fdf33" - ] - }, - "@opam/z3@archive:https://github.com/Z3Prover/z3/archive/refs/tags/z3-4.12.3.tar.gz#md5:a18ea8cc1ba59d87a6ea966227732038@44ff3c39": { - "id": "@opam/z3@archive:https://github.com/Z3Prover/z3/archive/refs/tags/z3-4.12.3.tar.gz#md5:a18ea8cc1ba59d87a6ea966227732038@44ff3c39", - "name": "@opam/z3", - "version": "archive:https://github.com/Z3Prover/z3/archive/refs/tags/z3-4.12.3.tar.gz#md5:a18ea8cc1ba59d87a6ea966227732038", - "source": { - "type": "install", - "source": [ - "archive:https://github.com/Z3Prover/z3/archive/refs/tags/z3-4.12.3.tar.gz#md5:a18ea8cc1ba59d87a6ea966227732038" - ] - }, - "overrides": [ "esy.lock/overrides/44ff3c39826df68739c4470881a91b5f" ], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/zarith@opam:1.13@e4e498f3", - "@opam/ocamlfind@opam:1.9.6@da5169c7", - "@opam/conf-python-3-7@opam:1.0.0@cb56517c", - "@opam/conf-gmp@opam:4@b93fdf33" - ], - "devDependencies": [] - }, - "@opam/yojson@opam:2.1.2@9fd14300": { - "id": "@opam/yojson@opam:2.1.2@9fd14300", - "name": "@opam/yojson", - "version": "opam:2.1.2", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/59/59f2f1abbfc8a7ccbdbf608894e5c75e8a76006e34899254446f83e200dfb4f9#sha256:59f2f1abbfc8a7ccbdbf608894e5c75e8a76006e34899254446f83e200dfb4f9", - "archive:https://github.com/ocaml-community/yojson/releases/download/2.1.2/yojson-2.1.2.tbz#sha256:59f2f1abbfc8a7ccbdbf608894e5c75e8a76006e34899254446f83e200dfb4f9" - ], - "opam": { - "name": "yojson", - "version": "2.1.2", - "path": "esy.lock/opam/yojson.2.1.2" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/seq@opam:base@d8d7de1d", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/cppo@opam:1.6.9@db929a12", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/seq@opam:base@d8d7de1d", - "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/xdg@opam:3.13.0@e939b607": { - "id": "@opam/xdg@opam:3.13.0@e939b607", - "name": "@opam/xdg", - "version": "opam:3.13.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/f1/f1801257e01c846bd71017ec5d4b2b75fd31b20a0d5979b933b37cc8453678de#sha256:f1801257e01c846bd71017ec5d4b2b75fd31b20a0d5979b933b37cc8453678de", - "archive:https://github.com/ocaml/dune/releases/download/3.13.0/dune-3.13.0.tbz#sha256:f1801257e01c846bd71017ec5d4b2b75fd31b20a0d5979b933b37cc8453678de" - ], - "opam": { - "name": "xdg", - "version": "3.13.0", - "path": "esy.lock/opam/xdg.3.13.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/wtf8@opam:1.0.2@23c2982b": { - "id": "@opam/wtf8@opam:1.0.2@23c2982b", - "name": "@opam/wtf8", - "version": "opam:1.0.2", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/77/779ff72940405918fcb67b6be11909ef82965bbc2f9ff07f9b59f1d27a67cf27#sha256:779ff72940405918fcb67b6be11909ef82965bbc2f9ff07f9b59f1d27a67cf27", - "archive:https://github.com/flowtype/ocaml-wtf8/releases/download/v1.0.2/wtf8-v1.0.2.tbz#sha256:779ff72940405918fcb67b6be11909ef82965bbc2f9ff07f9b59f1d27a67cf27" - ], - "opam": { - "name": "wtf8", - "version": "1.0.2", - "path": "esy.lock/opam/wtf8.1.0.2" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/visitors@opam:20210608@7b4a1100": { - "id": "@opam/visitors@opam:20210608@7b4a1100", - "name": "@opam/visitors", - "version": "opam:20210608", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/c5/c56a86f81e0c1531e22c89cb8691d02c#md5:c56a86f81e0c1531e22c89cb8691d02c", - "archive:https://gitlab.inria.fr/fpottier/visitors/-/archive/20210608/archive.tar.gz#md5:c56a86f81e0c1531e22c89cb8691d02c" - ], - "opam": { - "name": "visitors", - "version": "20210608", - "path": "esy.lock/opam/visitors.20210608" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/result@opam:1.5@1c6a6533", - "@opam/ppxlib@opam:0.31.0@1212d9eb", - "@opam/ppx_deriving@opam:5.2.1@2315fdd0", - "@opam/dune@opam:3.8.3@ff88b4c5", "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/result@opam:1.5@1c6a6533", - "@opam/ppxlib@opam:0.31.0@1212d9eb", - "@opam/ppx_deriving@opam:5.2.1@2315fdd0", - "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/uutf@opam:1.0.3@47c95a18": { - "id": "@opam/uutf@opam:1.0.3@47c95a18", - "name": "@opam/uutf", - "version": "opam:1.0.3", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha512/50/50cc4486021da46fb08156e9daec0d57b4ca469b07309c508d5a9a41e9dbcf1f32dec2ed7be027326544453dcaf9c2534919395fd826dc7768efc6cc4bfcc9f8#sha512:50cc4486021da46fb08156e9daec0d57b4ca469b07309c508d5a9a41e9dbcf1f32dec2ed7be027326544453dcaf9c2534919395fd826dc7768efc6cc4bfcc9f8", - "archive:https://erratique.ch/software/uutf/releases/uutf-1.0.3.tbz#sha512:50cc4486021da46fb08156e9daec0d57b4ca469b07309c508d5a9a41e9dbcf1f32dec2ed7be027326544453dcaf9c2534919395fd826dc7768efc6cc4bfcc9f8" - ], - "opam": { - "name": "uutf", - "version": "1.0.3", - "path": "esy.lock/opam/uutf.1.0.3" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/topkg@opam:1.0.7@7ee47d76", - "@opam/ocamlfind@opam:1.9.6@da5169c7", - "@opam/ocamlbuild@opam:0.14.3@65c92d3f", - "@opam/cmdliner@opam:1.2.0@b0c6143c", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ "ocaml@5.1.4@d41d8cd9" ] - }, - "@opam/uuseg@opam:15.1.0@af4a84a3": { - "id": "@opam/uuseg@opam:15.1.0@af4a84a3", - "name": "@opam/uuseg", - "version": "opam:15.1.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha512/1e/1e9460dc5a856c985d40c61fd1560bdfdb8bbaf8d7430405814589b47d4a7f7869658d1e3198c7a9132412e9b4b85402ceb4bda5040da426b69e9aef4222a23a#sha512:1e9460dc5a856c985d40c61fd1560bdfdb8bbaf8d7430405814589b47d4a7f7869658d1e3198c7a9132412e9b4b85402ceb4bda5040da426b69e9aef4222a23a", - "archive:https://erratique.ch/software/uuseg/releases/uuseg-15.1.0.tbz#sha512:1e9460dc5a856c985d40c61fd1560bdfdb8bbaf8d7430405814589b47d4a7f7869658d1e3198c7a9132412e9b4b85402ceb4bda5040da426b69e9aef4222a23a" - ], - "opam": { - "name": "uuseg", - "version": "15.1.0", - "path": "esy.lock/opam/uuseg.15.1.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/uutf@opam:1.0.3@47c95a18", - "@opam/uucp@opam:15.1.0@ef3e0a4e", "@opam/topkg@opam:1.0.7@7ee47d76", - "@opam/ocamlfind@opam:1.9.6@da5169c7", - "@opam/ocamlbuild@opam:0.14.3@65c92d3f", - "@opam/cmdliner@opam:1.2.0@b0c6143c", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/uucp@opam:15.1.0@ef3e0a4e" - ] - }, - "@opam/uuidm@opam:0.9.8@f287a426": { - "id": "@opam/uuidm@opam:0.9.8@f287a426", - "name": "@opam/uuidm", - "version": "opam:0.9.8", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha512/d5/d5073ae49c402ab3ea6dc8f86bc5b8cc14129437e23e47da4d91431648fcb31c4dce6308f9c936c58df9a2c6afda61d77105a3022e369cca4e4c140320e803b5#sha512:d5073ae49c402ab3ea6dc8f86bc5b8cc14129437e23e47da4d91431648fcb31c4dce6308f9c936c58df9a2c6afda61d77105a3022e369cca4e4c140320e803b5", - "archive:https://erratique.ch/software/uuidm/releases/uuidm-0.9.8.tbz#sha512:d5073ae49c402ab3ea6dc8f86bc5b8cc14129437e23e47da4d91431648fcb31c4dce6308f9c936c58df9a2c6afda61d77105a3022e369cca4e4c140320e803b5" - ], - "opam": { - "name": "uuidm", - "version": "0.9.8", - "path": "esy.lock/opam/uuidm.0.9.8" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/topkg@opam:1.0.7@7ee47d76", - "@opam/ocamlfind@opam:1.9.6@da5169c7", - "@opam/ocamlbuild@opam:0.14.3@65c92d3f", - "@opam/cmdliner@opam:1.2.0@b0c6143c", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ "ocaml@5.1.4@d41d8cd9" ] - }, - "@opam/uucp@opam:15.1.0@ef3e0a4e": { - "id": "@opam/uucp@opam:15.1.0@ef3e0a4e", - "name": "@opam/uucp", - "version": "opam:15.1.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha512/99/998f94fadb72357b15a3042a3d11c31b3e16f281822673f2defdd515cd1394d55de1817628be8bd5c030175f9e62c53630d4139a1c0253800f9fb898b0f11364#sha512:998f94fadb72357b15a3042a3d11c31b3e16f281822673f2defdd515cd1394d55de1817628be8bd5c030175f9e62c53630d4139a1c0253800f9fb898b0f11364", - "archive:https://erratique.ch/software/uucp/releases/uucp-15.1.0.tbz#sha512:998f94fadb72357b15a3042a3d11c31b3e16f281822673f2defdd515cd1394d55de1817628be8bd5c030175f9e62c53630d4139a1c0253800f9fb898b0f11364" - ], - "opam": { - "name": "uucp", - "version": "15.1.0", - "path": "esy.lock/opam/uucp.15.1.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/topkg@opam:1.0.7@7ee47d76", - "@opam/ocamlfind@opam:1.9.6@da5169c7", - "@opam/ocamlbuild@opam:0.14.3@65c92d3f", - "@opam/cmdliner@opam:1.2.0@b0c6143c", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ "ocaml@5.1.4@d41d8cd9" ] - }, - "@opam/utop@opam:2.13.1@dc6689f5": { - "id": "@opam/utop@opam:2.13.1@dc6689f5", - "name": "@opam/utop", - "version": "opam:2.13.1", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/b0/b04ec2a394d1a6a28a79444c58f66eab77b7f74401f4714aa6e6f1c2125a6ffd#sha256:b04ec2a394d1a6a28a79444c58f66eab77b7f74401f4714aa6e6f1c2125a6ffd", - "archive:https://github.com/ocaml-community/utop/releases/download/2.13.1/utop-2.13.1.tbz#sha256:b04ec2a394d1a6a28a79444c58f66eab77b7f74401f4714aa6e6f1c2125a6ffd" - ], - "opam": { - "name": "utop", - "version": "2.13.1", - "path": "esy.lock/opam/utop.2.13.1" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/zed@opam:3.2.3@57ab913c", - "@opam/xdg@opam:3.13.0@e939b607", "@opam/react@opam:1.2.2@e0f4480e", - "@opam/ocamlfind@opam:1.9.6@da5169c7", - "@opam/lwt_react@opam:1.2.0@4253a145", - "@opam/lwt@opam:5.7.0@4a33823d", "@opam/logs@opam:0.7.0@46a3dffc", - "@opam/lambda-term@opam:3.3.2@0f91853c", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/cppo@opam:1.6.9@db929a12", - "@opam/base-unix@opam:base@87d0b2eb", - "@opam/base-threads@opam:base@36803084", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/zed@opam:3.2.3@57ab913c", - "@opam/xdg@opam:3.13.0@e939b607", "@opam/react@opam:1.2.2@e0f4480e", - "@opam/ocamlfind@opam:1.9.6@da5169c7", - "@opam/lwt_react@opam:1.2.0@4253a145", - "@opam/lwt@opam:5.7.0@4a33823d", "@opam/logs@opam:0.7.0@46a3dffc", - "@opam/lambda-term@opam:3.3.2@0f91853c", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/cppo@opam:1.6.9@db929a12", - "@opam/base-unix@opam:base@87d0b2eb", - "@opam/base-threads@opam:base@36803084" - ] - }, - "@opam/uchar@opam:0.0.2@aedf91f9": { - "id": "@opam/uchar@opam:0.0.2@aedf91f9", - "name": "@opam/uchar", - "version": "opam:0.0.2", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/c9/c9ba2c738d264c420c642f7bb1cf4a36#md5:c9ba2c738d264c420c642f7bb1cf4a36", - "archive:https://github.com/ocaml/uchar/releases/download/v0.0.2/uchar-0.0.2.tbz#md5:c9ba2c738d264c420c642f7bb1cf4a36" - ], - "opam": { - "name": "uchar", - "version": "0.0.2", - "path": "esy.lock/opam/uchar.0.0.2" - } - }, - "overrides": [ - { - "opamoverride": "esy.lock/overrides/opam__s__uchar_opam__c__0.0.2_opam_override" - } - ], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/ocamlbuild@opam:0.14.3@65c92d3f", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ "ocaml@5.1.4@d41d8cd9" ] - }, - "@opam/tyxml@opam:4.6.0@5ced2c2c": { - "id": "@opam/tyxml@opam:4.6.0@5ced2c2c", - "name": "@opam/tyxml", - "version": "opam:4.6.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/bf/bfeb673c6b4e120a4eca4c48448add47dc3f8d02c2b40f63ffdccc4e91c902dd#sha256:bfeb673c6b4e120a4eca4c48448add47dc3f8d02c2b40f63ffdccc4e91c902dd", - "archive:https://github.com/ocsigen/tyxml/releases/download/4.6.0/tyxml-4.6.0.tbz#sha256:bfeb673c6b4e120a4eca4c48448add47dc3f8d02c2b40f63ffdccc4e91c902dd" - ], - "opam": { - "name": "tyxml", - "version": "4.6.0", - "path": "esy.lock/opam/tyxml.4.6.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/uutf@opam:1.0.3@47c95a18", - "@opam/seq@opam:base@d8d7de1d", "@opam/re@opam:1.11.0@87deb463", - "@opam/dune@opam:3.8.3@ff88b4c5", "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/uutf@opam:1.0.3@47c95a18", - "@opam/seq@opam:base@d8d7de1d", "@opam/re@opam:1.11.0@87deb463", - "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/trie@opam:1.0.0@f4e510e2": { - "id": "@opam/trie@opam:1.0.0@f4e510e2", - "name": "@opam/trie", - "version": "opam:1.0.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/84/84519b5f8bd92490bfc68a52f706ba14#md5:84519b5f8bd92490bfc68a52f706ba14", - "archive:https://github.com/kandu/trie/archive/1.0.0.tar.gz#md5:84519b5f8bd92490bfc68a52f706ba14" - ], - "opam": { - "name": "trie", - "version": "1.0.0", - "path": "esy.lock/opam/trie.1.0.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/topkg@opam:1.0.7@7ee47d76": { - "id": "@opam/topkg@opam:1.0.7@7ee47d76", - "name": "@opam/topkg", - "version": "opam:1.0.7", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha512/09/09e59f1759bf4db8471f02d0aefd8db602b44932a291c05c312b1423796e7a15d1598d3c62a0cec7f083eff8e410fac09363533dc4bd2120914bb9664efea535#sha512:09e59f1759bf4db8471f02d0aefd8db602b44932a291c05c312b1423796e7a15d1598d3c62a0cec7f083eff8e410fac09363533dc4bd2120914bb9664efea535", - "archive:https://erratique.ch/software/topkg/releases/topkg-1.0.7.tbz#sha512:09e59f1759bf4db8471f02d0aefd8db602b44932a291c05c312b1423796e7a15d1598d3c62a0cec7f083eff8e410fac09363533dc4bd2120914bb9664efea535" - ], - "opam": { - "name": "topkg", - "version": "1.0.7", - "path": "esy.lock/opam/topkg.1.0.7" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/ocamlfind@opam:1.9.6@da5169c7", - "@opam/ocamlbuild@opam:0.14.3@65c92d3f", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/ocamlbuild@opam:0.14.3@65c92d3f" - ] - }, - "@opam/time_now@opam:v0.16.0@2ea7a1ce": { - "id": "@opam/time_now@opam:v0.16.0@2ea7a1ce", - "name": "@opam/time_now", - "version": "opam:v0.16.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/5f/5fa084aadee6aaedbb8976e4a2bc0c1dfe69eecdd0576ff901f21eedd46dc3a1#sha256:5fa084aadee6aaedbb8976e4a2bc0c1dfe69eecdd0576ff901f21eedd46dc3a1", - "archive:https://ocaml.janestreet.com/ocaml-core/v0.16/files/time_now-v0.16.0.tar.gz#sha256:5fa084aadee6aaedbb8976e4a2bc0c1dfe69eecdd0576ff901f21eedd46dc3a1" - ], - "opam": { - "name": "time_now", - "version": "v0.16.0", - "path": "esy.lock/opam/time_now.v0.16.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/ppx_optcomp@opam:v0.16.0@5bc09037", - "@opam/ppx_base@opam:v0.16.0@91973750", - "@opam/jst-config@opam:v0.16.0@f110c9c9", - "@opam/jane-street-headers@opam:v0.16.0@a1e52a6d", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/base@opam:v0.16.3@de1ba42e", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/ppx_optcomp@opam:v0.16.0@5bc09037", - "@opam/ppx_base@opam:v0.16.0@91973750", - "@opam/jst-config@opam:v0.16.0@f110c9c9", - "@opam/jane-street-headers@opam:v0.16.0@a1e52a6d", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/base@opam:v0.16.3@de1ba42e" - ] - }, - "@opam/stdune@opam:3.13.0@06abcb6e": { - "id": "@opam/stdune@opam:3.13.0@06abcb6e", - "name": "@opam/stdune", - "version": "opam:3.13.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/f1/f1801257e01c846bd71017ec5d4b2b75fd31b20a0d5979b933b37cc8453678de#sha256:f1801257e01c846bd71017ec5d4b2b75fd31b20a0d5979b933b37cc8453678de", - "archive:https://github.com/ocaml/dune/releases/download/3.13.0/dune-3.13.0.tbz#sha256:f1801257e01c846bd71017ec5d4b2b75fd31b20a0d5979b933b37cc8453678de" - ], - "opam": { - "name": "stdune", - "version": "3.13.0", - "path": "esy.lock/opam/stdune.3.13.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/pp@opam:1.2.0@16430027", - "@opam/ordering@opam:3.13.0@f28457e8", - "@opam/dyn@opam:3.13.0@ceb0e0c5", "@opam/dune@opam:3.8.3@ff88b4c5", - "@opam/csexp@opam:1.5.2@46614bf4", - "@opam/base-unix@opam:base@87d0b2eb", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/pp@opam:1.2.0@16430027", - "@opam/ordering@opam:3.13.0@f28457e8", - "@opam/dyn@opam:3.13.0@ceb0e0c5", "@opam/dune@opam:3.8.3@ff88b4c5", - "@opam/csexp@opam:1.5.2@46614bf4", - "@opam/base-unix@opam:base@87d0b2eb" - ] - }, - "@opam/stdlib-shims@opam:0.3.0@72c7bc98": { - "id": "@opam/stdlib-shims@opam:0.3.0@72c7bc98", - "name": "@opam/stdlib-shims", - "version": "opam:0.3.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/ba/babf72d3917b86f707885f0c5528e36c63fccb698f4b46cf2bab5c7ccdd6d84a#sha256:babf72d3917b86f707885f0c5528e36c63fccb698f4b46cf2bab5c7ccdd6d84a", - "archive:https://github.com/ocaml/stdlib-shims/releases/download/0.3.0/stdlib-shims-0.3.0.tbz#sha256:babf72d3917b86f707885f0c5528e36c63fccb698f4b46cf2bab5c7ccdd6d84a" - ], - "opam": { - "name": "stdlib-shims", - "version": "0.3.0", - "path": "esy.lock/opam/stdlib-shims.0.3.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/stdio@opam:v0.16.0@a75c1ca1": { - "id": "@opam/stdio@opam:v0.16.0@a75c1ca1", - "name": "@opam/stdio", - "version": "opam:v0.16.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/61/61f0b75950614ac5378c6ec0d822cce6463402d919d5810b736fc46522b3a73e#sha256:61f0b75950614ac5378c6ec0d822cce6463402d919d5810b736fc46522b3a73e", - "archive:https://ocaml.janestreet.com/ocaml-core/v0.16/files/stdio-v0.16.0.tar.gz#sha256:61f0b75950614ac5378c6ec0d822cce6463402d919d5810b736fc46522b3a73e" - ], - "opam": { - "name": "stdio", - "version": "v0.16.0", - "path": "esy.lock/opam/stdio.v0.16.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5", - "@opam/base@opam:v0.16.3@de1ba42e", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5", - "@opam/base@opam:v0.16.3@de1ba42e" - ] - }, - "@opam/sqlite3@opam:5.0.2@f8405319": { - "id": "@opam/sqlite3@opam:5.0.2@f8405319", - "name": "@opam/sqlite3", - "version": "opam:5.0.2", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/02/02ddd45536ea432f4cc149ca140f77de0c1a99c67741caf28afd6f092c396a69#sha256:02ddd45536ea432f4cc149ca140f77de0c1a99c67741caf28afd6f092c396a69", - "archive:https://github.com/mmottl/sqlite3-ocaml/releases/download/5.0.2/sqlite3-5.0.2.tbz#sha256:02ddd45536ea432f4cc149ca140f77de0c1a99c67741caf28afd6f092c396a69" - ], - "opam": { - "name": "sqlite3", - "version": "5.0.2", - "path": "esy.lock/opam/sqlite3.5.0.2" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", - "@opam/dune-configurator@opam:3.13.0@45108d48", - "@opam/dune@opam:3.8.3@ff88b4c5", - "@opam/conf-sqlite3@archive:https://sqlite.org/2021/sqlite-autoconf-3350500.tar.gz#sha256:f52b72a5c319c3e516ed7a92e123139a6e87af08a2dc43d7757724f6132e6db0@2d70a362", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", - "@opam/dune-configurator@opam:3.13.0@45108d48", - "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/spawn@opam:v0.15.1@85e9d6f1": { - "id": "@opam/spawn@opam:v0.15.1@85e9d6f1", - "name": "@opam/spawn", - "version": "opam:v0.15.1", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/9a/9afdee314fab6c3fcd689ab6eb5608d6b78078e6dede3953a47debde06c19d50#sha256:9afdee314fab6c3fcd689ab6eb5608d6b78078e6dede3953a47debde06c19d50", - "archive:https://github.com/janestreet/spawn/archive/v0.15.1.tar.gz#sha256:9afdee314fab6c3fcd689ab6eb5608d6b78078e6dede3953a47debde06c19d50" - ], - "opam": { - "name": "spawn", - "version": "v0.15.1", - "path": "esy.lock/opam/spawn.v0.15.1" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/sexplib0@opam:v0.16.0@c0ffad0c": { - "id": "@opam/sexplib0@opam:v0.16.0@c0ffad0c", - "name": "@opam/sexplib0", - "version": "opam:v0.16.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/86/86dba26468194512f789f2fb709063515a9cb4e5c4461c021c239a369590701d#sha256:86dba26468194512f789f2fb709063515a9cb4e5c4461c021c239a369590701d", - "archive:https://ocaml.janestreet.com/ocaml-core/v0.16/files/sexplib0-v0.16.0.tar.gz#sha256:86dba26468194512f789f2fb709063515a9cb4e5c4461c021c239a369590701d" - ], - "opam": { - "name": "sexplib0", - "version": "v0.16.0", - "path": "esy.lock/opam/sexplib0.v0.16.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/seq@opam:base@d8d7de1d": { - "id": "@opam/seq@opam:base@d8d7de1d", - "name": "@opam/seq", - "version": "opam:base", - "source": { - "type": "install", - "source": [ "no-source:" ], - "opam": { - "name": "seq", - "version": "base", - "path": "esy.lock/opam/seq.base" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ "ocaml@5.1.4@d41d8cd9" ] - }, - "@opam/result@opam:1.5@1c6a6533": { - "id": "@opam/result@opam:1.5@1c6a6533", - "name": "@opam/result", - "version": "opam:1.5", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/1b/1b82dec78849680b49ae9a8a365b831b#md5:1b82dec78849680b49ae9a8a365b831b", - "archive:https://github.com/janestreet/result/releases/download/1.5/result-1.5.tbz#md5:1b82dec78849680b49ae9a8a365b831b" - ], - "opam": { - "name": "result", - "version": "1.5", - "path": "esy.lock/opam/result.1.5" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/react@opam:1.2.2@e0f4480e": { - "id": "@opam/react@opam:1.2.2@e0f4480e", - "name": "@opam/react", - "version": "opam:1.2.2", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha512/18/18cdd544d484222ba02db6bd9351571516532e7a1c107b59bbe39193837298f5c745eab6754f8bc6ff125b387be7018c6d6e6ac99f91925a5e4f53af688522b1#sha512:18cdd544d484222ba02db6bd9351571516532e7a1c107b59bbe39193837298f5c745eab6754f8bc6ff125b387be7018c6d6e6ac99f91925a5e4f53af688522b1", - "archive:https://erratique.ch/software/react/releases/react-1.2.2.tbz#sha512:18cdd544d484222ba02db6bd9351571516532e7a1c107b59bbe39193837298f5c745eab6754f8bc6ff125b387be7018c6d6e6ac99f91925a5e4f53af688522b1" - ], - "opam": { - "name": "react", - "version": "1.2.2", - "path": "esy.lock/opam/react.1.2.2" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/topkg@opam:1.0.7@7ee47d76", - "@opam/ocamlfind@opam:1.9.6@da5169c7", - "@opam/ocamlbuild@opam:0.14.3@65c92d3f", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ "ocaml@5.1.4@d41d8cd9" ] - }, - "@opam/re@opam:1.11.0@87deb463": { - "id": "@opam/re@opam:1.11.0@87deb463", - "name": "@opam/re", - "version": "opam:1.11.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/01/01fc244780c0f6be72ae796b1fb750f367de18624fd75d07ee79782ed6df8d4f#sha256:01fc244780c0f6be72ae796b1fb750f367de18624fd75d07ee79782ed6df8d4f", - "archive:https://github.com/ocaml/ocaml-re/releases/download/1.11.0/re-1.11.0.tbz#sha256:01fc244780c0f6be72ae796b1fb750f367de18624fd75d07ee79782ed6df8d4f" - ], - "opam": { - "name": "re", - "version": "1.11.0", - "path": "esy.lock/opam/re.1.11.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/seq@opam:base@d8d7de1d", - "@opam/dune@opam:3.8.3@ff88b4c5", "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/seq@opam:base@d8d7de1d", - "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/printbox-text@opam:0.7@f9122d5d": { - "id": "@opam/printbox-text@opam:0.7@f9122d5d", - "name": "@opam/printbox-text", - "version": "opam:0.7", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/59/59271f9720bfe25e8bf884b38f1ba7fe161292faf6f895c89f71b615e5671737#sha256:59271f9720bfe25e8bf884b38f1ba7fe161292faf6f895c89f71b615e5671737", - "archive:https://github.com/c-cube/printbox/releases/download/v0.7/printbox-0.7.tbz#sha256:59271f9720bfe25e8bf884b38f1ba7fe161292faf6f895c89f71b615e5671737" - ], - "opam": { - "name": "printbox-text", - "version": "0.7", - "path": "esy.lock/opam/printbox-text.0.7" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/uutf@opam:1.0.3@47c95a18", - "@opam/uucp@opam:15.1.0@ef3e0a4e", - "@opam/printbox@opam:0.7@4a6803f7", "@opam/dune@opam:3.8.3@ff88b4c5", - "@opam/base-bytes@opam:base@19d0c2ff", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/uutf@opam:1.0.3@47c95a18", - "@opam/uucp@opam:15.1.0@ef3e0a4e", - "@opam/printbox@opam:0.7@4a6803f7", "@opam/dune@opam:3.8.3@ff88b4c5", - "@opam/base-bytes@opam:base@19d0c2ff" - ] - }, - "@opam/printbox@opam:0.7@4a6803f7": { - "id": "@opam/printbox@opam:0.7@4a6803f7", - "name": "@opam/printbox", - "version": "opam:0.7", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/59/59271f9720bfe25e8bf884b38f1ba7fe161292faf6f895c89f71b615e5671737#sha256:59271f9720bfe25e8bf884b38f1ba7fe161292faf6f895c89f71b615e5671737", - "archive:https://github.com/c-cube/printbox/releases/download/v0.7/printbox-0.7.tbz#sha256:59271f9720bfe25e8bf884b38f1ba7fe161292faf6f895c89f71b615e5671737" - ], - "opam": { - "name": "printbox", - "version": "0.7", - "path": "esy.lock/opam/printbox.0.7" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5", - "@opam/base-bytes@opam:base@19d0c2ff", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5", - "@opam/base-bytes@opam:base@19d0c2ff" - ] - }, - "@opam/ppxlib@opam:0.31.0@1212d9eb": { - "id": "@opam/ppxlib@opam:0.31.0@1212d9eb", - "name": "@opam/ppxlib", - "version": "opam:0.31.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/d2/d21676654e57faa12d7895caffe8703b64521d66efcf152491871a55b2ae41d8#sha256:d21676654e57faa12d7895caffe8703b64521d66efcf152491871a55b2ae41d8", - "archive:https://github.com/ocaml-ppx/ppxlib/releases/download/0.31.0/ppxlib-0.31.0.tbz#sha256:d21676654e57faa12d7895caffe8703b64521d66efcf152491871a55b2ae41d8" - ], - "opam": { - "name": "ppxlib", - "version": "0.31.0", - "path": "esy.lock/opam/ppxlib.0.31.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/stdlib-shims@opam:0.3.0@72c7bc98", - "@opam/sexplib0@opam:v0.16.0@c0ffad0c", - "@opam/ppx_derivers@opam:1.2.1@e2cbad12", - "@opam/ocaml-compiler-libs@opam:v0.12.4@57a85ad1", - "@opam/dune@opam:3.8.3@ff88b4c5", "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/stdlib-shims@opam:0.3.0@72c7bc98", - "@opam/sexplib0@opam:v0.16.0@c0ffad0c", - "@opam/ppx_derivers@opam:1.2.1@e2cbad12", - "@opam/ocaml-compiler-libs@opam:v0.12.4@57a85ad1", - "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/ppx_yojson_conv_lib@opam:v0.16.0@33740c3c": { - "id": "@opam/ppx_yojson_conv_lib@opam:v0.16.0@33740c3c", - "name": "@opam/ppx_yojson_conv_lib", - "version": "opam:v0.16.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/55/557c43c88d365b4cbb514d809f1eecc54d7b9976b0669bc55b02169e6c86ec7d#sha256:557c43c88d365b4cbb514d809f1eecc54d7b9976b0669bc55b02169e6c86ec7d", - "archive:https://ocaml.janestreet.com/ocaml-core/v0.16/files/ppx_yojson_conv_lib-v0.16.0.tar.gz#sha256:557c43c88d365b4cbb514d809f1eecc54d7b9976b0669bc55b02169e6c86ec7d" - ], - "opam": { - "name": "ppx_yojson_conv_lib", - "version": "v0.16.0", - "path": "esy.lock/opam/ppx_yojson_conv_lib.v0.16.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/yojson@opam:2.1.2@9fd14300", - "@opam/dune@opam:3.8.3@ff88b4c5", "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/yojson@opam:2.1.2@9fd14300", - "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/ppx_sexp_conv@opam:v0.16.0@bae11ff6": { - "id": "@opam/ppx_sexp_conv@opam:v0.16.0@bae11ff6", - "name": "@opam/ppx_sexp_conv", - "version": "opam:v0.16.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/41/41bcb7a3b33bdf50428408bfaf1dbcede528a488ac8c436ce710681bcd91200d#sha256:41bcb7a3b33bdf50428408bfaf1dbcede528a488ac8c436ce710681bcd91200d", - "archive:https://ocaml.janestreet.com/ocaml-core/v0.16/files/ppx_sexp_conv-v0.16.0.tar.gz#sha256:41bcb7a3b33bdf50428408bfaf1dbcede528a488ac8c436ce710681bcd91200d" - ], - "opam": { - "name": "ppx_sexp_conv", - "version": "v0.16.0", - "path": "esy.lock/opam/ppx_sexp_conv.v0.16.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/sexplib0@opam:v0.16.0@c0ffad0c", - "@opam/ppxlib@opam:0.31.0@1212d9eb", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/base@opam:v0.16.3@de1ba42e", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/sexplib0@opam:v0.16.0@c0ffad0c", - "@opam/ppxlib@opam:0.31.0@1212d9eb", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/base@opam:v0.16.3@de1ba42e" - ] - }, - "@opam/ppx_optcomp@opam:v0.16.0@5bc09037": { - "id": "@opam/ppx_optcomp@opam:v0.16.0@5bc09037", - "name": "@opam/ppx_optcomp", - "version": "opam:v0.16.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/99/99b209084a5375dafce4c6b128979661ab2ab6bf898a6872d596e65ded590ba2#sha256:99b209084a5375dafce4c6b128979661ab2ab6bf898a6872d596e65ded590ba2", - "archive:https://ocaml.janestreet.com/ocaml-core/v0.16/files/ppx_optcomp-v0.16.0.tar.gz#sha256:99b209084a5375dafce4c6b128979661ab2ab6bf898a6872d596e65ded590ba2" - ], - "opam": { - "name": "ppx_optcomp", - "version": "v0.16.0", - "path": "esy.lock/opam/ppx_optcomp.v0.16.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/stdio@opam:v0.16.0@a75c1ca1", - "@opam/ppxlib@opam:0.31.0@1212d9eb", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/base@opam:v0.16.3@de1ba42e", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/stdio@opam:v0.16.0@a75c1ca1", - "@opam/ppxlib@opam:0.31.0@1212d9eb", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/base@opam:v0.16.3@de1ba42e" - ] - }, - "@opam/ppx_inline_test@opam:v0.16.0@63377669": { - "id": "@opam/ppx_inline_test@opam:v0.16.0@63377669", - "name": "@opam/ppx_inline_test", - "version": "opam:v0.16.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/21/216462f8fe988587d1e90f4a10aeb38664facb6eaeb3df60a32e9fb1a6bfbc67#sha256:216462f8fe988587d1e90f4a10aeb38664facb6eaeb3df60a32e9fb1a6bfbc67", - "archive:https://ocaml.janestreet.com/ocaml-core/v0.16/files/ppx_inline_test-v0.16.0.tar.gz#sha256:216462f8fe988587d1e90f4a10aeb38664facb6eaeb3df60a32e9fb1a6bfbc67" - ], - "opam": { - "name": "ppx_inline_test", - "version": "v0.16.0", - "path": "esy.lock/opam/ppx_inline_test.v0.16.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/time_now@opam:v0.16.0@2ea7a1ce", - "@opam/ppxlib@opam:0.31.0@1212d9eb", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/base@opam:v0.16.3@de1ba42e", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/time_now@opam:v0.16.0@2ea7a1ce", - "@opam/ppxlib@opam:0.31.0@1212d9eb", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/base@opam:v0.16.3@de1ba42e" - ] - }, - "@opam/ppx_here@opam:v0.16.0@e1e190c4": { - "id": "@opam/ppx_here@opam:v0.16.0@e1e190c4", - "name": "@opam/ppx_here", - "version": "opam:v0.16.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/27/278198b92500c306fab3411e3dede264d678f203eb3295dd8dd79b70ed9273f0#sha256:278198b92500c306fab3411e3dede264d678f203eb3295dd8dd79b70ed9273f0", - "archive:https://ocaml.janestreet.com/ocaml-core/v0.16/files/ppx_here-v0.16.0.tar.gz#sha256:278198b92500c306fab3411e3dede264d678f203eb3295dd8dd79b70ed9273f0" - ], - "opam": { - "name": "ppx_here", - "version": "v0.16.0", - "path": "esy.lock/opam/ppx_here.v0.16.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/ppxlib@opam:0.31.0@1212d9eb", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/base@opam:v0.16.3@de1ba42e", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/ppxlib@opam:0.31.0@1212d9eb", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/base@opam:v0.16.3@de1ba42e" - ] - }, - "@opam/ppx_hash@opam:v0.16.0@b4f81cc1": { - "id": "@opam/ppx_hash@opam:v0.16.0@b4f81cc1", - "name": "@opam/ppx_hash", - "version": "opam:v0.16.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/9b/9b012546b7b9278bfd536f802fb6da88a11ebb5340d8aa47e9bf49acbf13b6e5#sha256:9b012546b7b9278bfd536f802fb6da88a11ebb5340d8aa47e9bf49acbf13b6e5", - "archive:https://ocaml.janestreet.com/ocaml-core/v0.16/files/ppx_hash-v0.16.0.tar.gz#sha256:9b012546b7b9278bfd536f802fb6da88a11ebb5340d8aa47e9bf49acbf13b6e5" - ], - "opam": { - "name": "ppx_hash", - "version": "v0.16.0", - "path": "esy.lock/opam/ppx_hash.v0.16.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/ppxlib@opam:0.31.0@1212d9eb", - "@opam/ppx_sexp_conv@opam:v0.16.0@bae11ff6", - "@opam/ppx_compare@opam:v0.16.0@ad7b8e11", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/base@opam:v0.16.3@de1ba42e", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/ppxlib@opam:0.31.0@1212d9eb", - "@opam/ppx_sexp_conv@opam:v0.16.0@bae11ff6", - "@opam/ppx_compare@opam:v0.16.0@ad7b8e11", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/base@opam:v0.16.3@de1ba42e" - ] - }, - "@opam/ppx_globalize@opam:v0.16.0@e27261c1": { - "id": "@opam/ppx_globalize@opam:v0.16.0@e27261c1", - "name": "@opam/ppx_globalize", - "version": "opam:v0.16.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/90/9068d7b4b765112974b17dd354cadf007f044afb11d2f99cd45b2e3b99ab491b#sha256:9068d7b4b765112974b17dd354cadf007f044afb11d2f99cd45b2e3b99ab491b", - "archive:https://ocaml.janestreet.com/ocaml-core/v0.16/files/ppx_globalize-v0.16.0.tar.gz#sha256:9068d7b4b765112974b17dd354cadf007f044afb11d2f99cd45b2e3b99ab491b" - ], - "opam": { - "name": "ppx_globalize", - "version": "v0.16.0", - "path": "esy.lock/opam/ppx_globalize.v0.16.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/ppxlib@opam:0.31.0@1212d9eb", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/base@opam:v0.16.3@de1ba42e", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/ppxlib@opam:0.31.0@1212d9eb", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/base@opam:v0.16.3@de1ba42e" - ] - }, - "@opam/ppx_gen_rec@opam:2.0.0@6dd2f1ca": { - "id": "@opam/ppx_gen_rec@opam:2.0.0@6dd2f1ca", - "name": "@opam/ppx_gen_rec", - "version": "opam:2.0.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/fe/fe6323e544f6d8a406572d6c8e01283a03f3c826327833ed58960d0ef43d9e59#sha256:fe6323e544f6d8a406572d6c8e01283a03f3c826327833ed58960d0ef43d9e59", - "archive:https://github.com/flowtype/ocaml-ppx_gen_rec/releases/download/v2.0.0/ppx_gen_rec-v2.0.0.tbz#sha256:fe6323e544f6d8a406572d6c8e01283a03f3c826327833ed58960d0ef43d9e59" - ], - "opam": { - "name": "ppx_gen_rec", - "version": "2.0.0", - "path": "esy.lock/opam/ppx_gen_rec.2.0.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/ppxlib@opam:0.31.0@1212d9eb", - "@opam/dune@opam:3.8.3@ff88b4c5", "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/ppxlib@opam:0.31.0@1212d9eb", - "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/ppx_expect@opam:v0.16.0@75d62292": { - "id": "@opam/ppx_expect@opam:v0.16.0@75d62292", - "name": "@opam/ppx_expect", - "version": "opam:v0.16.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/e0/e0795a0ae2d576758aaaa685440951b28fe75d072d88f5c6bf415fb1a44e423c#sha256:e0795a0ae2d576758aaaa685440951b28fe75d072d88f5c6bf415fb1a44e423c", - "archive:https://ocaml.janestreet.com/ocaml-core/v0.16/files/ppx_expect-v0.16.0.tar.gz#sha256:e0795a0ae2d576758aaaa685440951b28fe75d072d88f5c6bf415fb1a44e423c" - ], - "opam": { - "name": "ppx_expect", - "version": "v0.16.0", - "path": "esy.lock/opam/ppx_expect.v0.16.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/stdio@opam:v0.16.0@a75c1ca1", - "@opam/re@opam:1.11.0@87deb463", "@opam/ppxlib@opam:0.31.0@1212d9eb", - "@opam/ppx_inline_test@opam:v0.16.0@63377669", - "@opam/ppx_here@opam:v0.16.0@e1e190c4", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/base@opam:v0.16.3@de1ba42e", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/stdio@opam:v0.16.0@a75c1ca1", - "@opam/re@opam:1.11.0@87deb463", "@opam/ppxlib@opam:0.31.0@1212d9eb", - "@opam/ppx_inline_test@opam:v0.16.0@63377669", - "@opam/ppx_here@opam:v0.16.0@e1e190c4", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/base@opam:v0.16.3@de1ba42e" - ] - }, - "@opam/ppx_enumerate@opam:v0.16.0@186dd5c9": { - "id": "@opam/ppx_enumerate@opam:v0.16.0@186dd5c9", - "name": "@opam/ppx_enumerate", - "version": "opam:v0.16.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/28/2832635d6d9ac4c63d48ed51d72745cd8a548e226a6110909d5a412d40ef9953#sha256:2832635d6d9ac4c63d48ed51d72745cd8a548e226a6110909d5a412d40ef9953", - "archive:https://ocaml.janestreet.com/ocaml-core/v0.16/files/ppx_enumerate-v0.16.0.tar.gz#sha256:2832635d6d9ac4c63d48ed51d72745cd8a548e226a6110909d5a412d40ef9953" - ], - "opam": { - "name": "ppx_enumerate", - "version": "v0.16.0", - "path": "esy.lock/opam/ppx_enumerate.v0.16.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/ppxlib@opam:0.31.0@1212d9eb", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/base@opam:v0.16.3@de1ba42e", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/ppxlib@opam:0.31.0@1212d9eb", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/base@opam:v0.16.3@de1ba42e" - ] - }, - "@opam/ppx_deriving_yojson@opam:3.7.0@167442d6": { - "id": "@opam/ppx_deriving_yojson@opam:3.7.0@167442d6", - "name": "@opam/ppx_deriving_yojson", - "version": "opam:3.7.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/45/456be82acb16bbf6be12ab01f9dfaa94#md5:456be82acb16bbf6be12ab01f9dfaa94", - "archive:https://github.com/ocaml-ppx/ppx_deriving_yojson/releases/download/v3.7.0/ppx_deriving_yojson-3.7.0.tar.gz#md5:456be82acb16bbf6be12ab01f9dfaa94" - ], - "opam": { - "name": "ppx_deriving_yojson", - "version": "3.7.0", - "path": "esy.lock/opam/ppx_deriving_yojson.3.7.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/yojson@opam:2.1.2@9fd14300", - "@opam/result@opam:1.5@1c6a6533", - "@opam/ppxlib@opam:0.31.0@1212d9eb", - "@opam/ppx_deriving@opam:5.2.1@2315fdd0", - "@opam/dune@opam:3.8.3@ff88b4c5", "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/yojson@opam:2.1.2@9fd14300", - "@opam/result@opam:1.5@1c6a6533", - "@opam/ppxlib@opam:0.31.0@1212d9eb", - "@opam/ppx_deriving@opam:5.2.1@2315fdd0", - "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/ppx_deriving@opam:5.2.1@2315fdd0": { - "id": "@opam/ppx_deriving@opam:5.2.1@2315fdd0", - "name": "@opam/ppx_deriving", - "version": "opam:5.2.1", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/e9/e96b5fb25b7632570e4b329e22e097fcd4b8e8680d1e43ef003a8fbd742b0786#sha256:e96b5fb25b7632570e4b329e22e097fcd4b8e8680d1e43ef003a8fbd742b0786", - "archive:https://github.com/ocaml-ppx/ppx_deriving/releases/download/v5.2.1/ppx_deriving-v5.2.1.tbz#sha256:e96b5fb25b7632570e4b329e22e097fcd4b8e8680d1e43ef003a8fbd742b0786" - ], - "opam": { - "name": "ppx_deriving", - "version": "5.2.1", - "path": "esy.lock/opam/ppx_deriving.5.2.1" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/result@opam:1.5@1c6a6533", - "@opam/ppxlib@opam:0.31.0@1212d9eb", - "@opam/ppx_derivers@opam:1.2.1@e2cbad12", - "@opam/ocamlfind@opam:1.9.6@da5169c7", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/cppo@opam:1.6.9@db929a12", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/result@opam:1.5@1c6a6533", - "@opam/ppxlib@opam:0.31.0@1212d9eb", - "@opam/ppx_derivers@opam:1.2.1@e2cbad12", - "@opam/ocamlfind@opam:1.9.6@da5169c7", - "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/ppx_derivers@opam:1.2.1@e2cbad12": { - "id": "@opam/ppx_derivers@opam:1.2.1@e2cbad12", - "name": "@opam/ppx_derivers", - "version": "opam:1.2.1", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/5d/5dc2bf130c1db3c731fe0fffc5648b41#md5:5dc2bf130c1db3c731fe0fffc5648b41", - "archive:https://github.com/ocaml-ppx/ppx_derivers/archive/1.2.1.tar.gz#md5:5dc2bf130c1db3c731fe0fffc5648b41" - ], - "opam": { - "name": "ppx_derivers", - "version": "1.2.1", - "path": "esy.lock/opam/ppx_derivers.1.2.1" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/ppx_compare@opam:v0.16.0@ad7b8e11": { - "id": "@opam/ppx_compare@opam:v0.16.0@ad7b8e11", - "name": "@opam/ppx_compare", - "version": "opam:v0.16.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/7a/7ac1dd852e62de6c4b6a879b8bd962c0167db822c39e8c972c8a6af4c48f26aa#sha256:7ac1dd852e62de6c4b6a879b8bd962c0167db822c39e8c972c8a6af4c48f26aa", - "archive:https://ocaml.janestreet.com/ocaml-core/v0.16/files/ppx_compare-v0.16.0.tar.gz#sha256:7ac1dd852e62de6c4b6a879b8bd962c0167db822c39e8c972c8a6af4c48f26aa" - ], - "opam": { - "name": "ppx_compare", - "version": "v0.16.0", - "path": "esy.lock/opam/ppx_compare.v0.16.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/ppxlib@opam:0.31.0@1212d9eb", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/base@opam:v0.16.3@de1ba42e", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/ppxlib@opam:0.31.0@1212d9eb", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/base@opam:v0.16.3@de1ba42e" - ] - }, - "@opam/ppx_cold@opam:v0.16.0@0f142c2c": { - "id": "@opam/ppx_cold@opam:v0.16.0@0f142c2c", - "name": "@opam/ppx_cold", - "version": "opam:v0.16.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/80/803bdb583b501aa246d8ae34be0c16b892d8ae96852bb593f3e355232e6aa4da#sha256:803bdb583b501aa246d8ae34be0c16b892d8ae96852bb593f3e355232e6aa4da", - "archive:https://ocaml.janestreet.com/ocaml-core/v0.16/files/ppx_cold-v0.16.0.tar.gz#sha256:803bdb583b501aa246d8ae34be0c16b892d8ae96852bb593f3e355232e6aa4da" - ], - "opam": { - "name": "ppx_cold", - "version": "v0.16.0", - "path": "esy.lock/opam/ppx_cold.v0.16.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/ppxlib@opam:0.31.0@1212d9eb", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/base@opam:v0.16.3@de1ba42e", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/ppxlib@opam:0.31.0@1212d9eb", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/base@opam:v0.16.3@de1ba42e" - ] - }, - "@opam/ppx_base@opam:v0.16.0@91973750": { - "id": "@opam/ppx_base@opam:v0.16.0@91973750", - "name": "@opam/ppx_base", - "version": "opam:v0.16.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/64/64835763153d3262a2fa56cf307a351ebfd10cedf504c488ab3bb93f3d9569a3#sha256:64835763153d3262a2fa56cf307a351ebfd10cedf504c488ab3bb93f3d9569a3", - "archive:https://ocaml.janestreet.com/ocaml-core/v0.16/files/ppx_base-v0.16.0.tar.gz#sha256:64835763153d3262a2fa56cf307a351ebfd10cedf504c488ab3bb93f3d9569a3" - ], - "opam": { - "name": "ppx_base", - "version": "v0.16.0", - "path": "esy.lock/opam/ppx_base.v0.16.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/ppxlib@opam:0.31.0@1212d9eb", - "@opam/ppx_sexp_conv@opam:v0.16.0@bae11ff6", - "@opam/ppx_hash@opam:v0.16.0@b4f81cc1", - "@opam/ppx_globalize@opam:v0.16.0@e27261c1", - "@opam/ppx_enumerate@opam:v0.16.0@186dd5c9", - "@opam/ppx_compare@opam:v0.16.0@ad7b8e11", - "@opam/ppx_cold@opam:v0.16.0@0f142c2c", - "@opam/dune@opam:3.8.3@ff88b4c5", "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/ppxlib@opam:0.31.0@1212d9eb", - "@opam/ppx_sexp_conv@opam:v0.16.0@bae11ff6", - "@opam/ppx_hash@opam:v0.16.0@b4f81cc1", - "@opam/ppx_globalize@opam:v0.16.0@e27261c1", - "@opam/ppx_enumerate@opam:v0.16.0@186dd5c9", - "@opam/ppx_compare@opam:v0.16.0@ad7b8e11", - "@opam/ppx_cold@opam:v0.16.0@0f142c2c", - "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/ppx_assert@opam:v0.16.0@d212d4b7": { - "id": "@opam/ppx_assert@opam:v0.16.0@d212d4b7", - "name": "@opam/ppx_assert", - "version": "opam:v0.16.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/57/57dc6e241827eb1d5112c958f2f682ddd0addf5a8e9d589f5361ec2669883fd5#sha256:57dc6e241827eb1d5112c958f2f682ddd0addf5a8e9d589f5361ec2669883fd5", - "archive:https://ocaml.janestreet.com/ocaml-core/v0.16/files/ppx_assert-v0.16.0.tar.gz#sha256:57dc6e241827eb1d5112c958f2f682ddd0addf5a8e9d589f5361ec2669883fd5" - ], - "opam": { - "name": "ppx_assert", - "version": "v0.16.0", - "path": "esy.lock/opam/ppx_assert.v0.16.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/ppxlib@opam:0.31.0@1212d9eb", - "@opam/ppx_sexp_conv@opam:v0.16.0@bae11ff6", - "@opam/ppx_here@opam:v0.16.0@e1e190c4", - "@opam/ppx_compare@opam:v0.16.0@ad7b8e11", - "@opam/ppx_cold@opam:v0.16.0@0f142c2c", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/base@opam:v0.16.3@de1ba42e", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/ppxlib@opam:0.31.0@1212d9eb", - "@opam/ppx_sexp_conv@opam:v0.16.0@bae11ff6", - "@opam/ppx_here@opam:v0.16.0@e1e190c4", - "@opam/ppx_compare@opam:v0.16.0@ad7b8e11", - "@opam/ppx_cold@opam:v0.16.0@0f142c2c", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/base@opam:v0.16.3@de1ba42e" - ] - }, - "@opam/pp@opam:1.2.0@16430027": { - "id": "@opam/pp@opam:1.2.0@16430027", - "name": "@opam/pp", - "version": "opam:1.2.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/a5/a5e822573c55afb42db29ec56eacd1f2acd8f65cf2df2878e291de374ce6909c#sha256:a5e822573c55afb42db29ec56eacd1f2acd8f65cf2df2878e291de374ce6909c", - "archive:https://github.com/ocaml-dune/pp/releases/download/1.2.0/pp-1.2.0.tbz#sha256:a5e822573c55afb42db29ec56eacd1f2acd8f65cf2df2878e291de374ce6909c" - ], - "opam": { - "name": "pp", - "version": "1.2.0", - "path": "esy.lock/opam/pp.1.2.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/ordering@opam:3.13.0@f28457e8": { - "id": "@opam/ordering@opam:3.13.0@f28457e8", - "name": "@opam/ordering", - "version": "opam:3.13.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/f1/f1801257e01c846bd71017ec5d4b2b75fd31b20a0d5979b933b37cc8453678de#sha256:f1801257e01c846bd71017ec5d4b2b75fd31b20a0d5979b933b37cc8453678de", - "archive:https://github.com/ocaml/dune/releases/download/3.13.0/dune-3.13.0.tbz#sha256:f1801257e01c846bd71017ec5d4b2b75fd31b20a0d5979b933b37cc8453678de" - ], - "opam": { - "name": "ordering", - "version": "3.13.0", - "path": "esy.lock/opam/ordering.3.13.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/odoc-parser@opam:2.0.0@a08011a0": { - "id": "@opam/odoc-parser@opam:2.0.0@a08011a0", - "name": "@opam/odoc-parser", - "version": "opam:2.0.0", - "source": { - "type": "install", - "source": [ - "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": "2.0.0", - "path": "esy.lock/opam/odoc-parser.2.0.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/result@opam:1.5@1c6a6533", - "@opam/dune@opam:3.8.3@ff88b4c5", - "@opam/camlp-streams@opam:5.0.1@daaa0f94", - "@opam/astring@opam:0.8.5@1300cee8", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/result@opam:1.5@1c6a6533", - "@opam/dune@opam:3.8.3@ff88b4c5", - "@opam/camlp-streams@opam:5.0.1@daaa0f94", - "@opam/astring@opam:0.8.5@1300cee8" - ] - }, - "@opam/odoc@opam:2.2.2@a43a5ec4": { - "id": "@opam/odoc@opam:2.2.2@a43a5ec4", - "name": "@opam/odoc", - "version": "opam:2.2.2", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/6e/6ec331a1da22ec8b8feca73d4b8b6269043f4b36b10dd49f557f42449633672b#sha256:6ec331a1da22ec8b8feca73d4b8b6269043f4b36b10dd49f557f42449633672b", - "archive:https://github.com/ocaml/odoc/releases/download/2.2.2/odoc-2.2.2.tbz#sha256:6ec331a1da22ec8b8feca73d4b8b6269043f4b36b10dd49f557f42449633672b" - ], - "opam": { - "name": "odoc", - "version": "2.2.2", - "path": "esy.lock/opam/odoc.2.2.2" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/tyxml@opam:4.6.0@5ced2c2c", - "@opam/result@opam:1.5@1c6a6533", - "@opam/odoc-parser@opam:2.0.0@a08011a0", - "@opam/fpath@opam:0.7.3@674d8125", "@opam/fmt@opam:0.9.0@87213963", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/cppo@opam:1.6.9@db929a12", - "@opam/cmdliner@opam:1.2.0@b0c6143c", - "@opam/astring@opam:0.8.5@1300cee8", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/tyxml@opam:4.6.0@5ced2c2c", - "@opam/result@opam:1.5@1c6a6533", - "@opam/odoc-parser@opam:2.0.0@a08011a0", - "@opam/fpath@opam:0.7.3@674d8125", "@opam/fmt@opam:0.9.0@87213963", - "@opam/dune@opam:3.8.3@ff88b4c5", - "@opam/cmdliner@opam:1.2.0@b0c6143c", - "@opam/astring@opam:0.8.5@1300cee8" - ] - }, - "@opam/ocplib-endian@opam:1.2@008dc942": { - "id": "@opam/ocplib-endian@opam:1.2@008dc942", - "name": "@opam/ocplib-endian", - "version": "opam:1.2", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/8d/8d5492eeb7c6815ade72a7415ea30949#md5:8d5492eeb7c6815ade72a7415ea30949", - "archive:https://github.com/OCamlPro/ocplib-endian/archive/refs/tags/1.2.tar.gz#md5:8d5492eeb7c6815ade72a7415ea30949" - ], - "opam": { - "name": "ocplib-endian", - "version": "1.2", - "path": "esy.lock/opam/ocplib-endian.1.2" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5", - "@opam/cppo@opam:1.6.9@db929a12", - "@opam/base-bytes@opam:base@19d0c2ff", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5", - "@opam/base-bytes@opam:base@19d0c2ff" - ] - }, - "@opam/ocp-indent@opam:1.8.1@e32a3c50": { - "id": "@opam/ocp-indent@opam:1.8.1@e32a3c50", - "name": "@opam/ocp-indent", - "version": "opam:1.8.1", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/70/70db6649a8c08a682ad63730c9752e31#md5:70db6649a8c08a682ad63730c9752e31", - "archive:https://github.com/OCamlPro/ocp-indent/archive/1.8.1.tar.gz#md5:70db6649a8c08a682ad63730c9752e31" - ], - "opam": { - "name": "ocp-indent", - "version": "1.8.1", - "path": "esy.lock/opam/ocp-indent.1.8.1" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/ocamlfind@opam:1.9.6@da5169c7", - "@opam/dune@opam:3.8.3@ff88b4c5", - "@opam/cmdliner@opam:1.2.0@b0c6143c", - "@opam/base-bytes@opam:base@19d0c2ff", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/ocamlfind@opam:1.9.6@da5169c7", - "@opam/dune@opam:3.8.3@ff88b4c5", - "@opam/cmdliner@opam:1.2.0@b0c6143c", - "@opam/base-bytes@opam:base@19d0c2ff" - ] - }, - "@opam/ocamlformat-rpc-lib@opam:0.26.1@1f552fda": { - "id": "@opam/ocamlformat-rpc-lib@opam:0.26.1@1f552fda", - "name": "@opam/ocamlformat-rpc-lib", - "version": "opam:0.26.1", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/da/da006e427f15b9ec612fb808d446599bd9b7c3ee25abeb3d555747a70d74c6d7#sha256:da006e427f15b9ec612fb808d446599bd9b7c3ee25abeb3d555747a70d74c6d7", - "archive:https://github.com/ocaml-ppx/ocamlformat/releases/download/0.26.1/ocamlformat-0.26.1.tbz#sha256:da006e427f15b9ec612fb808d446599bd9b7c3ee25abeb3d555747a70d74c6d7" - ], - "opam": { - "name": "ocamlformat-rpc-lib", - "version": "0.26.1", - "path": "esy.lock/opam/ocamlformat-rpc-lib.0.26.1" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5", - "@opam/csexp@opam:1.5.2@46614bf4", "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5", - "@opam/csexp@opam:1.5.2@46614bf4" - ] - }, - "@opam/ocamlformat@opam:0.24.1@d7f4254d": { - "id": "@opam/ocamlformat@opam:0.24.1@d7f4254d", - "name": "@opam/ocamlformat", - "version": "opam:0.24.1", - "source": { - "type": "install", - "source": [ - "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.24.1", - "path": "esy.lock/opam/ocamlformat.0.24.1" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/uutf@opam:1.0.3@47c95a18", - "@opam/uuseg@opam:15.1.0@af4a84a3", - "@opam/stdio@opam:v0.16.0@a75c1ca1", "@opam/re@opam:1.11.0@87deb463", - "@opam/odoc-parser@opam:2.0.0@a08011a0", - "@opam/ocp-indent@opam:1.8.1@e32a3c50", - "@opam/ocaml-version@opam:3.5.0@6bef55f5", - "@opam/menhirSdk@opam:20231231@b20b8a51", - "@opam/menhirLib@opam:20231231@14d79986", - "@opam/menhir@opam:20231231@f35eae6a", - "@opam/fpath@opam:0.7.3@674d8125", - "@opam/fix@opam:20230505@941a65ff", - "@opam/either@opam:1.0.0@be5a1416", - "@opam/dune-build-info@opam:3.13.0@c12b1e2f", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/csexp@opam:1.5.2@46614bf4", - "@opam/cmdliner@opam:1.2.0@b0c6143c", - "@opam/base@opam:v0.16.3@de1ba42e", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/uutf@opam:1.0.3@47c95a18", - "@opam/uuseg@opam:15.1.0@af4a84a3", - "@opam/stdio@opam:v0.16.0@a75c1ca1", "@opam/re@opam:1.11.0@87deb463", - "@opam/odoc-parser@opam:2.0.0@a08011a0", - "@opam/ocp-indent@opam:1.8.1@e32a3c50", - "@opam/ocaml-version@opam:3.5.0@6bef55f5", - "@opam/menhirSdk@opam:20231231@b20b8a51", - "@opam/menhirLib@opam:20231231@14d79986", - "@opam/menhir@opam:20231231@f35eae6a", - "@opam/fpath@opam:0.7.3@674d8125", - "@opam/fix@opam:20230505@941a65ff", - "@opam/either@opam:1.0.0@be5a1416", - "@opam/dune-build-info@opam:3.13.0@c12b1e2f", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/csexp@opam:1.5.2@46614bf4", - "@opam/cmdliner@opam:1.2.0@b0c6143c", - "@opam/base@opam:v0.16.3@de1ba42e" - ] - }, - "@opam/ocamlfind@opam:1.9.6@da5169c7": { - "id": "@opam/ocamlfind@opam:1.9.6@da5169c7", - "name": "@opam/ocamlfind", - "version": "opam:1.9.6", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/96/96c6ee50a32cca9ca277321262dbec57#md5:96c6ee50a32cca9ca277321262dbec57", - "archive:http://download.camlcity.org/download/findlib-1.9.6.tar.gz#md5:96c6ee50a32cca9ca277321262dbec57" - ], - "opam": { - "name": "ocamlfind", - "version": "1.9.6", - "path": "esy.lock/opam/ocamlfind.1.9.6" - } - }, - "overrides": [ - { - "opamoverride": "esy.lock/overrides/opam__s__ocamlfind_opam__c__1.9.6_opam_override" - } - ], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ "ocaml@5.1.4@d41d8cd9" ] - }, - "@opam/ocamlc-loc@opam:3.13.0@e356c074": { - "id": "@opam/ocamlc-loc@opam:3.13.0@e356c074", - "name": "@opam/ocamlc-loc", - "version": "opam:3.13.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/f1/f1801257e01c846bd71017ec5d4b2b75fd31b20a0d5979b933b37cc8453678de#sha256:f1801257e01c846bd71017ec5d4b2b75fd31b20a0d5979b933b37cc8453678de", - "archive:https://github.com/ocaml/dune/releases/download/3.13.0/dune-3.13.0.tbz#sha256:f1801257e01c846bd71017ec5d4b2b75fd31b20a0d5979b933b37cc8453678de" - ], - "opam": { - "name": "ocamlc-loc", - "version": "3.13.0", - "path": "esy.lock/opam/ocamlc-loc.3.13.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dyn@opam:3.13.0@ceb0e0c5", - "@opam/dune@opam:3.8.3@ff88b4c5", "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dyn@opam:3.13.0@ceb0e0c5", - "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/ocamlbuild@opam:0.14.3@65c92d3f": { - "id": "@opam/ocamlbuild@opam:0.14.3@65c92d3f", - "name": "@opam/ocamlbuild", - "version": "opam:0.14.3", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/22/220df59060c916e8aac2eb471c870485#md5:220df59060c916e8aac2eb471c870485", - "archive:https://github.com/ocaml/ocamlbuild/archive/refs/tags/0.14.3.tar.gz#md5:220df59060c916e8aac2eb471c870485" - ], - "opam": { - "name": "ocamlbuild", - "version": "0.14.3", - "path": "esy.lock/opam/ocamlbuild.0.14.3" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ "ocaml@5.1.4@d41d8cd9" ] - }, - "@opam/ocaml-version@opam:3.5.0@6bef55f5": { - "id": "@opam/ocaml-version@opam:3.5.0@6bef55f5", - "name": "@opam/ocaml-version", - "version": "opam:3.5.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/d6/d63ca1c3970d6b14057f7176bfdae623e6c0176287c6a6e8b78cf50e2f7f635b#sha256:d63ca1c3970d6b14057f7176bfdae623e6c0176287c6a6e8b78cf50e2f7f635b", - "archive:https://github.com/ocurrent/ocaml-version/releases/download/v3.5.0/ocaml-version-3.5.0.tbz#sha256:d63ca1c3970d6b14057f7176bfdae623e6c0176287c6a6e8b78cf50e2f7f635b" - ], - "opam": { - "name": "ocaml-version", - "version": "3.5.0", - "path": "esy.lock/opam/ocaml-version.3.5.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/ocaml-syntax-shims@opam:1.0.0@9f361fbb": { - "id": "@opam/ocaml-syntax-shims@opam:1.0.0@9f361fbb", - "name": "@opam/ocaml-syntax-shims", - "version": "opam:1.0.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/89/89b2e193e90a0c168b6ec5ddf6fef09033681bdcb64e11913c97440a2722e8c8#sha256:89b2e193e90a0c168b6ec5ddf6fef09033681bdcb64e11913c97440a2722e8c8", - "archive:https://github.com/ocaml-ppx/ocaml-syntax-shims/releases/download/1.0.0/ocaml-syntax-shims-1.0.0.tbz#sha256:89b2e193e90a0c168b6ec5ddf6fef09033681bdcb64e11913c97440a2722e8c8" - ], - "opam": { - "name": "ocaml-syntax-shims", - "version": "1.0.0", - "path": "esy.lock/opam/ocaml-syntax-shims.1.0.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/ocaml-lsp-server@opam:1.17.0@12f65153": { - "id": "@opam/ocaml-lsp-server@opam:1.17.0@12f65153", - "name": "@opam/ocaml-lsp-server", - "version": "opam:1.17.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/8f/8fb8bbd717eefd2608b4d83458105b660e0de3a1134dc8fc216ae659d4d19600#sha256:8fb8bbd717eefd2608b4d83458105b660e0de3a1134dc8fc216ae659d4d19600", - "archive:https://github.com/ocaml/ocaml-lsp/releases/download/1.17.0/lsp-1.17.0.tbz#sha256:8fb8bbd717eefd2608b4d83458105b660e0de3a1134dc8fc216ae659d4d19600" - ], - "opam": { - "name": "ocaml-lsp-server", - "version": "1.17.0", - "path": "esy.lock/opam/ocaml-lsp-server.1.17.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/yojson@opam:2.1.2@9fd14300", - "@opam/xdg@opam:3.13.0@e939b607", "@opam/uutf@opam:1.0.3@47c95a18", - "@opam/stdune@opam:3.13.0@06abcb6e", - "@opam/spawn@opam:v0.15.1@85e9d6f1", "@opam/re@opam:1.11.0@87deb463", - "@opam/ppx_yojson_conv_lib@opam:v0.16.0@33740c3c", - "@opam/pp@opam:1.2.0@16430027", - "@opam/ordering@opam:3.13.0@f28457e8", - "@opam/ocamlformat-rpc-lib@opam:0.26.1@1f552fda", - "@opam/ocamlc-loc@opam:3.13.0@e356c074", - "@opam/merlin-lib@opam:4.13-501@e6dd2c4d", - "@opam/fiber@opam:3.7.0@d70e2471", "@opam/dyn@opam:3.13.0@ceb0e0c5", - "@opam/dune-rpc@opam:3.13.0@59050395", - "@opam/dune-build-info@opam:3.13.0@c12b1e2f", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/csexp@opam:1.5.2@46614bf4", - "@opam/chrome-trace@opam:3.13.0@c603e689", - "@opam/camlp-streams@opam:5.0.1@daaa0f94", - "@opam/astring@opam:0.8.5@1300cee8", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/yojson@opam:2.1.2@9fd14300", - "@opam/xdg@opam:3.13.0@e939b607", "@opam/uutf@opam:1.0.3@47c95a18", - "@opam/stdune@opam:3.13.0@06abcb6e", - "@opam/spawn@opam:v0.15.1@85e9d6f1", "@opam/re@opam:1.11.0@87deb463", - "@opam/ppx_yojson_conv_lib@opam:v0.16.0@33740c3c", - "@opam/pp@opam:1.2.0@16430027", - "@opam/ordering@opam:3.13.0@f28457e8", - "@opam/ocamlformat-rpc-lib@opam:0.26.1@1f552fda", - "@opam/ocamlc-loc@opam:3.13.0@e356c074", - "@opam/merlin-lib@opam:4.13-501@e6dd2c4d", - "@opam/fiber@opam:3.7.0@d70e2471", "@opam/dyn@opam:3.13.0@ceb0e0c5", - "@opam/dune-rpc@opam:3.13.0@59050395", - "@opam/dune-build-info@opam:3.13.0@c12b1e2f", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/csexp@opam:1.5.2@46614bf4", - "@opam/chrome-trace@opam:3.13.0@c603e689", - "@opam/camlp-streams@opam:5.0.1@daaa0f94", - "@opam/astring@opam:0.8.5@1300cee8" - ] - }, - "@opam/ocaml-compiler-libs@opam:v0.12.4@57a85ad1": { - "id": "@opam/ocaml-compiler-libs@opam:v0.12.4@57a85ad1", - "name": "@opam/ocaml-compiler-libs", - "version": "opam:v0.12.4", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/4e/4ec9c9ec35cc45c18c7a143761154ef1d7663036a29297f80381f47981a07760#sha256:4ec9c9ec35cc45c18c7a143761154ef1d7663036a29297f80381f47981a07760", - "archive:https://github.com/janestreet/ocaml-compiler-libs/releases/download/v0.12.4/ocaml-compiler-libs-v0.12.4.tbz#sha256:4ec9c9ec35cc45c18c7a143761154ef1d7663036a29297f80381f47981a07760" - ], - "opam": { - "name": "ocaml-compiler-libs", - "version": "v0.12.4", - "path": "esy.lock/opam/ocaml-compiler-libs.v0.12.4" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/mew_vi@opam:0.5.0@cf66c299": { - "id": "@opam/mew_vi@opam:0.5.0@cf66c299", - "name": "@opam/mew_vi", - "version": "opam:0.5.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/34/341e9a9a20383641015bf503952906bc#md5:341e9a9a20383641015bf503952906bc", - "archive:https://github.com/kandu/mew_vi/archive/0.5.0.tar.gz#md5:341e9a9a20383641015bf503952906bc" - ], - "opam": { - "name": "mew_vi", - "version": "0.5.0", - "path": "esy.lock/opam/mew_vi.0.5.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/react@opam:1.2.2@e0f4480e", - "@opam/mew@opam:0.1.0@65011d4b", "@opam/dune@opam:3.8.3@ff88b4c5", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/react@opam:1.2.2@e0f4480e", - "@opam/mew@opam:0.1.0@65011d4b", "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/mew@opam:0.1.0@65011d4b": { - "id": "@opam/mew@opam:0.1.0@65011d4b", - "name": "@opam/mew", - "version": "opam:0.1.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/22/2298149d1415cd804ab4e01f01ea10a0#md5:2298149d1415cd804ab4e01f01ea10a0", - "archive:https://github.com/kandu/mew/archive/0.1.0.tar.gz#md5:2298149d1415cd804ab4e01f01ea10a0" - ], - "opam": { - "name": "mew", - "version": "0.1.0", - "path": "esy.lock/opam/mew.0.1.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/trie@opam:1.0.0@f4e510e2", - "@opam/result@opam:1.5@1c6a6533", "@opam/dune@opam:3.8.3@ff88b4c5", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/trie@opam:1.0.0@f4e510e2", - "@opam/result@opam:1.5@1c6a6533", "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/merlin-lib@opam:4.13-501@e6dd2c4d": { - "id": "@opam/merlin-lib@opam:4.13-501@e6dd2c4d", - "name": "@opam/merlin-lib", - "version": "opam:4.13-501", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/1b/1bf56b23ea81563db0c6e076a84f4fd4cef722f0e6aa64eb045000ea6a7e3511#sha256:1bf56b23ea81563db0c6e076a84f4fd4cef722f0e6aa64eb045000ea6a7e3511", - "archive:https://github.com/ocaml/merlin/releases/download/v4.13-501/merlin-4.13-501.tbz#sha256:1bf56b23ea81563db0c6e076a84f4fd4cef722f0e6aa64eb045000ea6a7e3511" - ], - "opam": { - "name": "merlin-lib", - "version": "4.13-501", - "path": "esy.lock/opam/merlin-lib.4.13-501" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5", - "@opam/csexp@opam:1.5.2@46614bf4", "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5", - "@opam/csexp@opam:1.5.2@46614bf4" - ] - }, - "@opam/menhirSdk@opam:20231231@b20b8a51": { - "id": "@opam/menhirSdk@opam:20231231@b20b8a51", - "name": "@opam/menhirSdk", - "version": "opam:20231231", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/79/799748bc3b7a542798a85956c7863865#md5:799748bc3b7a542798a85956c7863865", - "archive:https://gitlab.inria.fr/fpottier/menhir/-/archive/20231231/archive.tar.gz#md5:799748bc3b7a542798a85956c7863865" - ], - "opam": { - "name": "menhirSdk", - "version": "20231231", - "path": "esy.lock/opam/menhirSdk.20231231" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/menhirLib@opam:20231231@14d79986": { - "id": "@opam/menhirLib@opam:20231231@14d79986", - "name": "@opam/menhirLib", - "version": "opam:20231231", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/79/799748bc3b7a542798a85956c7863865#md5:799748bc3b7a542798a85956c7863865", - "archive:https://gitlab.inria.fr/fpottier/menhir/-/archive/20231231/archive.tar.gz#md5:799748bc3b7a542798a85956c7863865" - ], - "opam": { - "name": "menhirLib", - "version": "20231231", - "path": "esy.lock/opam/menhirLib.20231231" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/menhirCST@opam:20231231@0f42b5d1": { - "id": "@opam/menhirCST@opam:20231231@0f42b5d1", - "name": "@opam/menhirCST", - "version": "opam:20231231", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/79/799748bc3b7a542798a85956c7863865#md5:799748bc3b7a542798a85956c7863865", - "archive:https://gitlab.inria.fr/fpottier/menhir/-/archive/20231231/archive.tar.gz#md5:799748bc3b7a542798a85956c7863865" - ], - "opam": { - "name": "menhirCST", - "version": "20231231", - "path": "esy.lock/opam/menhirCST.20231231" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/menhir@opam:20231231@f35eae6a": { - "id": "@opam/menhir@opam:20231231@f35eae6a", - "name": "@opam/menhir", - "version": "opam:20231231", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/79/799748bc3b7a542798a85956c7863865#md5:799748bc3b7a542798a85956c7863865", - "archive:https://gitlab.inria.fr/fpottier/menhir/-/archive/20231231/archive.tar.gz#md5:799748bc3b7a542798a85956c7863865" - ], - "opam": { - "name": "menhir", - "version": "20231231", - "path": "esy.lock/opam/menhir.20231231" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/menhirSdk@opam:20231231@b20b8a51", - "@opam/menhirLib@opam:20231231@14d79986", - "@opam/menhirCST@opam:20231231@0f42b5d1", - "@opam/dune@opam:3.8.3@ff88b4c5", "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/menhirSdk@opam:20231231@b20b8a51", - "@opam/menhirLib@opam:20231231@14d79986", - "@opam/menhirCST@opam:20231231@0f42b5d1", - "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/memtrace@opam:0.2.3@d93db143": { - "id": "@opam/memtrace@opam:0.2.3@d93db143", - "name": "@opam/memtrace", - "version": "opam:0.2.3", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/fa/fa47379e78be5dbb3066cf96962d18a05d1defb4530588c14e5bc0289e0df520#sha256:fa47379e78be5dbb3066cf96962d18a05d1defb4530588c14e5bc0289e0df520", - "archive:https://github.com/janestreet/memtrace/archive/refs/tags/v0.2.3.tar.gz#sha256:fa47379e78be5dbb3066cf96962d18a05d1defb4530588c14e5bc0289e0df520" - ], - "opam": { - "name": "memtrace", - "version": "0.2.3", - "path": "esy.lock/opam/memtrace.0.2.3" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/lwt_react@opam:1.2.0@4253a145": { - "id": "@opam/lwt_react@opam:1.2.0@4253a145", - "name": "@opam/lwt_react", - "version": "opam:1.2.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/e6/e63979ee40a80d5b9e9e5545f33323b4#md5:e63979ee40a80d5b9e9e5545f33323b4", - "archive:https://github.com/ocsigen/lwt/archive/5.6.0.tar.gz#md5:e63979ee40a80d5b9e9e5545f33323b4" - ], - "opam": { - "name": "lwt_react", - "version": "1.2.0", - "path": "esy.lock/opam/lwt_react.1.2.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/react@opam:1.2.2@e0f4480e", - "@opam/lwt@opam:5.7.0@4a33823d", "@opam/dune@opam:3.8.3@ff88b4c5", - "@opam/cppo@opam:1.6.9@db929a12", "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/react@opam:1.2.2@e0f4480e", - "@opam/lwt@opam:5.7.0@4a33823d", "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/lwt_ppx@opam:2.1.0@f0dd3e73": { - "id": "@opam/lwt_ppx@opam:2.1.0@f0dd3e73", - "name": "@opam/lwt_ppx", - "version": "opam:2.1.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/e6/e63979ee40a80d5b9e9e5545f33323b4#md5:e63979ee40a80d5b9e9e5545f33323b4", - "archive:https://github.com/ocsigen/lwt/archive/5.6.0.tar.gz#md5:e63979ee40a80d5b9e9e5545f33323b4" - ], - "opam": { - "name": "lwt_ppx", - "version": "2.1.0", - "path": "esy.lock/opam/lwt_ppx.2.1.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/ppxlib@opam:0.31.0@1212d9eb", - "@opam/lwt@opam:5.7.0@4a33823d", "@opam/dune@opam:3.8.3@ff88b4c5", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/ppxlib@opam:0.31.0@1212d9eb", - "@opam/lwt@opam:5.7.0@4a33823d", "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/lwt@opam:5.7.0@4a33823d": { - "id": "@opam/lwt@opam:5.7.0@4a33823d", - "name": "@opam/lwt", - "version": "opam:5.7.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/73/737039d29d45b2d2b35db6931c8d75c6#md5:737039d29d45b2d2b35db6931c8d75c6", - "archive:https://github.com/ocsigen/lwt/archive/refs/tags/5.7.0.tar.gz#md5:737039d29d45b2d2b35db6931c8d75c6" - ], - "opam": { - "name": "lwt", - "version": "5.7.0", - "path": "esy.lock/opam/lwt.5.7.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/ocplib-endian@opam:1.2@008dc942", - "@opam/dune-configurator@opam:3.13.0@45108d48", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/cppo@opam:1.6.9@db929a12", - "@opam/base-unix@opam:base@87d0b2eb", - "@opam/base-threads@opam:base@36803084", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/ocplib-endian@opam:1.2@008dc942", - "@opam/dune-configurator@opam:3.13.0@45108d48", - "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/logs@opam:0.7.0@46a3dffc": { - "id": "@opam/logs@opam:0.7.0@46a3dffc", - "name": "@opam/logs", - "version": "opam:0.7.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/2b/2bf021ca13331775e33cf34ab60246f7#md5:2bf021ca13331775e33cf34ab60246f7", - "archive:https://erratique.ch/software/logs/releases/logs-0.7.0.tbz#md5:2bf021ca13331775e33cf34ab60246f7" - ], - "opam": { - "name": "logs", - "version": "0.7.0", - "path": "esy.lock/opam/logs.0.7.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/topkg@opam:1.0.7@7ee47d76", - "@opam/ocamlfind@opam:1.9.6@da5169c7", - "@opam/ocamlbuild@opam:0.14.3@65c92d3f", - "@opam/lwt@opam:5.7.0@4a33823d", "@opam/fmt@opam:0.9.0@87213963", - "@opam/cmdliner@opam:1.2.0@b0c6143c", - "@opam/base-threads@opam:base@36803084", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ "ocaml@5.1.4@d41d8cd9" ] - }, - "@opam/lambda-term@opam:3.3.2@0f91853c": { - "id": "@opam/lambda-term@opam:3.3.2@0f91853c", - "name": "@opam/lambda-term", - "version": "opam:3.3.2", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha512/78/78648768644058337e22c79cf1fbb1a36472b24f11b1dc0461fc38419be6ec01b02d8d0ac45fed0bc99f91ba4c0f19d3bda113e834e064bee973b734527b9766#sha512:78648768644058337e22c79cf1fbb1a36472b24f11b1dc0461fc38419be6ec01b02d8d0ac45fed0bc99f91ba4c0f19d3bda113e834e064bee973b734527b9766", - "archive:https://github.com/ocaml-community/lambda-term/archive/refs/tags/3.3.2.tar.gz#sha512:78648768644058337e22c79cf1fbb1a36472b24f11b1dc0461fc38419be6ec01b02d8d0ac45fed0bc99f91ba4c0f19d3bda113e834e064bee973b734527b9766" - ], - "opam": { - "name": "lambda-term", - "version": "3.3.2", - "path": "esy.lock/opam/lambda-term.3.3.2" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/zed@opam:3.2.3@57ab913c", - "@opam/react@opam:1.2.2@e0f4480e", - "@opam/mew_vi@opam:0.5.0@cf66c299", - "@opam/lwt_react@opam:1.2.0@4253a145", - "@opam/lwt@opam:5.7.0@4a33823d", "@opam/logs@opam:0.7.0@46a3dffc", - "@opam/dune@opam:3.8.3@ff88b4c5", "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/zed@opam:3.2.3@57ab913c", - "@opam/react@opam:1.2.2@e0f4480e", - "@opam/mew_vi@opam:0.5.0@cf66c299", - "@opam/lwt_react@opam:1.2.0@4253a145", - "@opam/lwt@opam:5.7.0@4a33823d", "@opam/logs@opam:0.7.0@46a3dffc", - "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/jst-config@opam:v0.16.0@f110c9c9": { - "id": "@opam/jst-config@opam:v0.16.0@f110c9c9", - "name": "@opam/jst-config", - "version": "opam:v0.16.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/fa/faead56d8582868cdc099ad54f9bae059cc48710b724600cc64013e73c14d95b#sha256:faead56d8582868cdc099ad54f9bae059cc48710b724600cc64013e73c14d95b", - "archive:https://ocaml.janestreet.com/ocaml-core/v0.16/files/jst-config-v0.16.0.tar.gz#sha256:faead56d8582868cdc099ad54f9bae059cc48710b724600cc64013e73c14d95b" - ], - "opam": { - "name": "jst-config", - "version": "v0.16.0", - "path": "esy.lock/opam/jst-config.v0.16.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/ppx_assert@opam:v0.16.0@d212d4b7", - "@opam/dune-configurator@opam:3.13.0@45108d48", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/base@opam:v0.16.3@de1ba42e", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/ppx_assert@opam:v0.16.0@d212d4b7", - "@opam/dune-configurator@opam:3.13.0@45108d48", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/base@opam:v0.16.3@de1ba42e" - ] - }, - "@opam/jane-street-headers@opam:v0.16.0@a1e52a6d": { - "id": "@opam/jane-street-headers@opam:v0.16.0@a1e52a6d", - "name": "@opam/jane-street-headers", - "version": "opam:v0.16.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/87/876d409feeb495487b10010fb601c64829d2aa15f1b156b704ec141337d360ea#sha256:876d409feeb495487b10010fb601c64829d2aa15f1b156b704ec141337d360ea", - "archive:https://ocaml.janestreet.com/ocaml-core/v0.16/files/jane-street-headers-v0.16.0.tar.gz#sha256:876d409feeb495487b10010fb601c64829d2aa15f1b156b704ec141337d360ea" - ], - "opam": { - "name": "jane-street-headers", - "version": "v0.16.0", - "path": "esy.lock/opam/jane-street-headers.v0.16.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/fpath@opam:0.7.3@674d8125": { - "id": "@opam/fpath@opam:0.7.3@674d8125", - "name": "@opam/fpath", - "version": "opam:0.7.3", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/07/0740b530e8fed5b0adc5eee8463cfc2f#md5:0740b530e8fed5b0adc5eee8463cfc2f", - "archive:https://erratique.ch/software/fpath/releases/fpath-0.7.3.tbz#md5:0740b530e8fed5b0adc5eee8463cfc2f" - ], - "opam": { - "name": "fpath", - "version": "0.7.3", - "path": "esy.lock/opam/fpath.0.7.3" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/topkg@opam:1.0.7@7ee47d76", - "@opam/ocamlfind@opam:1.9.6@da5169c7", - "@opam/ocamlbuild@opam:0.14.3@65c92d3f", - "@opam/astring@opam:0.8.5@1300cee8", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/astring@opam:0.8.5@1300cee8" - ] - }, - "@opam/fmt@opam:0.9.0@87213963": { - "id": "@opam/fmt@opam:0.9.0@87213963", - "name": "@opam/fmt", - "version": "opam:0.9.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha512/66/66cf4b8bb92232a091dfda5e94d1c178486a358cdc34b1eec516d48ea5acb6209c0dfcb416f0c516c50ddbddb3c94549a45e4a6d5c5fd1c81d3374dec823a83b#sha512:66cf4b8bb92232a091dfda5e94d1c178486a358cdc34b1eec516d48ea5acb6209c0dfcb416f0c516c50ddbddb3c94549a45e4a6d5c5fd1c81d3374dec823a83b", - "archive:https://erratique.ch/software/fmt/releases/fmt-0.9.0.tbz#sha512:66cf4b8bb92232a091dfda5e94d1c178486a358cdc34b1eec516d48ea5acb6209c0dfcb416f0c516c50ddbddb3c94549a45e4a6d5c5fd1c81d3374dec823a83b" - ], - "opam": { - "name": "fmt", - "version": "0.9.0", - "path": "esy.lock/opam/fmt.0.9.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/topkg@opam:1.0.7@7ee47d76", - "@opam/ocamlfind@opam:1.9.6@da5169c7", - "@opam/ocamlbuild@opam:0.14.3@65c92d3f", - "@opam/cmdliner@opam:1.2.0@b0c6143c", - "@opam/base-unix@opam:base@87d0b2eb", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ "ocaml@5.1.4@d41d8cd9" ] - }, - "@opam/flow_parser@github:GillianPlatform/flow:flow_parser.opam#dfa43df0b8776f22e5fb2629a22d69a6d302e241@d41d8cd9": { - "id": "@opam/flow_parser@github:GillianPlatform/flow:flow_parser.opam#dfa43df0b8776f22e5fb2629a22d69a6d302e241@d41d8cd9", - "name": "@opam/flow_parser", - "version": "github:GillianPlatform/flow:flow_parser.opam#dfa43df0b8776f22e5fb2629a22d69a6d302e241", - "source": { - "type": "install", - "source": [ - "github:GillianPlatform/flow:flow_parser.opam#dfa43df0b8776f22e5fb2629a22d69a6d302e241" - ] - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/wtf8@opam:1.0.2@23c2982b", - "@opam/ppx_gen_rec@opam:2.0.0@6dd2f1ca", - "@opam/ppx_deriving@opam:5.2.1@2315fdd0", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/base@opam:v0.16.3@de1ba42e", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/wtf8@opam:1.0.2@23c2982b", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/base@opam:v0.16.3@de1ba42e" - ] - }, - "@opam/fix@opam:20230505@941a65ff": { - "id": "@opam/fix@opam:20230505@941a65ff", - "name": "@opam/fix", - "version": "opam:20230505", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/2a/2a4afa633128c5010677222f7b3c9451#md5:2a4afa633128c5010677222f7b3c9451", - "archive:https://gitlab.inria.fr/fpottier/fix/-/archive/20230505/archive.tar.gz#md5:2a4afa633128c5010677222f7b3c9451" - ], - "opam": { - "name": "fix", - "version": "20230505", - "path": "esy.lock/opam/fix.20230505" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/fileutils@opam:0.6.4@2b69f125": { - "id": "@opam/fileutils@opam:0.6.4@2b69f125", - "name": "@opam/fileutils", - "version": "opam:0.6.4", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/7a/7a7bb6bc6a36b6ebdac2b4e46a9e9b10d366c5a2d4417a5f1d68a1fbba0a445f#sha256:7a7bb6bc6a36b6ebdac2b4e46a9e9b10d366c5a2d4417a5f1d68a1fbba0a445f", - "archive:https://github.com/gildor478/ocaml-fileutils/releases/download/v0.6.4/fileutils-0.6.4.tbz#sha256:7a7bb6bc6a36b6ebdac2b4e46a9e9b10d366c5a2d4417a5f1d68a1fbba0a445f" - ], - "opam": { - "name": "fileutils", - "version": "0.6.4", - "path": "esy.lock/opam/fileutils.0.6.4" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/stdlib-shims@opam:0.3.0@72c7bc98", - "@opam/seq@opam:base@d8d7de1d", "@opam/dune@opam:3.8.3@ff88b4c5", - "@opam/base-unix@opam:base@87d0b2eb", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/stdlib-shims@opam:0.3.0@72c7bc98", - "@opam/seq@opam:base@d8d7de1d", "@opam/dune@opam:3.8.3@ff88b4c5", - "@opam/base-unix@opam:base@87d0b2eb" - ] - }, - "@opam/fiber@opam:3.7.0@d70e2471": { - "id": "@opam/fiber@opam:3.7.0@d70e2471", - "name": "@opam/fiber", - "version": "opam:3.7.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/86/8648a15ae93fe6942999ce36887429a3913b62829c4714e520cc0e7a1c3b9682#sha256:8648a15ae93fe6942999ce36887429a3913b62829c4714e520cc0e7a1c3b9682", - "archive:https://github.com/ocaml-dune/fiber/releases/download/3.7.0/fiber-lwt-3.7.0.tbz#sha256:8648a15ae93fe6942999ce36887429a3913b62829c4714e520cc0e7a1c3b9682" - ], - "opam": { - "name": "fiber", - "version": "3.7.0", - "path": "esy.lock/opam/fiber.3.7.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/stdune@opam:3.13.0@06abcb6e", - "@opam/dyn@opam:3.13.0@ceb0e0c5", "@opam/dune@opam:3.8.3@ff88b4c5", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/stdune@opam:3.13.0@06abcb6e", - "@opam/dyn@opam:3.13.0@ceb0e0c5", "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/feather@opam:0.3.0@4398acf5": { - "id": "@opam/feather@opam:0.3.0@4398acf5", - "name": "@opam/feather", - "version": "opam:0.3.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/b1/b11b6288db11ef09d67d95f6af93015e#md5:b11b6288db11ef09d67d95f6af93015e", - "archive:https://github.com/charlesetc/feather/archive/0.3.0.tar.gz#md5:b11b6288db11ef09d67d95f6af93015e" - ], - "opam": { - "name": "feather", - "version": "0.3.0", - "path": "esy.lock/opam/feather.0.3.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/stdio@opam:v0.16.0@a75c1ca1", - "@opam/spawn@opam:v0.15.1@85e9d6f1", - "@opam/ppx_expect@opam:v0.16.0@75d62292", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/base@opam:v0.16.3@de1ba42e", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/stdio@opam:v0.16.0@a75c1ca1", - "@opam/spawn@opam:v0.15.1@85e9d6f1", - "@opam/ppx_expect@opam:v0.16.0@75d62292", - "@opam/dune@opam:3.8.3@ff88b4c5", "@opam/base@opam:v0.16.3@de1ba42e" - ] - }, - "@opam/either@opam:1.0.0@be5a1416": { - "id": "@opam/either@opam:1.0.0@be5a1416", - "name": "@opam/either", - "version": "opam:1.0.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/bf/bf674de3312dee7b7215f07df1e8a96eb3d679164b8a918cdd95b8d97e505884#sha256:bf674de3312dee7b7215f07df1e8a96eb3d679164b8a918cdd95b8d97e505884", - "archive:https://github.com/mirage/either/releases/download/1.0.0/either-1.0.0.tbz#sha256:bf674de3312dee7b7215f07df1e8a96eb3d679164b8a918cdd95b8d97e505884" - ], - "opam": { - "name": "either", - "version": "1.0.0", - "path": "esy.lock/opam/either.1.0.0" - } - }, - "overrides": [], - "dependencies": [ - "@opam/dune@opam:3.8.3@ff88b4c5", "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ "@opam/dune@opam:3.8.3@ff88b4c5" ] - }, - "@opam/dyn@opam:3.13.0@ceb0e0c5": { - "id": "@opam/dyn@opam:3.13.0@ceb0e0c5", - "name": "@opam/dyn", - "version": "opam:3.13.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/f1/f1801257e01c846bd71017ec5d4b2b75fd31b20a0d5979b933b37cc8453678de#sha256:f1801257e01c846bd71017ec5d4b2b75fd31b20a0d5979b933b37cc8453678de", - "archive:https://github.com/ocaml/dune/releases/download/3.13.0/dune-3.13.0.tbz#sha256:f1801257e01c846bd71017ec5d4b2b75fd31b20a0d5979b933b37cc8453678de" - ], - "opam": { - "name": "dyn", - "version": "3.13.0", - "path": "esy.lock/opam/dyn.3.13.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/pp@opam:1.2.0@16430027", - "@opam/ordering@opam:3.13.0@f28457e8", - "@opam/dune@opam:3.8.3@ff88b4c5", "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/pp@opam:1.2.0@16430027", - "@opam/ordering@opam:3.13.0@f28457e8", - "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/dune-rpc@opam:3.13.0@59050395": { - "id": "@opam/dune-rpc@opam:3.13.0@59050395", - "name": "@opam/dune-rpc", - "version": "opam:3.13.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/f1/f1801257e01c846bd71017ec5d4b2b75fd31b20a0d5979b933b37cc8453678de#sha256:f1801257e01c846bd71017ec5d4b2b75fd31b20a0d5979b933b37cc8453678de", - "archive:https://github.com/ocaml/dune/releases/download/3.13.0/dune-3.13.0.tbz#sha256:f1801257e01c846bd71017ec5d4b2b75fd31b20a0d5979b933b37cc8453678de" - ], - "opam": { - "name": "dune-rpc", - "version": "3.13.0", - "path": "esy.lock/opam/dune-rpc.3.13.0" - } - }, - "overrides": [], - "dependencies": [ - "@opam/xdg@opam:3.13.0@e939b607", - "@opam/stdune@opam:3.13.0@06abcb6e", "@opam/pp@opam:1.2.0@16430027", - "@opam/ordering@opam:3.13.0@f28457e8", - "@opam/dyn@opam:3.13.0@ceb0e0c5", "@opam/dune@opam:3.8.3@ff88b4c5", - "@opam/csexp@opam:1.5.2@46614bf4", "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "@opam/xdg@opam:3.13.0@e939b607", - "@opam/stdune@opam:3.13.0@06abcb6e", "@opam/pp@opam:1.2.0@16430027", - "@opam/ordering@opam:3.13.0@f28457e8", - "@opam/dyn@opam:3.13.0@ceb0e0c5", "@opam/dune@opam:3.8.3@ff88b4c5", - "@opam/csexp@opam:1.5.2@46614bf4" - ] - }, - "@opam/dune-configurator@opam:3.13.0@45108d48": { - "id": "@opam/dune-configurator@opam:3.13.0@45108d48", - "name": "@opam/dune-configurator", - "version": "opam:3.13.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/f1/f1801257e01c846bd71017ec5d4b2b75fd31b20a0d5979b933b37cc8453678de#sha256:f1801257e01c846bd71017ec5d4b2b75fd31b20a0d5979b933b37cc8453678de", - "archive:https://github.com/ocaml/dune/releases/download/3.13.0/dune-3.13.0.tbz#sha256:f1801257e01c846bd71017ec5d4b2b75fd31b20a0d5979b933b37cc8453678de" - ], - "opam": { - "name": "dune-configurator", - "version": "3.13.0", - "path": "esy.lock/opam/dune-configurator.3.13.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5", - "@opam/csexp@opam:1.5.2@46614bf4", - "@opam/base-unix@opam:base@87d0b2eb", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5", - "@opam/csexp@opam:1.5.2@46614bf4", - "@opam/base-unix@opam:base@87d0b2eb" - ] - }, - "@opam/dune-build-info@opam:3.13.0@c12b1e2f": { - "id": "@opam/dune-build-info@opam:3.13.0@c12b1e2f", - "name": "@opam/dune-build-info", - "version": "opam:3.13.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/f1/f1801257e01c846bd71017ec5d4b2b75fd31b20a0d5979b933b37cc8453678de#sha256:f1801257e01c846bd71017ec5d4b2b75fd31b20a0d5979b933b37cc8453678de", - "archive:https://github.com/ocaml/dune/releases/download/3.13.0/dune-3.13.0.tbz#sha256:f1801257e01c846bd71017ec5d4b2b75fd31b20a0d5979b933b37cc8453678de" - ], - "opam": { - "name": "dune-build-info", - "version": "3.13.0", - "path": "esy.lock/opam/dune-build-info.3.13.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/dune@opam:3.8.3@ff88b4c5": { - "id": "@opam/dune@opam:3.8.3@ff88b4c5", - "name": "@opam/dune", - "version": "opam:3.8.3", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/e2/e2b78ba805cef320f0b5978c4d371fde8ab82546d5ae51a0cb451042193b5bf8#sha256:e2b78ba805cef320f0b5978c4d371fde8ab82546d5ae51a0cb451042193b5bf8", - "archive:https://github.com/ocaml/dune/releases/download/3.8.3/dune-3.8.3.tbz#sha256:e2b78ba805cef320f0b5978c4d371fde8ab82546d5ae51a0cb451042193b5bf8" - ], - "opam": { - "name": "dune", - "version": "3.8.3", - "path": "esy.lock/opam/dune.3.8.3" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/base-unix@opam:base@87d0b2eb", - "@opam/base-threads@opam:base@36803084", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/base-unix@opam:base@87d0b2eb", - "@opam/base-threads@opam:base@36803084" - ] - }, - "@opam/dap@opam:1.0.6@5996f56d": { - "id": "@opam/dap@opam:1.0.6@5996f56d", - "name": "@opam/dap", - "version": "opam:1.0.6", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/e0/e0b249a3e7382125402ad15d71f4924eef60cfcec326383a5168d424087200ff#sha256:e0b249a3e7382125402ad15d71f4924eef60cfcec326383a5168d424087200ff", - "archive:https://github.com/hackwaly/ocaml-dap/releases/download/1.0.6/dap-1.0.6.tbz#sha256:e0b249a3e7382125402ad15d71f4924eef60cfcec326383a5168d424087200ff" - ], - "opam": { - "name": "dap", - "version": "1.0.6", - "path": "esy.lock/opam/dap.1.0.6" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/yojson@opam:2.1.2@9fd14300", - "@opam/react@opam:1.2.2@e0f4480e", - "@opam/ppx_here@opam:v0.16.0@e1e190c4", - "@opam/ppx_expect@opam:v0.16.0@75d62292", - "@opam/ppx_deriving_yojson@opam:3.7.0@167442d6", - "@opam/ppx_deriving@opam:5.2.1@2315fdd0", - "@opam/lwt_react@opam:1.2.0@4253a145", - "@opam/lwt_ppx@opam:2.1.0@f0dd3e73", "@opam/lwt@opam:5.7.0@4a33823d", - "@opam/logs@opam:0.7.0@46a3dffc", "@opam/dune@opam:3.8.3@ff88b4c5", - "@opam/angstrom-lwt-unix@opam:0.16.0@798afc9e", - "@opam/angstrom@opam:0.16.0@c1f7fd42", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/yojson@opam:2.1.2@9fd14300", - "@opam/react@opam:1.2.2@e0f4480e", - "@opam/ppx_here@opam:v0.16.0@e1e190c4", - "@opam/ppx_expect@opam:v0.16.0@75d62292", - "@opam/ppx_deriving_yojson@opam:3.7.0@167442d6", - "@opam/ppx_deriving@opam:5.2.1@2315fdd0", - "@opam/lwt_react@opam:1.2.0@4253a145", - "@opam/lwt_ppx@opam:2.1.0@f0dd3e73", "@opam/lwt@opam:5.7.0@4a33823d", - "@opam/logs@opam:0.7.0@46a3dffc", "@opam/dune@opam:3.8.3@ff88b4c5", - "@opam/angstrom-lwt-unix@opam:0.16.0@798afc9e", - "@opam/angstrom@opam:0.16.0@c1f7fd42" - ] - }, - "@opam/csexp@opam:1.5.2@46614bf4": { - "id": "@opam/csexp@opam:1.5.2@46614bf4", - "name": "@opam/csexp", - "version": "opam:1.5.2", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/1a/1a14dd04bb4379a41990248550628c77913a9c07f3c35c1370b6960e697787ff#sha256:1a14dd04bb4379a41990248550628c77913a9c07f3c35c1370b6960e697787ff", - "archive:https://github.com/ocaml-dune/csexp/releases/download/1.5.2/csexp-1.5.2.tbz#sha256:1a14dd04bb4379a41990248550628c77913a9c07f3c35c1370b6960e697787ff" - ], - "opam": { - "name": "csexp", - "version": "1.5.2", - "path": "esy.lock/opam/csexp.1.5.2" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/cppo@opam:1.6.9@db929a12": { - "id": "@opam/cppo@opam:1.6.9@db929a12", - "name": "@opam/cppo", - "version": "opam:1.6.9", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/d2/d23ffe85ac7dc8f0afd1ddf622770d09#md5:d23ffe85ac7dc8f0afd1ddf622770d09", - "archive:https://github.com/ocaml-community/cppo/archive/v1.6.9.tar.gz#md5:d23ffe85ac7dc8f0afd1ddf622770d09" - ], - "opam": { - "name": "cppo", - "version": "1.6.9", - "path": "esy.lock/opam/cppo.1.6.9" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5", - "@opam/base-unix@opam:base@87d0b2eb", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5", - "@opam/base-unix@opam:base@87d0b2eb" - ] - }, - "@opam/conf-sqlite3@archive:https://sqlite.org/2021/sqlite-autoconf-3350500.tar.gz#sha256:f52b72a5c319c3e516ed7a92e123139a6e87af08a2dc43d7757724f6132e6db0@2d70a362": { - "id": "@opam/conf-sqlite3@archive:https://sqlite.org/2021/sqlite-autoconf-3350500.tar.gz#sha256:f52b72a5c319c3e516ed7a92e123139a6e87af08a2dc43d7757724f6132e6db0@2d70a362", - "name": "@opam/conf-sqlite3", - "version": "archive:https://sqlite.org/2021/sqlite-autoconf-3350500.tar.gz#sha256:f52b72a5c319c3e516ed7a92e123139a6e87af08a2dc43d7757724f6132e6db0", - "source": { - "type": "install", - "source": [ - "archive:https://sqlite.org/2021/sqlite-autoconf-3350500.tar.gz#sha256:f52b72a5c319c3e516ed7a92e123139a6e87af08a2dc43d7757724f6132e6db0" - ] - }, - "overrides": [ - "esy.lock/overrides/2d70a36290fb3368cba35c704585ed9f/esy.json" - ], - "dependencies": [], - "devDependencies": [] - }, - "@opam/conf-python-3-7@opam:1.0.0@cb56517c": { - "id": "@opam/conf-python-3-7@opam:1.0.0@cb56517c", - "name": "@opam/conf-python-3-7", - "version": "opam:1.0.0", - "source": { - "type": "install", - "source": [ "no-source:" ], - "opam": { - "name": "conf-python-3-7", - "version": "1.0.0", - "path": "esy.lock/opam/conf-python-3-7.1.0.0" - } - }, - "overrides": [], - "dependencies": [ - "@opam/conf-bash@opam:1@46c43d96", "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [] - }, - "@opam/conf-gmp@opam:4@b93fdf33": { - "id": "@opam/conf-gmp@opam:4@b93fdf33", - "name": "@opam/conf-gmp", - "version": "opam:4", - "source": { - "type": "install", - "source": [ "no-source:" ], - "opam": { - "name": "conf-gmp", - "version": "4", - "path": "esy.lock/opam/conf-gmp.4" - } - }, - "overrides": [ - { - "opamoverride": "esy.lock/overrides/opam__s__conf_gmp_opam__c__4_opam_override" - } - ], - "dependencies": [ - "esy-gmp@archive:https://ftp.gnu.org/gnu/gmp/gmp-6.2.1.tar.xz#sha1:0578d48607ec0e272177d175fd1807c30b00fdf2@b7788c94", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [] - }, - "@opam/conf-bash@opam:1@46c43d96": { - "id": "@opam/conf-bash@opam:1@46c43d96", - "name": "@opam/conf-bash", - "version": "opam:1", - "source": { - "type": "install", - "source": [ "no-source:" ], - "opam": { - "name": "conf-bash", - "version": "1", - "path": "esy.lock/opam/conf-bash.1" - } - }, - "overrides": [], - "dependencies": [ "@esy-ocaml/substs@0.0.1@d41d8cd9" ], - "devDependencies": [] - }, - "@opam/cmitomli@opam:1.0.0@faef7c76": { - "id": "@opam/cmitomli@opam:1.0.0@faef7c76", - "name": "@opam/cmitomli", - "version": "opam:1.0.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/76/76fe691d99987aa02749bf504309ecef#md5:76fe691d99987aa02749bf504309ecef", - "archive:https://github.com/mjambon/cmitomli/archive/v1.0.0.tar.gz#md5:76fe691d99987aa02749bf504309ecef" - ], - "opam": { - "name": "cmitomli", - "version": "1.0.0", - "path": "esy.lock/opam/cmitomli.1.0.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ "ocaml@5.1.4@d41d8cd9" ] - }, - "@opam/cmdliner@opam:1.2.0@b0c6143c": { - "id": "@opam/cmdliner@opam:1.2.0@b0c6143c", - "name": "@opam/cmdliner", - "version": "opam:1.2.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha512/6f/6fcd6a59a6fbc6986b1aecdc3e4ce7a0dc43c65a16b427d6caa5504b10b51384f6b0bc703af646b09f5f1caeb6827b37d4480ce350ca8006204c850785f2810b#sha512:6fcd6a59a6fbc6986b1aecdc3e4ce7a0dc43c65a16b427d6caa5504b10b51384f6b0bc703af646b09f5f1caeb6827b37d4480ce350ca8006204c850785f2810b", - "archive:https://erratique.ch/software/cmdliner/releases/cmdliner-1.2.0.tbz#sha512:6fcd6a59a6fbc6986b1aecdc3e4ce7a0dc43c65a16b427d6caa5504b10b51384f6b0bc703af646b09f5f1caeb6827b37d4480ce350ca8006204c850785f2810b" - ], - "opam": { - "name": "cmdliner", - "version": "1.2.0", - "path": "esy.lock/opam/cmdliner.1.2.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ "ocaml@5.1.4@d41d8cd9" ] - }, - "@opam/chrome-trace@opam:3.13.0@c603e689": { - "id": "@opam/chrome-trace@opam:3.13.0@c603e689", - "name": "@opam/chrome-trace", - "version": "opam:3.13.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/f1/f1801257e01c846bd71017ec5d4b2b75fd31b20a0d5979b933b37cc8453678de#sha256:f1801257e01c846bd71017ec5d4b2b75fd31b20a0d5979b933b37cc8453678de", - "archive:https://github.com/ocaml/dune/releases/download/3.13.0/dune-3.13.0.tbz#sha256:f1801257e01c846bd71017ec5d4b2b75fd31b20a0d5979b933b37cc8453678de" - ], - "opam": { - "name": "chrome-trace", - "version": "3.13.0", - "path": "esy.lock/opam/chrome-trace.3.13.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/camlp-streams@opam:5.0.1@daaa0f94": { - "id": "@opam/camlp-streams@opam:5.0.1@daaa0f94", - "name": "@opam/camlp-streams", - "version": "opam:5.0.1", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/af/afc874b25f7a1f13e8f5cfc1182b51a7#md5:afc874b25f7a1f13e8f5cfc1182b51a7", - "archive:https://github.com/ocaml/camlp-streams/archive/v5.0.1.tar.gz#md5:afc874b25f7a1f13e8f5cfc1182b51a7" - ], - "opam": { - "name": "camlp-streams", - "version": "5.0.1", - "path": "esy.lock/opam/camlp-streams.5.0.1" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/bigstringaf@opam:0.9.1@e6f2e882": { - "id": "@opam/bigstringaf@opam:0.9.1@e6f2e882", - "name": "@opam/bigstringaf", - "version": "opam:0.9.1", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/90/909fdc277cf03096a35b565325d5314a#md5:909fdc277cf03096a35b565325d5314a", - "archive:https://github.com/inhabitedtype/bigstringaf/archive/0.9.1.tar.gz#md5:909fdc277cf03096a35b565325d5314a" - ], - "opam": { - "name": "bigstringaf", - "version": "0.9.1", - "path": "esy.lock/opam/bigstringaf.0.9.1" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", - "@opam/dune-configurator@opam:3.13.0@45108d48", - "@opam/dune@opam:3.8.3@ff88b4c5", "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", - "@opam/dune-configurator@opam:3.13.0@45108d48", - "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/base-unix@opam:base@87d0b2eb": { - "id": "@opam/base-unix@opam:base@87d0b2eb", - "name": "@opam/base-unix", - "version": "opam:base", - "source": { - "type": "install", - "source": [ "no-source:" ], - "opam": { - "name": "base-unix", - "version": "base", - "path": "esy.lock/opam/base-unix.base" - } - }, - "overrides": [], - "dependencies": [ "@esy-ocaml/substs@0.0.1@d41d8cd9" ], - "devDependencies": [] - }, - "@opam/base-threads@opam:base@36803084": { - "id": "@opam/base-threads@opam:base@36803084", - "name": "@opam/base-threads", - "version": "opam:base", - "source": { - "type": "install", - "source": [ "no-source:" ], - "opam": { - "name": "base-threads", - "version": "base", - "path": "esy.lock/opam/base-threads.base" - } - }, - "overrides": [], - "dependencies": [ "@esy-ocaml/substs@0.0.1@d41d8cd9" ], - "devDependencies": [] - }, - "@opam/base-bytes@opam:base@19d0c2ff": { - "id": "@opam/base-bytes@opam:base@19d0c2ff", - "name": "@opam/base-bytes", - "version": "opam:base", - "source": { - "type": "install", - "source": [ "no-source:" ], - "opam": { - "name": "base-bytes", - "version": "base", - "path": "esy.lock/opam/base-bytes.base" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/ocamlfind@opam:1.9.6@da5169c7", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/ocamlfind@opam:1.9.6@da5169c7" - ] - }, - "@opam/base@opam:v0.16.3@de1ba42e": { - "id": "@opam/base@opam:v0.16.3@de1ba42e", - "name": "@opam/base", - "version": "opam:v0.16.3", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/04/04572fc23a4651604cfcab83f720cb4c#md5:04572fc23a4651604cfcab83f720cb4c", - "archive:https://github.com/janestreet/base/archive/refs/tags/v0.16.3.tar.gz#md5:04572fc23a4651604cfcab83f720cb4c" - ], - "opam": { - "name": "base", - "version": "v0.16.3", - "path": "esy.lock/opam/base.v0.16.3" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/sexplib0@opam:v0.16.0@c0ffad0c", - "@opam/dune-configurator@opam:3.13.0@45108d48", - "@opam/dune@opam:3.8.3@ff88b4c5", "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/sexplib0@opam:v0.16.0@c0ffad0c", - "@opam/dune-configurator@opam:3.13.0@45108d48", - "@opam/dune@opam:3.8.3@ff88b4c5" - ] - }, - "@opam/astring@opam:0.8.5@1300cee8": { - "id": "@opam/astring@opam:0.8.5@1300cee8", - "name": "@opam/astring", - "version": "opam:0.8.5", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/e1/e148907c24157d1df43bec89b58b3ec8#md5:e148907c24157d1df43bec89b58b3ec8", - "archive:https://erratique.ch/software/astring/releases/astring-0.8.5.tbz#md5:e148907c24157d1df43bec89b58b3ec8" - ], - "opam": { - "name": "astring", - "version": "0.8.5", - "path": "esy.lock/opam/astring.0.8.5" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/topkg@opam:1.0.7@7ee47d76", - "@opam/ocamlfind@opam:1.9.6@da5169c7", - "@opam/ocamlbuild@opam:0.14.3@65c92d3f", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ "ocaml@5.1.4@d41d8cd9" ] - }, - "@opam/angstrom-lwt-unix@opam:0.16.0@798afc9e": { - "id": "@opam/angstrom-lwt-unix@opam:0.16.0@798afc9e", - "name": "@opam/angstrom-lwt-unix", - "version": "opam:0.16.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/58/58ebc718a920c31ec3eb38f4aa1bea51#md5:58ebc718a920c31ec3eb38f4aa1bea51", - "archive:https://github.com/inhabitedtype/angstrom/archive/0.16.0.tar.gz#md5:58ebc718a920c31ec3eb38f4aa1bea51" - ], - "opam": { - "name": "angstrom-lwt-unix", - "version": "0.16.0", - "path": "esy.lock/opam/angstrom-lwt-unix.0.16.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/lwt@opam:5.7.0@4a33823d", - "@opam/dune@opam:3.8.3@ff88b4c5", - "@opam/base-unix@opam:base@87d0b2eb", - "@opam/angstrom@opam:0.16.0@c1f7fd42", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/lwt@opam:5.7.0@4a33823d", - "@opam/dune@opam:3.8.3@ff88b4c5", - "@opam/base-unix@opam:base@87d0b2eb", - "@opam/angstrom@opam:0.16.0@c1f7fd42" - ] - }, - "@opam/angstrom@opam:0.16.0@c1f7fd42": { - "id": "@opam/angstrom@opam:0.16.0@c1f7fd42", - "name": "@opam/angstrom", - "version": "opam:0.16.0", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/md5/58/58ebc718a920c31ec3eb38f4aa1bea51#md5:58ebc718a920c31ec3eb38f4aa1bea51", - "archive:https://github.com/inhabitedtype/angstrom/archive/0.16.0.tar.gz#md5:58ebc718a920c31ec3eb38f4aa1bea51" - ], - "opam": { - "name": "angstrom", - "version": "0.16.0", - "path": "esy.lock/opam/angstrom.0.16.0" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", - "@opam/ocaml-syntax-shims@opam:1.0.0@9f361fbb", - "@opam/dune@opam:3.8.3@ff88b4c5", - "@opam/bigstringaf@opam:0.9.1@e6f2e882", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/dune@opam:3.8.3@ff88b4c5", - "@opam/bigstringaf@opam:0.9.1@e6f2e882" - ] - }, - "@opam/alcotest@opam:1.0.1@aba26ba2": { - "id": "@opam/alcotest@opam:1.0.1@aba26ba2", - "name": "@opam/alcotest", - "version": "opam:1.0.1", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/0c/0c8748838a89df6dee4850aa7ef5e46c573265a9bf1589dec255bd8156a793f6#sha256:0c8748838a89df6dee4850aa7ef5e46c573265a9bf1589dec255bd8156a793f6", - "archive:https://github.com/mirage/alcotest/releases/download/1.0.1/alcotest-1.0.1.tbz#sha256:0c8748838a89df6dee4850aa7ef5e46c573265a9bf1589dec255bd8156a793f6" - ], - "opam": { - "name": "alcotest", - "version": "1.0.1", - "path": "esy.lock/opam/alcotest.1.0.1" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/uuidm@opam:0.9.8@f287a426", - "@opam/stdlib-shims@opam:0.3.0@72c7bc98", - "@opam/re@opam:1.11.0@87deb463", "@opam/fmt@opam:0.9.0@87213963", - "@opam/dune@opam:3.8.3@ff88b4c5", - "@opam/cmdliner@opam:1.2.0@b0c6143c", - "@opam/astring@opam:0.8.5@1300cee8", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@5.1.4@d41d8cd9", "@opam/uuidm@opam:0.9.8@f287a426", - "@opam/stdlib-shims@opam:0.3.0@72c7bc98", - "@opam/re@opam:1.11.0@87deb463", "@opam/fmt@opam:0.9.0@87213963", - "@opam/dune@opam:3.8.3@ff88b4c5", - "@opam/cmdliner@opam:1.2.0@b0c6143c", - "@opam/astring@opam:0.8.5@1300cee8" - ] - }, - "@esy-ocaml/substs@0.0.1@d41d8cd9": { - "id": "@esy-ocaml/substs@0.0.1@d41d8cd9", - "name": "@esy-ocaml/substs", - "version": "0.0.1", - "source": { - "type": "install", - "source": [ - "archive:https://registry.npmjs.org/@esy-ocaml/substs/-/substs-0.0.1.tgz#sha1:59ebdbbaedcda123fc7ed8fb2b302b7d819e9a46" - ] - }, - "overrides": [], - "dependencies": [], - "devDependencies": [] - }, - "@babel/runtime@7.23.9@d41d8cd9": { - "id": "@babel/runtime@7.23.9@d41d8cd9", - "name": "@babel/runtime", - "version": "7.23.9", - "source": { - "type": "install", - "source": [ - "archive:https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.9.tgz#sha1:47791a15e4603bb5f905bc0753801cf21d6345f7" - ] - }, - "overrides": [], - "dependencies": [ "regenerator-runtime@0.14.1@d41d8cd9" ], - "devDependencies": [] - } - } -} \ No newline at end of file diff --git a/esy.lock/opam/alcotest.1.0.1/opam b/esy.lock/opam/alcotest.1.0.1/opam deleted file mode 100644 index e8eb45286..000000000 --- a/esy.lock/opam/alcotest.1.0.1/opam +++ /dev/null @@ -1,46 +0,0 @@ -opam-version: "2.0" -maintainer: "thomas@gazagnaire.org" -authors: "Thomas Gazagnaire" -homepage: "https://github.com/mirage/alcotest/" -dev-repo: "git+https://github.com/mirage/alcotest.git" -bug-reports: "https://github.com/mirage/alcotest/issues/" -license: "ISC" -doc: "https://mirage.github.io/alcotest/" - -build: [ - ["dune" "subst"] {dev} - ["dune" "build" "-p" name "-j" jobs] -] - -depends: [ - "dune" {>= "1.11"} - "ocaml" {>= "4.03.0"} - "fmt" {>= "0.8.6"} - "astring" - "cmdliner" {>= "1.0.3"} # required because of (implicit_transitive_deps false) and cmdliner < 1.0.3 uses result - "uuidm" - "re" {>= "1.7.2"} - "stdlib-shims" -] - -synopsis: "Alcotest is a lightweight and colourful test framework" - -description: """ -Alcotest exposes simple interface to perform unit tests. It exposes -a simple TESTABLE module type, a check function to assert test -predicates and a run function to perform a list of unit -> unit -test callbacks. - -Alcotest provides a quiet and colorful output where only faulty runs -are fully displayed at the end of the run (with the full logs ready to -inspect), with a simple (yet expressive) query language to select the -tests to run. -""" -url { - src: - "https://github.com/mirage/alcotest/releases/download/1.0.1/alcotest-1.0.1.tbz" - checksum: [ - "sha256=0c8748838a89df6dee4850aa7ef5e46c573265a9bf1589dec255bd8156a793f6" - "sha512=f5f52dea5bb143e7001b8d0ac6131f8851389b080f46b9ad1ccacb95cc31a38143dd7122ccba59bb190abe559dbf81f33cc4dc3401ed95772d59be75fa566f19" - ] -} diff --git a/esy.lock/opam/angstrom-lwt-unix.0.16.0/opam b/esy.lock/opam/angstrom-lwt-unix.0.16.0/opam deleted file mode 100644 index 60fe0aff7..000000000 --- a/esy.lock/opam/angstrom-lwt-unix.0.16.0/opam +++ /dev/null @@ -1,24 +0,0 @@ -opam-version: "2.0" -maintainer: "Spiros Eliopoulos " -authors: [ "Spiros Eliopoulos " ] -license: "BSD-3-clause" -homepage: "https://github.com/inhabitedtype/angstrom" -bug-reports: "https://github.com/inhabitedtype/angstrom/issues" -dev-repo: "git+https://github.com/inhabitedtype/angstrom.git" -build: [ - ["dune" "subst"] {dev} - ["dune" "build" "-p" name "-j" jobs] - ["dune" "runtest" "-p" name "-j" jobs] {with-test} -] -depends: [ - "ocaml" {>= "4.03.0"} - "dune" {>= "1.8"} - "angstrom" - "lwt" - "base-unix" -] -synopsis: "Lwt_unix support for Angstrom" -url { - src: "https://github.com/inhabitedtype/angstrom/archive/0.16.0.tar.gz" - checksum: "md5=58ebc718a920c31ec3eb38f4aa1bea51" -} diff --git a/esy.lock/opam/angstrom.0.16.0/opam b/esy.lock/opam/angstrom.0.16.0/opam deleted file mode 100644 index ed67dd5c9..000000000 --- a/esy.lock/opam/angstrom.0.16.0/opam +++ /dev/null @@ -1,33 +0,0 @@ -opam-version: "2.0" -maintainer: "Spiros Eliopoulos " -authors: [ "Spiros Eliopoulos " ] -license: "BSD-3-clause" -homepage: "https://github.com/inhabitedtype/angstrom" -bug-reports: "https://github.com/inhabitedtype/angstrom/issues" -dev-repo: "git+https://github.com/inhabitedtype/angstrom.git" -build: [ - ["dune" "subst"] {dev} - ["dune" "build" "-p" name "-j" jobs] - ["dune" "runtest" "-p" name "-j" jobs] {with-test} -] -depends: [ - "ocaml" {>= "4.04.0"} - "dune" {>= "1.8"} - "alcotest" {with-test & >= "0.8.1"} - "bigstringaf" - "ppx_let" {with-test & >= "v0.14.0"} - "ocaml-syntax-shims" {build} -] -synopsis: "Parser combinators built for speed and memory-efficiency" -description: """ -Angstrom is a parser-combinator library that makes it easy to write efficient, -expressive, and reusable parsers suitable for high-performance applications. It -exposes monadic and applicative interfaces for composition, and supports -incremental input through buffered and unbuffered interfaces. Both interfaces -give the user total control over the blocking behavior of their application, -with the unbuffered interface enabling zero-copy IO. Parsers are backtracking by -default and support unbounded lookahead.""" -url { - src: "https://github.com/inhabitedtype/angstrom/archive/0.16.0.tar.gz" - checksum: "md5=58ebc718a920c31ec3eb38f4aa1bea51" -} diff --git a/esy.lock/opam/astring.0.8.5/opam b/esy.lock/opam/astring.0.8.5/opam deleted file mode 100644 index 338a06a3e..000000000 --- a/esy.lock/opam/astring.0.8.5/opam +++ /dev/null @@ -1,37 +0,0 @@ -opam-version: "2.0" -maintainer: "Daniel Bünzli " -authors: ["The astring programmers"] -homepage: "https://erratique.ch/software/astring" -doc: "https://erratique.ch/software/astring/doc" -dev-repo: "git+http://erratique.ch/repos/astring.git" -bug-reports: "https://github.com/dbuenzli/astring/issues" -tags: [ "string" "org:erratique" ] -license: "ISC" -depends: [ - "ocaml" {>= "4.05.0"} - "ocamlfind" {build} - "ocamlbuild" {build} - "topkg" {build} ] -build: [[ "ocaml" "pkg/pkg.ml" "build" "--pinned" "%{pinned}%" ]] - -synopsis: """Alternative String module for OCaml""" -description: """\ - -Astring exposes an alternative `String` module for OCaml. This module -tries to balance minimality and expressiveness for basic, index-free, -string processing and provides types and functions for substrings, -string sets and string maps. - -Remaining compatible with the OCaml `String` module is a non-goal. The -`String` module exposed by Astring has exception safe functions, -removes deprecated and rarely used functions, alters some signatures -and names, adds a few missing functions and fully exploits OCaml's -newfound string immutability. - -Astring depends only on the OCaml standard library. It is distributed -under the ISC license. -""" -url { -archive: "https://erratique.ch/software/astring/releases/astring-0.8.5.tbz" -checksum: "e148907c24157d1df43bec89b58b3ec8" -} diff --git a/esy.lock/opam/base-bytes.base/opam b/esy.lock/opam/base-bytes.base/opam deleted file mode 100644 index f1cae506c..000000000 --- a/esy.lock/opam/base-bytes.base/opam +++ /dev/null @@ -1,9 +0,0 @@ -opam-version: "2.0" -maintainer: " " -authors: " " -homepage: " " -depends: [ - "ocaml" {>= "4.02.0"} - "ocamlfind" {>= "1.5.3"} -] -synopsis: "Bytes library distributed with the OCaml compiler" diff --git a/esy.lock/opam/base-threads.base/opam b/esy.lock/opam/base-threads.base/opam deleted file mode 100644 index 914ff50ce..000000000 --- a/esy.lock/opam/base-threads.base/opam +++ /dev/null @@ -1,6 +0,0 @@ -opam-version: "2.0" -maintainer: "https://github.com/ocaml/opam-repository/issues" -description: """ -Threads library distributed with the OCaml compiler -""" - diff --git a/esy.lock/opam/base-unix.base/opam b/esy.lock/opam/base-unix.base/opam deleted file mode 100644 index b973540bc..000000000 --- a/esy.lock/opam/base-unix.base/opam +++ /dev/null @@ -1,6 +0,0 @@ -opam-version: "2.0" -maintainer: "https://github.com/ocaml/opam-repository/issues" -description: """ -Unix library distributed with the OCaml compiler -""" - diff --git a/esy.lock/opam/base.v0.16.3/opam b/esy.lock/opam/base.v0.16.3/opam deleted file mode 100644 index 30f29f5f2..000000000 --- a/esy.lock/opam/base.v0.16.3/opam +++ /dev/null @@ -1,39 +0,0 @@ -opam-version: "2.0" -maintainer: "Jane Street developers" -authors: ["Jane Street Group, LLC"] -homepage: "https://github.com/janestreet/base" -bug-reports: "https://github.com/janestreet/base/issues" -dev-repo: "git+https://github.com/janestreet/base.git" -doc: "https://ocaml.janestreet.com/ocaml-core/latest/doc/base/index.html" -license: "MIT" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" {>= "4.14.0"} - "sexplib0" {>= "v0.16" & < "v0.17"} - "dune" {>= "2.0.0"} - "dune-configurator" -] -synopsis: "Full standard library replacement for OCaml" -description: " -Full standard library replacement for OCaml - -Base is a complete and portable alternative to the OCaml standard -library. It provides all standard functionalities one would expect -from a language standard library. It uses consistent conventions -across all of its module. - -Base aims to be usable in any context. As a result system dependent -features such as I/O are not offered by Base. They are instead -provided by companion libraries such as stdio: - - https://github.com/janestreet/stdio -" -url { - src: "https://github.com/janestreet/base/archive/refs/tags/v0.16.3.tar.gz" - checksum: [ - "md5=04572fc23a4651604cfcab83f720cb4c" - "sha512=69380ed392faf4495459f97f70a10a6959fce71d2e6ba093472fc272141646307fd7872407de855dfa48ef0435f6587eae5aa50f4a67eac40a9e1946d0c3c070" - ] -} diff --git a/esy.lock/opam/bigstringaf.0.9.1/opam b/esy.lock/opam/bigstringaf.0.9.1/opam deleted file mode 100644 index 8ef7b7c8e..000000000 --- a/esy.lock/opam/bigstringaf.0.9.1/opam +++ /dev/null @@ -1,48 +0,0 @@ -opam-version: "2.0" -maintainer: "Spiros Eliopoulos " -authors: [ "Spiros Eliopoulos " ] -license: "BSD-3-clause" -homepage: "https://github.com/inhabitedtype/bigstringaf" -bug-reports: "https://github.com/inhabitedtype/bigstringaf/issues" -dev-repo: "git+https://github.com/inhabitedtype/bigstringaf.git" -build: [ - ["dune" "subst"] {dev} - [ - "dune" - "build" - "-p" - name - "-j" - jobs - "@install" - "@runtest" {with-test} - "@doc" {with-doc} - ] -] -depends: [ - "dune" {>= "3.0"} - "dune-configurator" {>= "3.0"} - "alcotest" {with-test} - "ocaml" {>= "4.08.0"} -] -conflicts: [ - "mirage-xen" {< "6.0.0"} - "ocaml-freestanding" - "js_of_ocaml" {< "3.5.0"} -] -synopsis: "Bigstring intrinsics and fast blits based on memcpy/memmove" -description: """ -Bigstring intrinsics and fast blits based on memcpy/memmove - -The OCaml compiler has a bunch of intrinsics for Bigstrings, but they're not -widely-known, sometimes misused, and so programs that use Bigstrings are slower -than they have to be. And even if a library got that part right and exposed the -intrinsics properly, the compiler doesn't have any fast blits between -Bigstrings and other string-like types. - -So here they are. Go crazy. -""" -url { - src: "https://github.com/inhabitedtype/bigstringaf/archive/0.9.1.tar.gz" - checksum: "md5=909fdc277cf03096a35b565325d5314a" -} diff --git a/esy.lock/opam/camlp-streams.5.0.1/opam b/esy.lock/opam/camlp-streams.5.0.1/opam deleted file mode 100644 index 60e513116..000000000 --- a/esy.lock/opam/camlp-streams.5.0.1/opam +++ /dev/null @@ -1,59 +0,0 @@ -opam-version: "2.0" -synopsis: "The Stream and Genlex libraries for use with Camlp4 and Camlp5" -description: """ - -This package provides two library modules: -- Stream: imperative streams, with in-place update and memoization - of the latest element produced. -- Genlex: a small parameterized lexical analyzer producing streams - of tokens from streams of characters. - -The two modules are designed for use with Camlp4 and Camlp5: -- The stream patterns and stream expressions of Camlp4/Camlp5 consume - and produce data of type 'a Stream.t. -- The Genlex tokenizer can be used as a simple lexical analyzer for - Camlp4/Camlp5-generated parsers. - -The Stream module can also be used by hand-written recursive-descent -parsers, but is not very convenient for this purpose. - -The Stream and Genlex modules have been part of the OCaml standard library -for a long time, and have been distributed as part of the core OCaml system. -They will be removed from the OCaml standard library at some future point, -but will be maintained and distributed separately in this camlpstreams package. -""" -maintainer: [ - "Florian Angeletti " - "Xavier Leroy " -] -authors: ["Daniel de Rauglaudre" "Xavier Leroy"] -license: "LGPL-2.1-only WITH OCaml-LGPL-linking-exception" -homepage: "https://github.com/ocaml/camlp-streams" -bug-reports: "https://github.com/ocaml/camlp-streams/issues" -depends: [ - "dune" {>= "2.7"} - "ocaml" {>= "4.02.3"} - "odoc" {with-doc} -] -build: [ - ["dune" "subst"] {dev} - [ - "dune" - "build" - "-p" - name - "-j" - jobs - "@install" - "@runtest" {with-test} - "@doc" {with-doc} - ] -] -dev-repo: "git+https://github.com/ocaml/camlp-streams.git" -url { - src: "https://github.com/ocaml/camlp-streams/archive/v5.0.1.tar.gz" - checksum: [ - "md5=afc874b25f7a1f13e8f5cfc1182b51a7" - "sha512=2efa8dd4a636217c8d49bac1e4e7e5558fc2f45cfea66514140a59fd99dd08d61fb9f1e17804997ff648b71b13820a5d4a1eb70fed9d848aa2abd6e41f853c86" - ] -} diff --git a/esy.lock/opam/chrome-trace.3.13.0/opam b/esy.lock/opam/chrome-trace.3.13.0/opam deleted file mode 100644 index fc625b2a9..000000000 --- a/esy.lock/opam/chrome-trace.3.13.0/opam +++ /dev/null @@ -1,40 +0,0 @@ -opam-version: "2.0" -synopsis: "Chrome trace event generation library" -description: - "This library offers no backwards compatibility guarantees. Use at your own risk." -maintainer: ["Jane Street Group, LLC "] -authors: ["Jane Street Group, LLC "] -license: "MIT" -homepage: "https://github.com/ocaml/dune" -doc: "https://dune.readthedocs.io/" -bug-reports: "https://github.com/ocaml/dune/issues" -depends: [ - "dune" {>= "3.5"} - "ocaml" {>= "4.08.0"} - "odoc" {with-doc} -] -dev-repo: "git+https://github.com/ocaml/dune.git" -build: [ - ["dune" "subst"] {dev} - ["rm" "-rf" "vendor/csexp"] - ["rm" "-rf" "vendor/pp"] - [ - "dune" - "build" - "-p" - name - "-j" - jobs - "@install" - "@doc" {with-doc} - ] -] -url { - src: - "https://github.com/ocaml/dune/releases/download/3.13.0/dune-3.13.0.tbz" - checksum: [ - "sha256=f1801257e01c846bd71017ec5d4b2b75fd31b20a0d5979b933b37cc8453678de" - "sha512=850667439ecc75b3a94ee99d5894e0fb0cc03378cec9101f960045004b15143a7e245f5ed938dc1226695fd7fedf875ff10528db2a35935fdcbc0d7f0c959847" - ] -} -x-commit-hash: "21f904250f8bc27abbeafadf70682aceb198b1e3" diff --git a/esy.lock/opam/cmdliner.1.2.0/opam b/esy.lock/opam/cmdliner.1.2.0/opam deleted file mode 100644 index b29bd296e..000000000 --- a/esy.lock/opam/cmdliner.1.2.0/opam +++ /dev/null @@ -1,39 +0,0 @@ -opam-version: "2.0" -synopsis: "Declarative definition of command line interfaces for OCaml" -description: """\ -Cmdliner allows the declarative definition of command line interfaces -for OCaml. - -It provides a simple and compositional mechanism to convert command -line arguments to OCaml values and pass them to your functions. The -module automatically handles syntax errors, help messages and UNIX man -page generation. It supports programs with single or multiple commands -and respects most of the [POSIX][1] and [GNU][2] conventions. - -Cmdliner has no dependencies and is distributed under the ISC license. - -[1]: http://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap12.html -[2]: http://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html - -Home page: http://erratique.ch/software/cmdliner""" -maintainer: "Daniel Bünzli " -authors: "The cmdliner programmers" -license: "ISC" -tags: ["cli" "system" "declarative" "org:erratique"] -homepage: "https://erratique.ch/software/cmdliner" -doc: "https://erratique.ch/software/cmdliner/doc" -bug-reports: "https://github.com/dbuenzli/cmdliner/issues" -depends: [ - "ocaml" {>= "4.08.0"} -] -build: [make "all" "PREFIX=%{prefix}%"] -install: [ - [make "install" "LIBDIR=%{_:lib}%" "DOCDIR=%{_:doc}%"] - [make "install-doc" "LIBDIR=%{_:lib}%" "DOCDIR=%{_:doc}%"] -] -dev-repo: "git+https://erratique.ch/repos/cmdliner.git" -url { - src: "https://erratique.ch/software/cmdliner/releases/cmdliner-1.2.0.tbz" - checksum: - "sha512=6fcd6a59a6fbc6986b1aecdc3e4ce7a0dc43c65a16b427d6caa5504b10b51384f6b0bc703af646b09f5f1caeb6827b37d4480ce350ca8006204c850785f2810b" -} \ No newline at end of file diff --git a/esy.lock/opam/cmitomli.1.0.0/opam b/esy.lock/opam/cmitomli.1.0.0/opam deleted file mode 100644 index df3dbc2dc..000000000 --- a/esy.lock/opam/cmitomli.1.0.0/opam +++ /dev/null @@ -1,23 +0,0 @@ -opam-version: "2.0" -maintainer: "martin@mjambon.com" -homepage: "https://github.com/mjambon/cmitomli" -build: make -remove: [ - [make "uninstall" "BINDIR=%{bin}%"] -] -dev-repo: "git+https://github.com/mjambon/cmitomli" -install: [make "install" "BINDIR=%{bin}%"] -synopsis: - "Converts compiled interface files (.cmi) into source interface files (.mli)" -description: """ -cmitomli is useful when a complex implementation (.ml) already exists -and one wants to create an explicit module interface for it (.mli). -The effect is similar to running 'ocamlc -i' on an ml file but it -doesn't require any other argument than the input cmi file.""" -depends: [ - "ocaml" {>= "4.00.0"} -] -url { - src: "https://github.com/mjambon/cmitomli/archive/v1.0.0.tar.gz" - checksum: "md5=76fe691d99987aa02749bf504309ecef" -} diff --git a/esy.lock/opam/conf-bash.1/opam b/esy.lock/opam/conf-bash.1/opam deleted file mode 100644 index c4276720a..000000000 --- a/esy.lock/opam/conf-bash.1/opam +++ /dev/null @@ -1,14 +0,0 @@ -opam-version: "2.0" -maintainer: "code@bnwr.net" -homepage: "https://www.gnu.org/software/bash/" -bug-reports: "https://github.com/ocaml/opam-repository/issues" -license: "GPL-3.0-or-later" -build: ["bash" "--version"] -depexts: [ - ["bash"] {os-family = "bsd"} - ["bash"] {os-distribution = "alpine"} -] -synopsis: "Virtual package to install the Bash shell" -description: "This package will install a system bash" -authors: "code@bnwr.net" -flags: conf diff --git a/esy.lock/opam/conf-gmp.4/files/test.c b/esy.lock/opam/conf-gmp.4/files/test.c deleted file mode 100644 index da9c0b59a..000000000 --- a/esy.lock/opam/conf-gmp.4/files/test.c +++ /dev/null @@ -1,10 +0,0 @@ -#include -#ifndef __GMP_H__ -#error "No GMP header" -#endif - -void test(void) { - mpz_t n; - mpz_init(n); - mpz_clear(n); -} diff --git a/esy.lock/opam/conf-gmp.4/opam b/esy.lock/opam/conf-gmp.4/opam deleted file mode 100644 index 9066ffdd9..000000000 --- a/esy.lock/opam/conf-gmp.4/opam +++ /dev/null @@ -1,39 +0,0 @@ -opam-version: "2.0" -maintainer: "nbraud" -homepage: "http://gmplib.org/" -bug-reports: "https://github.com/ocaml/opam-repository/issues" -license: "GPL-1.0-or-later" -build: [ - ["sh" "-exc" "cc -c $CFLAGS -I/usr/local/include test.c"] {os != "macos" & os != "win32"} - [ - "sh" - "-exc" - "$(ocamlc -config-var c_compiler) -c $CFLAGS -I/usr/local/include test.c" - ] {os = "win32" & os-distribution = "cygwinports"} - [ - "sh" - "-exc" - "cc -c $CFLAGS -I/opt/homebrew/include -I/opt/local/include -I/usr/local/include test.c" - ] {os = "macos"} -] -depexts: [ - ["libgmp-dev"] {os-family = "debian"} - ["libgmp-dev"] {os-family = "ubuntu"} - ["gmp"] {os = "macos" & os-distribution = "homebrew"} - ["gmp"] {os-distribution = "macports" & os = "macos"} - ["gmp" "gmp-devel"] {os-distribution = "centos"} - ["gmp" "gmp-devel"] {os-distribution = "fedora" | os-family = "fedora"} - ["gmp" "gmp-devel"] {os-distribution = "ol"} - ["gmp"] {os = "openbsd"} - ["gmp"] {os = "freebsd"} - ["gmp-dev"] {os-distribution = "alpine"} - ["gmp-devel"] {os-family = "suse" | os-family = "opensuse"} - ["gmp"] {os = "win32" & os-distribution = "cygwinports"} - ["gmp"] {os-distribution = "nixos"} -] -synopsis: "Virtual package relying on a GMP lib system installation" -description: - "This package can only install if the GMP lib is installed on the system." -authors: "nbraud" -extra-files: ["test.c" "md5=2fd2970c293c36222a6d299ec155823f"] -flags: conf diff --git a/esy.lock/opam/conf-python-3-7.1.0.0/files/configure.sh b/esy.lock/opam/conf-python-3-7.1.0.0/files/configure.sh deleted file mode 100644 index fce943a88..000000000 --- a/esy.lock/opam/conf-python-3-7.1.0.0/files/configure.sh +++ /dev/null @@ -1,8 +0,0 @@ -for version in 3.11 3.10 3.9 3.8 3.7; do - python_exe="python$version" - if "$python_exe" test.py; then - echo "python3: \"$python_exe\"" >> conf-python-3-7.config - exit 0 - fi -done -exit 1 diff --git a/esy.lock/opam/conf-python-3-7.1.0.0/files/test.py b/esy.lock/opam/conf-python-3-7.1.0.0/files/test.py deleted file mode 100644 index a45974e2a..000000000 --- a/esy.lock/opam/conf-python-3-7.1.0.0/files/test.py +++ /dev/null @@ -1,2 +0,0 @@ -import sys -assert(sys.hexversion >= 0x03070000) diff --git a/esy.lock/opam/conf-python-3-7.1.0.0/opam b/esy.lock/opam/conf-python-3-7.1.0.0/opam deleted file mode 100644 index f53ca2858..000000000 --- a/esy.lock/opam/conf-python-3-7.1.0.0/opam +++ /dev/null @@ -1,44 +0,0 @@ -opam-version: "2.0" -maintainer: "thierry.martinez@inria.fr" -homepage: "https://www.python.org/download/releases/3.7" -authors: "Python Software Foundation" -license: "PSF-2.0" -bug-reports: "https://github.com/ocaml/opam-repository/issues" -build: ["bash" "-ex" "configure.sh"] -depends: [ - "conf-bash" {build} -] -depexts: [ - ["python3.7"] - {os-distribution = "ubuntu" & os-version < "20.04"} - ["python3"] {os-family = "debian" - & !(os-distribution = "ubuntu" & os-version < "20.04")} - ["python3"] {os-distribution = "nixos"} - ["python3"] {os-distribution = "alpine"} - ["python37" "epel-release"] {os-distribution = "centos"} - ["python3"] {os-distribution = "fedora"} - ["python38"] {os-distribution = "ol"} # No python37 package - ["python"] {os-distribution = "arch"} - ["python3"] {os-family = "suse" | os-family = "opensuse"} - ["dev-lang/python:3.7"] {os-distribution = "gentoo"} - ["python3"] {os = "openbsd"} - ["lang/python37"] {os = "netbsd"} - ["lang/python37"] {os = "freebsd"} - ["python37"] {os-distribution = "macports" & os = "macos"} - ["python@3"] {os-distribution = "homebrew" & os = "macos"} - ["system:python3"] {os-distribution = "cygwinports"} -] -x-ci-accept-failures: [ - "opensuse-15.3" # python >=3.7 not packaged -] -synopsis: "Virtual package relying on Python >=3.7 installation" -description: """ -This package can only install if a Python interpreter >=3.7 is available -on the system. -If a minor version needs to be specified for your operating system, then -python-3.7 will be used. -""" -extra-files: [ - ["test.py" "sha512=a9d993b9380d636fc2aff8af6bae1078ad14a2af4e510b7c437d5f1e01cd125b7f12e15fb8f0e0c4536d2f7d6aa0d36aafdf2f9da828ac7686df6dc782fa1a23"] - ["configure.sh" "sha512=119e7ab0f6763705b4b06ff6ac1e9724687ea824709ce1bc6a3752cc1f262a6c050c92bbc0f10fe78c9b6a07705cb29422a0063433ff38c00cba8fb58af3ec0b"]] -flags: conf diff --git a/esy.lock/opam/cppo.1.6.9/opam b/esy.lock/opam/cppo.1.6.9/opam deleted file mode 100644 index 9c51ec6d8..000000000 --- a/esy.lock/opam/cppo.1.6.9/opam +++ /dev/null @@ -1,39 +0,0 @@ -opam-version: "2.0" -synopsis: "Code preprocessor like cpp for OCaml" -description: """\ -Cppo is an equivalent of the C preprocessor for OCaml programs. -It allows the definition of simple macros and file inclusion. - -Cppo is: - -* more OCaml-friendly than cpp -* easy to learn without consulting a manual -* reasonably fast -* simple to install and to maintain""" -maintainer: [ - "Martin Jambon " "Yishuai Li " -] -authors: "Martin Jambon" -license: "BSD-3-Clause" -homepage: "https://github.com/ocaml-community/cppo" -doc: "https://ocaml-community.github.io/cppo" -bug-reports: "https://github.com/ocaml-community/cppo/issues" -depends: [ - "ocaml" {>= "4.02.3"} - "dune" {>= "1.10"} - "base-unix" -] -build: [ - ["dune" "subst"] {dev} - ["dune" "build" "-p" name "-j" jobs] - ["dune" "runtest" "-p" name "-j" jobs] {with-test} - ["dune" "build" "-p" name "@doc"] {with-doc} -] -dev-repo: "git+https://github.com/ocaml-community/cppo.git" -url { - src: "https://github.com/ocaml-community/cppo/archive/v1.6.9.tar.gz" - checksum: [ - "md5=d23ffe85ac7dc8f0afd1ddf622770d09" - "sha512=26ff5a7b7f38c460661974b23ca190f0feae3a99f1974e0fd12ccf08745bd7d91b7bc168c70a5385b837bfff9530e0e4e41cf269f23dd8cf16ca658008244b44" - ] -} \ No newline at end of file diff --git a/esy.lock/opam/csexp.1.5.2/opam b/esy.lock/opam/csexp.1.5.2/opam deleted file mode 100644 index 7d511ab80..000000000 --- a/esy.lock/opam/csexp.1.5.2/opam +++ /dev/null @@ -1,58 +0,0 @@ -opam-version: "2.0" -synopsis: "Parsing and printing of S-expressions in Canonical form" -description: """ - -This library provides minimal support for Canonical S-expressions -[1]. Canonical S-expressions are a binary encoding of S-expressions -that is super simple and well suited for communication between -programs. - -This library only provides a few helpers for simple applications. If -you need more advanced support, such as parsing from more fancy input -sources, you should consider copying the code of this library given -how simple parsing S-expressions in canonical form is. - -To avoid a dependency on a particular S-expression library, the only -module of this library is parameterised by the type of S-expressions. - -[1] https://en.wikipedia.org/wiki/Canonical_S-expressions -""" -maintainer: ["Jeremie Dimino "] -authors: [ - "Quentin Hocquet " - "Jane Street Group, LLC " - "Jeremie Dimino " -] -license: "MIT" -homepage: "https://github.com/ocaml-dune/csexp" -doc: "https://ocaml-dune.github.io/csexp/" -bug-reports: "https://github.com/ocaml-dune/csexp/issues" -depends: [ - "dune" {>= "3.4"} - "ocaml" {>= "4.03.0"} - "odoc" {with-doc} -] -dev-repo: "git+https://github.com/ocaml-dune/csexp.git" -build: [ - ["dune" "subst"] {dev} - [ - "dune" - "build" - "-p" - name - "-j" - jobs - "@install" -# "@runtest" {with-test & ocaml:version >= "4.04"} - "@doc" {with-doc} - ] -] -url { - src: - "https://github.com/ocaml-dune/csexp/releases/download/1.5.2/csexp-1.5.2.tbz" - checksum: [ - "sha256=1a14dd04bb4379a41990248550628c77913a9c07f3c35c1370b6960e697787ff" - "sha512=be281018bcfc20d4db14894ef51c4b836d6338d2fdfe22e63d46f405f8dea7349e16f1c0ecd65f73d4c85a2a80e618cdbb8c9dafcbb9f229f04f1adca5b1973c" - ] -} -x-commit-hash: "e6c4768e10c61bcb04d09748744dad55602149c6" diff --git a/esy.lock/opam/dap.1.0.6/opam b/esy.lock/opam/dap.1.0.6/opam deleted file mode 100644 index 53abdab79..000000000 --- a/esy.lock/opam/dap.1.0.6/opam +++ /dev/null @@ -1,44 +0,0 @@ -opam-version: "2.0" -synopsis: "Debug adapter protocol" -description: """ -The Debug Adapter Protocol defines the protocol used between an editor or IDE and a debugger or runtime. -""" -maintainer: "文宇祥 " -authors: "文宇祥 " -license: "MIT" -homepage: "https://github.com/hackwaly/ocaml-dap" -bug-reports: "https://github.com/hackwaly/ocaml-dap/issues" -dev-repo: "git+https://github.com/hackwaly/ocaml-dap.git" -doc: "https://hackwaly.github.io/ocaml-dap/" -depends: [ - "ocaml" {>= "4.08"} - "dune" {>= "2.7"} - "yojson" - "ppx_here" - "ppx_deriving" - "ppx_deriving_yojson" - "ppx_expect" - "lwt" - "lwt_ppx" {>= "2.0.1"} - "lwt_react" - "react" - "angstrom" - "angstrom-lwt-unix" - "logs" -] -conflicts: [ - "result" {< "1.5"} -] -build: [ - ["dune" "subst"] {dev} - ["dune" "build" "-p" name "-j" jobs] -] -x-commit-hash: "34cd793c049c7fb7bd7f78f80e1f36291aa60e70" -url { - src: - "https://github.com/hackwaly/ocaml-dap/releases/download/1.0.6/dap-1.0.6.tbz" - checksum: [ - "sha256=e0b249a3e7382125402ad15d71f4924eef60cfcec326383a5168d424087200ff" - "sha512=97805a383ad03ba24f1dabe20798c139678f958dfa2aed1664098f444aaeefd56d6dd7ff3650800eaefe5b17e09098427b78500316699e7267eb1fef233d6a99" - ] -} diff --git a/esy.lock/opam/dune-build-info.3.13.0/opam b/esy.lock/opam/dune-build-info.3.13.0/opam deleted file mode 100644 index 1d4c2ce64..000000000 --- a/esy.lock/opam/dune-build-info.3.13.0/opam +++ /dev/null @@ -1,46 +0,0 @@ -opam-version: "2.0" -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 -was built or the list of statically linked libraries with their -versions. It supports reporting the version from the version control -system during development to get an precise reference of when the -executable was built. -""" -maintainer: ["Jane Street Group, LLC "] -authors: ["Jane Street Group, LLC "] -license: "MIT" -homepage: "https://github.com/ocaml/dune" -doc: "https://dune.readthedocs.io/" -bug-reports: "https://github.com/ocaml/dune/issues" -depends: [ - "dune" {>= "3.5"} - "ocaml" {>= "4.08"} - "odoc" {with-doc} -] -dev-repo: "git+https://github.com/ocaml/dune.git" -build: [ - ["dune" "subst"] {dev} - ["rm" "-rf" "vendor/csexp"] - ["rm" "-rf" "vendor/pp"] - [ - "dune" - "build" - "-p" - name - "-j" - jobs - "@install" - "@doc" {with-doc} - ] -] -url { - src: - "https://github.com/ocaml/dune/releases/download/3.13.0/dune-3.13.0.tbz" - checksum: [ - "sha256=f1801257e01c846bd71017ec5d4b2b75fd31b20a0d5979b933b37cc8453678de" - "sha512=850667439ecc75b3a94ee99d5894e0fb0cc03378cec9101f960045004b15143a7e245f5ed938dc1226695fd7fedf875ff10528db2a35935fdcbc0d7f0c959847" - ] -} -x-commit-hash: "21f904250f8bc27abbeafadf70682aceb198b1e3" diff --git a/esy.lock/opam/dune-configurator.3.13.0/opam b/esy.lock/opam/dune-configurator.3.13.0/opam deleted file mode 100644 index f63cfacfa..000000000 --- a/esy.lock/opam/dune-configurator.3.13.0/opam +++ /dev/null @@ -1,50 +0,0 @@ -opam-version: "2.0" -synopsis: "Helper library for gathering system configuration" -description: """ -dune-configurator is a small library that helps writing OCaml scripts that -test features available on the system, in order to generate config.h -files for instance. -Among other things, dune-configurator allows one to: -- test if a C program compiles -- query pkg-config -- import #define from OCaml header files -- generate config.h file -""" -maintainer: ["Jane Street Group, LLC "] -authors: ["Jane Street Group, LLC "] -license: "MIT" -homepage: "https://github.com/ocaml/dune" -doc: "https://dune.readthedocs.io/" -bug-reports: "https://github.com/ocaml/dune/issues" -depends: [ - "dune" {>= "3.5"} - "ocaml" {>= "4.04.0"} - "base-unix" - "csexp" {>= "1.5.0"} - "odoc" {with-doc} -] -dev-repo: "git+https://github.com/ocaml/dune.git" -build: [ - ["dune" "subst"] {dev} - ["rm" "-rf" "vendor/csexp"] - ["rm" "-rf" "vendor/pp"] - [ - "dune" - "build" - "-p" - name - "-j" - jobs - "@install" - "@doc" {with-doc} - ] -] -url { - src: - "https://github.com/ocaml/dune/releases/download/3.13.0/dune-3.13.0.tbz" - checksum: [ - "sha256=f1801257e01c846bd71017ec5d4b2b75fd31b20a0d5979b933b37cc8453678de" - "sha512=850667439ecc75b3a94ee99d5894e0fb0cc03378cec9101f960045004b15143a7e245f5ed938dc1226695fd7fedf875ff10528db2a35935fdcbc0d7f0c959847" - ] -} -x-commit-hash: "21f904250f8bc27abbeafadf70682aceb198b1e3" diff --git a/esy.lock/opam/dune-rpc.3.13.0/opam b/esy.lock/opam/dune-rpc.3.13.0/opam deleted file mode 100644 index a5665c920..000000000 --- a/esy.lock/opam/dune-rpc.3.13.0/opam +++ /dev/null @@ -1,44 +0,0 @@ -opam-version: "2.0" -synopsis: "Communicate with dune using rpc" -description: "Library to connect and control a running dune instance" -maintainer: ["Jane Street Group, LLC "] -authors: ["Jane Street Group, LLC "] -license: "MIT" -homepage: "https://github.com/ocaml/dune" -doc: "https://dune.readthedocs.io/" -bug-reports: "https://github.com/ocaml/dune/issues" -depends: [ - "dune" {>= "3.5"} - "csexp" - "ordering" - "dyn" - "xdg" - "stdune" {= version} - "pp" {>= "1.1.0"} - "odoc" {with-doc} -] -dev-repo: "git+https://github.com/ocaml/dune.git" -build: [ - ["dune" "subst"] {dev} - ["rm" "-rf" "vendor/csexp"] - ["rm" "-rf" "vendor/pp"] - [ - "dune" - "build" - "-p" - name - "-j" - jobs - "@install" - "@doc" {with-doc} - ] -] -url { - src: - "https://github.com/ocaml/dune/releases/download/3.13.0/dune-3.13.0.tbz" - checksum: [ - "sha256=f1801257e01c846bd71017ec5d4b2b75fd31b20a0d5979b933b37cc8453678de" - "sha512=850667439ecc75b3a94ee99d5894e0fb0cc03378cec9101f960045004b15143a7e245f5ed938dc1226695fd7fedf875ff10528db2a35935fdcbc0d7f0c959847" - ] -} -x-commit-hash: "21f904250f8bc27abbeafadf70682aceb198b1e3" diff --git a/esy.lock/opam/dune.3.8.3/opam b/esy.lock/opam/dune.3.8.3/opam deleted file mode 100644 index f299ad8eb..000000000 --- a/esy.lock/opam/dune.3.8.3/opam +++ /dev/null @@ -1,56 +0,0 @@ -opam-version: "2.0" -synopsis: "Fast, portable, and opinionated build system" -description: """ - -dune is a build system that was designed to simplify the release of -Jane Street packages. It reads metadata from "dune" files following a -very simple s-expression syntax. - -dune is fast, has very low-overhead, and supports parallel builds on -all platforms. It has no system dependencies; all you need to build -dune or packages using dune is OCaml. You don't need make or bash -as long as the packages themselves don't use bash explicitly. - -dune supports multi-package development by simply dropping multiple -repositories into the same directory. - -It also supports multi-context builds, such as building against -several opam roots/switches simultaneously. This helps maintaining -packages across several versions of OCaml and gives cross-compilation -for free. -""" -maintainer: ["Jane Street Group, LLC "] -authors: ["Jane Street Group, LLC "] -license: "MIT" -homepage: "https://github.com/ocaml/dune" -doc: "https://dune.readthedocs.io/" -bug-reports: "https://github.com/ocaml/dune/issues" -conflicts: [ - "merlin" {< "3.4.0"} - "ocaml-lsp-server" {< "1.3.0"} - "dune-configurator" {< "2.3.0"} - "odoc" {< "2.0.1"} - "dune-release" {< "1.3.0"} - "js_of_ocaml-compiler" {< "3.6.0"} - "jbuilder" {= "transition"} -] -dev-repo: "git+https://github.com/ocaml/dune.git" -build: [ - ["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, - # dune-project and min_ocaml_version in bootstrap.ml - ("ocaml" {>= "4.08"} | ("ocaml" {>= "4.02" & < "4.08~~"} & "ocamlfind-secondary")) - "base-unix" - "base-threads" -] -url { - src: "https://github.com/ocaml/dune/releases/download/3.8.3/dune-3.8.3.tbz" - checksum: [ - "sha256=e2b78ba805cef320f0b5978c4d371fde8ab82546d5ae51a0cb451042193b5bf8" - "sha512=25cc6addcd10cd483f49d924028c886b529a815ad2f354a277c9fe27efaa2139eea465565bae1f52a3a6832b082f46761efacd692cc88b33aa585250feccaf2c" - ] -} -x-commit-hash: "d325c40666a9d8ba93c15cad1615f19fd56ad208" diff --git a/esy.lock/opam/dyn.3.13.0/opam b/esy.lock/opam/dyn.3.13.0/opam deleted file mode 100644 index 88bbda87a..000000000 --- a/esy.lock/opam/dyn.3.13.0/opam +++ /dev/null @@ -1,41 +0,0 @@ -opam-version: "2.0" -synopsis: "Dynamic type" -description: "Dynamic type" -maintainer: ["Jane Street Group, LLC "] -authors: ["Jane Street Group, LLC "] -license: "MIT" -homepage: "https://github.com/ocaml/dune" -doc: "https://dune.readthedocs.io/" -bug-reports: "https://github.com/ocaml/dune/issues" -depends: [ - "dune" {>= "3.5"} - "ocaml" {>= "4.08.0"} - "ordering" {= version} - "pp" {>= "1.1.0"} - "odoc" {with-doc} -] -dev-repo: "git+https://github.com/ocaml/dune.git" -build: [ - ["dune" "subst"] {dev} - ["rm" "-rf" "vendor/csexp"] - ["rm" "-rf" "vendor/pp"] - [ - "dune" - "build" - "-p" - name - "-j" - jobs - "@install" - "@doc" {with-doc} - ] -] -url { - src: - "https://github.com/ocaml/dune/releases/download/3.13.0/dune-3.13.0.tbz" - checksum: [ - "sha256=f1801257e01c846bd71017ec5d4b2b75fd31b20a0d5979b933b37cc8453678de" - "sha512=850667439ecc75b3a94ee99d5894e0fb0cc03378cec9101f960045004b15143a7e245f5ed938dc1226695fd7fedf875ff10528db2a35935fdcbc0d7f0c959847" - ] -} -x-commit-hash: "21f904250f8bc27abbeafadf70682aceb198b1e3" diff --git a/esy.lock/opam/either.1.0.0/opam b/esy.lock/opam/either.1.0.0/opam deleted file mode 100644 index 651c06e44..000000000 --- a/esy.lock/opam/either.1.0.0/opam +++ /dev/null @@ -1,40 +0,0 @@ -opam-version: "2.0" -synopsis: "Compatibility Either module" -description: """ -Projects that want to use the Either module defined in OCaml 4.12.0 while -staying compatible with older versions of OCaml should use this library -instead. -""" -maintainer: ["Craig Ferguson "] -authors: ["Craig Ferguson "] -license: "MIT" -homepage: "https://github.com/mirage/either" -doc: "https://mirage.github.io/either" -bug-reports: "https://github.com/mirage/either/issues" -depends: [ - "dune" {>= "2.0"} -] -build: [ - ["dune" "subst"] {dev} - [ - "dune" - "build" - "-p" - name - "-j" - jobs - "@install" - "@runtest" {with-test} - "@doc" {with-doc} - ] -] -dev-repo: "git+https://github.com/mirage/either.git" -x-commit-hash: "a270ceac58e3e5bed6fe7e8bfb7132b14ee9c322" -url { - src: - "https://github.com/mirage/either/releases/download/1.0.0/either-1.0.0.tbz" - checksum: [ - "sha256=bf674de3312dee7b7215f07df1e8a96eb3d679164b8a918cdd95b8d97e505884" - "sha512=147854c09f897dd028b18a9f19acea8666107aaa7b1aab3c92f568af531364f57298edcaf3897d74246d3857d52e9bfb7ad0fc39220d988d9f14694ca1d5e9ed" - ] -} diff --git a/esy.lock/opam/feather.0.3.0/opam b/esy.lock/opam/feather.0.3.0/opam deleted file mode 100644 index c591cc702..000000000 --- a/esy.lock/opam/feather.0.3.0/opam +++ /dev/null @@ -1,38 +0,0 @@ -opam-version: "2.0" -synopsis: "A minimal shell interface" -maintainer: ["charles@nrwhl.xyz"] -authors: ["Charles Chamberlain"] -license: "MIT" -homepage: "https://github.com/charlesetc/feather" -doc: "https://www.charlesetc.com/feather/feather/Feather/index.html" -bug-reports: "https://github.com/charlesetc/feather/issues" -depends: [ - "ocaml" {>= "4.08"} - "dune" {>= "2.7"} - "base" {>= "v0.14.0"} - "ppx_expect" {>= "v0.14.0"} - "stdio" {>= "v0.14.0"} - "spawn" {>= "v0.13.0"} - "odoc" {with-doc} -] -dev-repo: "git+https://github.com/charlesetc/feather.git" -build: [ - ["dune" "subst"] {dev} - [ - "dune" - "build" - "-p" - name - "-j" - jobs - "@install" - "@doc" {with-doc} - ] -] -url { - src: "https://github.com/charlesetc/feather/archive/0.3.0.tar.gz" - checksum: [ - "md5=b11b6288db11ef09d67d95f6af93015e" - "sha512=d3f2c03bbd12fa2aefa109a2860c7ef133ab861990b6b72a67e6a2cdee05db2b2c5344a1398e3436eaa68c62c16b7a7414b5d7443c51643ad183bf82b3f1a4ec" - ] -} diff --git a/esy.lock/opam/fiber.3.7.0/opam b/esy.lock/opam/fiber.3.7.0/opam deleted file mode 100644 index 6a402766c..000000000 --- a/esy.lock/opam/fiber.3.7.0/opam +++ /dev/null @@ -1,39 +0,0 @@ -opam-version: "2.0" -synopsis: "Dune's monadic structured concurrency library" -maintainer: ["Jane Street Group, LLC "] -authors: ["Jane Street Group, LLC "] -license: "MIT" -homepage: "https://github.com/ocaml-dune/fiber" -bug-reports: "https://github.com/ocaml-dune/fiber/issues" -depends: [ - "dune" {>= "3.6"} - "ocaml" {>= "4.08"} - "ppx_expect" {with-test} - "dyn" - "stdune" - "odoc" {with-doc} -] -build: [ - ["dune" "subst"] {dev} - [ - "dune" - "build" - "-p" - name - "-j" - jobs - "@install" - "@runtest" {with-test & ocaml:version >= "4.13"} - "@doc" {with-doc} - ] -] -dev-repo: "git+https://github.com/ocaml-dune/fiber.git" -url { - src: - "https://github.com/ocaml-dune/fiber/releases/download/3.7.0/fiber-lwt-3.7.0.tbz" - checksum: [ - "sha256=8648a15ae93fe6942999ce36887429a3913b62829c4714e520cc0e7a1c3b9682" - "sha512=348b28b28ffd87de035e90753f677658e8ad58421caf3ac086e4c0bbab8508fa5fe2f55d137c425afaf790ebcf45291e16d70eac5cb766b6d9786f042b58b19b" - ] -} -x-commit-hash: "dd66893a530759da26b66bd1c8939fd77f369afb" diff --git a/esy.lock/opam/fileutils.0.6.4/opam b/esy.lock/opam/fileutils.0.6.4/opam deleted file mode 100644 index f6e072353..000000000 --- a/esy.lock/opam/fileutils.0.6.4/opam +++ /dev/null @@ -1,48 +0,0 @@ -opam-version: "2.0" -maintainer: "Sylvain Le Gall " -authors: [ "Sylvain Le Gall" ] -homepage: "https://github.com/gildor478/ocaml-fileutils" -license: "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception" -dev-repo: "git+https://github.com/gildor478/ocaml-fileutils.git" -bug-reports: "https://github.com/gildor478/ocaml-fileutils/issues" -doc: "https://gildor478.github.io/ocaml-fileutils/" - -build: [ - ["dune" "build" "-p" name "-j" jobs] - ["dune" "runtest" "-p" name "-j" jobs] {with-test} - ["dune" "build" "@doc" "-p" name "-j" jobs] {with-doc} -] -depends: [ - "ocaml" {>= "4.03"} - "base-unix" - "stdlib-shims" - "seq" - "dune" {>= "1.11.0"} - "ounit2" {with-test & >= "2.0.0"} -] -synopsis: "API to manipulate files (POSIX like) and filenames" -description: """ -This library provides an API to perform POSIX like operations on files like: - -- mv -- cp -- rm -- mkdir -- touch -- which... - -It also provides a module to manipulate abstract filenames: - -- classification -- make_relative: made a filename relative to another -- make_absolute -""" -url { - src: - "https://github.com/gildor478/ocaml-fileutils/releases/download/v0.6.4/fileutils-0.6.4.tbz" - checksum: [ - "sha256=7a7bb6bc6a36b6ebdac2b4e46a9e9b10d366c5a2d4417a5f1d68a1fbba0a445f" - "sha512=7053f8d92655d5631f1ec61ab7f9e3f6e3afedbe435038858dd9a026b9c769c6182afaa436491a398e7c4513b384a609e016718e030855996b2d9d54b461bd19" - ] -} -x-commit-hash: "324a05938d88c4b645287adbf5ceb74f4ce0daec" diff --git a/esy.lock/opam/fix.20230505/opam b/esy.lock/opam/fix.20230505/opam deleted file mode 100644 index 6278f49e6..000000000 --- a/esy.lock/opam/fix.20230505/opam +++ /dev/null @@ -1,26 +0,0 @@ - -opam-version: "2.0" -maintainer: "francois.pottier@inria.fr" -authors: [ - "François Pottier " -] -homepage: "https://gitlab.inria.fr/fpottier/fix" -dev-repo: "git+https://gitlab.inria.fr/fpottier/fix.git" -bug-reports: "francois.pottier@inria.fr" -license: "LGPL-2.0-only" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" { >= "4.03" } - "dune" { >= "1.3" } -] -synopsis: "Algorithmic building blocks for memoization, recursion, and more" -url { - src: - "https://gitlab.inria.fr/fpottier/fix/-/archive/20230505/archive.tar.gz" - checksum: [ - "md5=2a4afa633128c5010677222f7b3c9451" - "sha512=30d446ba6c19aef78b52d9831eb26f8f6ac10e88bd1eff36d16fbbfb32278b2637e31e63a160aec4abbbfdb1e7612ed25d68c936f4cbf2073e51d713ff3a8adf" - ] -} diff --git a/esy.lock/opam/fmt.0.9.0/opam b/esy.lock/opam/fmt.0.9.0/opam deleted file mode 100644 index 6424cf8a1..000000000 --- a/esy.lock/opam/fmt.0.9.0/opam +++ /dev/null @@ -1,36 +0,0 @@ -opam-version: "2.0" -synopsis: """OCaml Format pretty-printer combinators""" -maintainer: ["Daniel Bünzli "] -authors: ["The fmt programmers"] -homepage: "https://erratique.ch/software/fmt" -doc: "https://erratique.ch/software/fmt/doc/" -dev-repo: "git+https://erratique.ch/repos/fmt.git" -bug-reports: "https://github.com/dbuenzli/fmt/issues" -license: ["ISC"] -tags: ["string" "format" "pretty-print" "org:erratique"] -depends: ["ocaml" {>= "4.08.0"} - "ocamlfind" {build} - "ocamlbuild" {build} - "topkg" {build & >= "1.0.3"}] -depopts: ["base-unix" - "cmdliner"] -conflicts: ["cmdliner" {< "0.9.8"}] -build: [["ocaml" "pkg/pkg.ml" "build" "--dev-pkg" "%{dev}%" - "--with-base-unix" "%{base-unix:installed}%" - "--with-cmdliner" "%{cmdliner:installed}%"]] -url { - src: "https://erratique.ch/software/fmt/releases/fmt-0.9.0.tbz" - checksum: "sha512=66cf4b8bb92232a091dfda5e94d1c178486a358cdc34b1eec516d48ea5acb6209c0dfcb416f0c516c50ddbddb3c94549a45e4a6d5c5fd1c81d3374dec823a83b"} -description: """ -Fmt exposes combinators to devise `Format` pretty-printing functions. - -Fmt depends only on the OCaml standard library. The optional `Fmt_tty` -library that allows to setup formatters for terminal color output -depends on the Unix library. The optional `Fmt_cli` library that -provides command line support for Fmt depends on [`Cmdliner`][cmdliner]. - -Fmt is distributed under the ISC license. - -[cmdliner]: http://erratique.ch/software/cmdliner - -Home page: http://erratique.ch/software/fmt""" \ No newline at end of file diff --git a/esy.lock/opam/fpath.0.7.3/opam b/esy.lock/opam/fpath.0.7.3/opam deleted file mode 100644 index ae3336e42..000000000 --- a/esy.lock/opam/fpath.0.7.3/opam +++ /dev/null @@ -1,36 +0,0 @@ -opam-version: "2.0" -maintainer: "Daniel Bünzli " -authors: ["The fpath programmers"] -homepage: "https://erratique.ch/software/fpath" -doc: "https://erratique.ch/software/fpath/doc" -dev-repo: "git+https://erratique.ch/repos/fpath.git" -bug-reports: "https://github.com/dbuenzli/fpath/issues" -tags: [ "file" "system" "path" "org:erratique" ] -license: "ISC" -depends: [ - "ocaml" {>= "4.03.0"} - "ocamlfind" {build} - "ocamlbuild" {build} - "topkg" {build & >= "0.9.0"} - "astring" -] -build: [[ - "ocaml" "pkg/pkg.ml" "build" - "--dev-pkg=true" {dev} ]] - -synopsis: """File system paths for OCaml""" -description: """\ - -Fpath is an OCaml module for handling file system paths with POSIX or -Windows conventions. Fpath processes paths without accessing the file -system and is independent from any system library. - -Fpath depends on [Astring][astring] and is distributed under the ISC -license. - -[astring]: http://erratique.ch/software/astring -""" -url { -archive: "https://erratique.ch/software/fpath/releases/fpath-0.7.3.tbz" -checksum: "0740b530e8fed5b0adc5eee8463cfc2f" -} diff --git a/esy.lock/opam/jane-street-headers.v0.16.0/opam b/esy.lock/opam/jane-street-headers.v0.16.0/opam deleted file mode 100644 index a30869322..000000000 --- a/esy.lock/opam/jane-street-headers.v0.16.0/opam +++ /dev/null @@ -1,23 +0,0 @@ -opam-version: "2.0" -maintainer: "Jane Street developers" -authors: ["Jane Street Group, LLC"] -homepage: "https://github.com/janestreet/jane-street-headers" -bug-reports: "https://github.com/janestreet/jane-street-headers/issues" -dev-repo: "git+https://github.com/janestreet/jane-street-headers.git" -doc: "https://ocaml.janestreet.com/ocaml-core/latest/doc/jane-street-headers/index.html" -license: "MIT" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" {>= "4.14.0"} - "dune" {>= "2.0.0"} -] -synopsis: "Jane Street C header files" -description: " -C header files shared between the various Jane Street packages -" -url { -src: "https://ocaml.janestreet.com/ocaml-core/v0.16/files/jane-street-headers-v0.16.0.tar.gz" -checksum: "sha256=876d409feeb495487b10010fb601c64829d2aa15f1b156b704ec141337d360ea" -} diff --git a/esy.lock/opam/jst-config.v0.16.0/opam b/esy.lock/opam/jst-config.v0.16.0/opam deleted file mode 100644 index 7b03a8b3e..000000000 --- a/esy.lock/opam/jst-config.v0.16.0/opam +++ /dev/null @@ -1,31 +0,0 @@ -opam-version: "2.0" -maintainer: "Jane Street developers" -authors: ["Jane Street Group, LLC"] -homepage: "https://github.com/janestreet/jst-config" -bug-reports: "https://github.com/janestreet/jst-config/issues" -dev-repo: "git+https://github.com/janestreet/jst-config.git" -doc: "https://ocaml.janestreet.com/ocaml-core/latest/doc/jst-config/index.html" -license: "MIT" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" {>= "4.14.0"} - "base" {>= "v0.16" & < "v0.17"} - "ppx_assert" {>= "v0.16" & < "v0.17"} - "dune" {>= "2.0.0"} - "dune-configurator" -] -synopsis: "Compile-time configuration for Jane Street libraries" -description: " -Defines compile-time constants used in Jane Street libraries such as Base, Core, and -Async. - -This package has an unstable interface; it is intended only to share configuration between -different packages from Jane Street. Future updates may not be backward-compatible, and we -do not recommend using this package directly. -" -url { -src: "https://ocaml.janestreet.com/ocaml-core/v0.16/files/jst-config-v0.16.0.tar.gz" -checksum: "sha256=faead56d8582868cdc099ad54f9bae059cc48710b724600cc64013e73c14d95b" -} diff --git a/esy.lock/opam/lambda-term.3.3.2/opam b/esy.lock/opam/lambda-term.3.3.2/opam deleted file mode 100644 index 66fc69572..000000000 --- a/esy.lock/opam/lambda-term.3.3.2/opam +++ /dev/null @@ -1,49 +0,0 @@ -opam-version: "2.0" -synopsis: "Terminal manipulation library for OCaml" -description: """ -Lambda-term is a cross-platform library for manipulating the terminal. It -provides an abstraction for keys, mouse events, colors, as well as a set of -widgets to write curses-like applications. The main objective of lambda-term is -to provide a higher level functional interface to terminal manipulation than, -for example, ncurses, by providing a native OCaml interface instead of bindings -to a C library. Lambda-term integrates with zed to provide text edition -facilities in console applications.""" -maintainer: ["ZAN DoYe "] -authors: ["Jérémie Dimino"] -license: "BSD-3-Clause" -homepage: "https://github.com/ocaml-community/lambda-term" -bug-reports: "https://github.com/ocaml-community/lambda-term/issues" -depends: [ - "dune" {>= "3.0"} - "ocaml" {>= "4.08.0"} - "logs" - "lwt" {>= "4.2.0"} - "lwt_react" - "mew_vi" {>= "0.5.0" & < "0.6.0"} - "react" - "zed" {>= "3.2.0" & < "4.0"} - "odoc" {with-doc} -] -build: [ - ["dune" "subst"] {dev} - [ - "dune" - "build" - "-p" - name - "-j" - jobs - "@install" - "@runtest" {with-test} - "@doc" {with-doc} - ] -] -dev-repo: "git+https://github.com/ocaml-community/lambda-term.git" -url { - src: - "https://github.com/ocaml-community/lambda-term/archive/refs/tags/3.3.2.tar.gz" - checksum: [ - "sha512=78648768644058337e22c79cf1fbb1a36472b24f11b1dc0461fc38419be6ec01b02d8d0ac45fed0bc99f91ba4c0f19d3bda113e834e064bee973b734527b9766" - ] -} -x-commit-hash: "cade31f3c56f1e52fa6d297ddb78f37d09062761" diff --git a/esy.lock/opam/logs.0.7.0/opam b/esy.lock/opam/logs.0.7.0/opam deleted file mode 100644 index c803bafdb..000000000 --- a/esy.lock/opam/logs.0.7.0/opam +++ /dev/null @@ -1,66 +0,0 @@ -opam-version: "2.0" -maintainer: "Daniel Bünzli " -authors: ["The logs programmers"] -homepage: "https://erratique.ch/software/logs" -doc: "https://erratique.ch/software/logs/doc" -dev-repo: "git+https://erratique.ch/repos/logs.git" -bug-reports: "https://github.com/dbuenzli/logs/issues" -tags: [ "log" "system" "org:erratique" ] -license: "ISC" -depends: [ - "ocaml" {>= "4.03.0"} - "ocamlfind" {build} - "ocamlbuild" {build} - "topkg" {build} - "mtime" {with-test} ] -depopts: [ - "js_of_ocaml" - "fmt" - "cmdliner" - "lwt" - "base-threads" -] -conflicts: [ - "cmdliner" {< "0.9.8"} - "js_of_ocaml" { < "3.3.0" } -] - -build: [[ - "ocaml" "pkg/pkg.ml" "build" - "--pinned" "%{pinned}%" - "--with-js_of_ocaml" "%{js_of_ocaml:installed}%" - "--with-fmt" "%{fmt:installed}%" - "--with-cmdliner" "%{cmdliner:installed}%" - "--with-lwt" "%{lwt:installed}%" - "--with-base-threads" "%{base-threads:installed}%" -]] - -synopsis: """Logging infrastructure for OCaml""" -description: """\ - -Logs provides a logging infrastructure for OCaml. Logging is performed -on sources whose reporting level can be set independently. Log message -report is decoupled from logging and is handled by a reporter. - -A few optional log reporters are distributed with the base library and -the API easily allows to implement your own. - -`Logs` has no dependencies. The optional `Logs_fmt` reporter on OCaml -formatters depends on [Fmt][fmt]. The optional `Logs_browser` -reporter that reports to the web browser console depends on -[js_of_ocaml][jsoo]. The optional `Logs_cli` library that provides -command line support for controlling Logs depends on -[`Cmdliner`][cmdliner]. The optional `Logs_lwt` library that provides -Lwt logging functions depends on [`Lwt`][lwt] - -Logs and its reporters are distributed under the ISC license. - -[fmt]: http://erratique.ch/software/fmt -[jsoo]: http://ocsigen.org/js_of_ocaml/ -[cmdliner]: http://erratique.ch/software/cmdliner -[lwt]: http://ocsigen.org/lwt/ -""" -url { -archive: "https://erratique.ch/software/logs/releases/logs-0.7.0.tbz" -checksum: "2bf021ca13331775e33cf34ab60246f7" -} diff --git a/esy.lock/opam/lwt.5.7.0/opam b/esy.lock/opam/lwt.5.7.0/opam deleted file mode 100644 index 8366437df..000000000 --- a/esy.lock/opam/lwt.5.7.0/opam +++ /dev/null @@ -1,57 +0,0 @@ -opam-version: "2.0" - -synopsis: "Promises and event-driven I/O" -license: "MIT" -homepage: "https://github.com/ocsigen/lwt" -doc: "https://ocsigen.org/lwt" -bug-reports: "https://github.com/ocsigen/lwt/issues" - -authors: [ - "Jérôme Vouillon" - "Jérémie Dimino" -] -maintainer: [ - "Raphaël Proust " - "Anton Bachin " -] -dev-repo: "git+https://github.com/ocsigen/lwt.git" - -depends: [ - "cppo" {build & >= "1.1.0"} - "dune" {>= "1.8.0"} - "dune-configurator" - "ocaml" {>= "4.08"} - "ocplib-endian" - - # Until https://github.com/aantron/bisect_ppx/pull/327. - # "bisect_ppx" {dev & >= "2.0.0"} - "ocamlfind" {dev & >= "1.7.3-1"} -] - -depopts: [ - "base-threads" - "base-unix" - "conf-libev" -] - -build: [ - ["dune" "exec" "-p" name "src/unix/config/discover.exe" "--" "--save" - "--use-libev" "%{conf-libev:installed}%"] - ["dune" "build" "-p" name "-j" jobs] -] - -description: "A promise is a value that may become determined in the future. - -Lwt provides typed, composable promises. Promises that are resolved by I/O are -resolved by Lwt in parallel. - -Meanwhile, OCaml code, including code creating and waiting on promises, runs in -a single thread by default. This reduces the need for locks or other -synchronization primitives. Code can be run in parallel on an opt-in basis." -url { - src: "https://github.com/ocsigen/lwt/archive/refs/tags/5.7.0.tar.gz" - checksum: [ - "md5=737039d29d45b2d2b35db6931c8d75c6" - "sha512=42e629920783428673b99c9d7a639237c9e6b35079b5d907bc67e7ea506acf9edadc48cec580bdcfd2410ed9412bf5e6bcc8b09de2fa7d35ce1490973d05ddd1" - ] -} diff --git a/esy.lock/opam/lwt_ppx.2.1.0/opam b/esy.lock/opam/lwt_ppx.2.1.0/opam deleted file mode 100644 index d620b1ba2..000000000 --- a/esy.lock/opam/lwt_ppx.2.1.0/opam +++ /dev/null @@ -1,33 +0,0 @@ -opam-version: "2.0" - -synopsis: "PPX syntax for Lwt, providing something similar to async/await from JavaScript" -license: "MIT" -homepage: "https://github.com/ocsigen/lwt" -doc: "https://ocsigen.org/lwt/dev/api/Ppx_lwt" -bug-reports: "https://github.com/ocsigen/lwt/issues" - -authors: [ - "Gabriel Radanne" -] -maintainer: [ - "Anton Bachin " -] -dev-repo: "git+https://github.com/ocsigen/lwt.git" - -depends: [ - "dune" {>= "1.8.0"} - "lwt" - "ocaml" {>= "4.08"} - "ppxlib" {>= "0.16.0"} -] - -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -url { - src: "https://github.com/ocsigen/lwt/archive/5.6.0.tar.gz" - checksum: [ - "md5=e63979ee40a80d5b9e9e5545f33323b4" - "sha512=d616389bc9e0da11f25843ab7541ac2d40c9543700a89455f14115b339bbe58cef2b8acf0ae97fd54e15a4cb93149cfe1ebfda301aa93933045f76b7d9344160" - ] -} diff --git a/esy.lock/opam/lwt_react.1.2.0/opam b/esy.lock/opam/lwt_react.1.2.0/opam deleted file mode 100644 index b3435cb1b..000000000 --- a/esy.lock/opam/lwt_react.1.2.0/opam +++ /dev/null @@ -1,34 +0,0 @@ -opam-version: "2.0" - -synopsis: "Helpers for using React with Lwt" -license: "MIT" -homepage: "https://github.com/ocsigen/lwt" -doc: "https://ocsigen.org/lwt/dev/api/Lwt_react" -bug-reports: "https://github.com/ocsigen/lwt/issues" - -authors: [ - "Jérémie Dimino" -] -maintainer: [ - "Anton Bachin " -] -dev-repo: "git+https://github.com/ocsigen/lwt.git" - -depends: [ - "dune" {>= "1.8.0"} - "lwt" {>= "3.0.0"} - "ocaml" {>= "4.08"} - "react" {>= "1.0.0"} - "cppo" {build & >= "1.1.0"} -] - -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -url { - src: "https://github.com/ocsigen/lwt/archive/5.6.0.tar.gz" - checksum: [ - "md5=e63979ee40a80d5b9e9e5545f33323b4" - "sha512=d616389bc9e0da11f25843ab7541ac2d40c9543700a89455f14115b339bbe58cef2b8acf0ae97fd54e15a4cb93149cfe1ebfda301aa93933045f76b7d9344160" - ] -} diff --git a/esy.lock/opam/memtrace.0.2.3/opam b/esy.lock/opam/memtrace.0.2.3/opam deleted file mode 100644 index 327625e58..000000000 --- a/esy.lock/opam/memtrace.0.2.3/opam +++ /dev/null @@ -1,35 +0,0 @@ -opam-version: "2.0" -synopsis: "Streaming client for Memprof" -description: "Generates compact traces of a program's memory use." -maintainer: ["opensource@janestreet.com"] -authors: ["Jane Street Group, LLC "] -license: "MIT" -homepage: "https://github.com/janestreet/memtrace" -bug-reports: "https://github.com/janestreet/memtrace/issues" -depends: [ - "dune" {>= "2.3"} - "ocaml" {>= "4.11.0"} -] -build: [ - ["dune" "subst"] {dev} - [ - "dune" - "build" - "-p" - name - "-j" - jobs - "@install" - "@runtest" {with-test & ocaml:version < "5"} - "@doc" {with-doc} - ] -] -post-messages: [ - "Tracing the current process is not supported on multicore ocaml, so uses of Gc.Memprof will fail. The library is still useful for reading and writing trace files even when Gc.Memprof is not working." - {base-domains:installed} -] -dev-repo: "git+https://github.com/janestreet/memtrace.git" -url { -src: "https://github.com/janestreet/memtrace/archive/refs/tags/v0.2.3.tar.gz" -checksum: "sha256=fa47379e78be5dbb3066cf96962d18a05d1defb4530588c14e5bc0289e0df520" -} diff --git a/esy.lock/opam/menhir.20231231/opam b/esy.lock/opam/menhir.20231231/opam deleted file mode 100644 index adf52bf18..000000000 --- a/esy.lock/opam/menhir.20231231/opam +++ /dev/null @@ -1,30 +0,0 @@ - -opam-version: "2.0" -maintainer: "francois.pottier@inria.fr" -authors: [ - "François Pottier " - "Yann Régis-Gianas " -] -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: "GPL-2.0-only" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" {>= "4.03.0"} - "dune" {>= "2.8.0"} - "menhirLib" {= version} - "menhirSdk" {= version} - "menhirCST" {= version} -] -synopsis: "An LR(1) parser generator" -url { - src: - "https://gitlab.inria.fr/fpottier/menhir/-/archive/20231231/archive.tar.gz" - checksum: [ - "md5=799748bc3b7a542798a85956c7863865" - "sha512=620ff3443143535e03ac98c5e8ee2ddf9ba48f8cfe441302118def1da3e03ffac7f48d4d4cb129766b625ecad0fb341da1baa0169dee8b6d07a5b0bbb735cf2f" - ] -} diff --git a/esy.lock/opam/menhirCST.20231231/opam b/esy.lock/opam/menhirCST.20231231/opam deleted file mode 100644 index 9a49a8590..000000000 --- a/esy.lock/opam/menhirCST.20231231/opam +++ /dev/null @@ -1,29 +0,0 @@ - -opam-version: "2.0" -maintainer: "francois.pottier@inria.fr" -authors: [ - "François Pottier " -] -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" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" { >= "4.08" } - "dune" { >= "2.8.0" } -] -conflicts: [ - "menhir" { != version } -] -synopsis: "Runtime support library for parsers generated by Menhir" -url { - src: - "https://gitlab.inria.fr/fpottier/menhir/-/archive/20231231/archive.tar.gz" - checksum: [ - "md5=799748bc3b7a542798a85956c7863865" - "sha512=620ff3443143535e03ac98c5e8ee2ddf9ba48f8cfe441302118def1da3e03ffac7f48d4d4cb129766b625ecad0fb341da1baa0169dee8b6d07a5b0bbb735cf2f" - ] -} diff --git a/esy.lock/opam/menhirLib.20231231/opam b/esy.lock/opam/menhirLib.20231231/opam deleted file mode 100644 index 1f321b184..000000000 --- a/esy.lock/opam/menhirLib.20231231/opam +++ /dev/null @@ -1,30 +0,0 @@ - -opam-version: "2.0" -maintainer: "francois.pottier@inria.fr" -authors: [ - "François Pottier " - "Yann Régis-Gianas " -] -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" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" { >= "4.03.0" } - "dune" { >= "2.8.0" } -] -conflicts: [ - "menhir" { != version } -] -synopsis: "Runtime support library for parsers generated by Menhir" -url { - src: - "https://gitlab.inria.fr/fpottier/menhir/-/archive/20231231/archive.tar.gz" - checksum: [ - "md5=799748bc3b7a542798a85956c7863865" - "sha512=620ff3443143535e03ac98c5e8ee2ddf9ba48f8cfe441302118def1da3e03ffac7f48d4d4cb129766b625ecad0fb341da1baa0169dee8b6d07a5b0bbb735cf2f" - ] -} diff --git a/esy.lock/opam/menhirSdk.20231231/opam b/esy.lock/opam/menhirSdk.20231231/opam deleted file mode 100644 index 0e2649fcc..000000000 --- a/esy.lock/opam/menhirSdk.20231231/opam +++ /dev/null @@ -1,30 +0,0 @@ - -opam-version: "2.0" -maintainer: "francois.pottier@inria.fr" -authors: [ - "François Pottier " - "Yann Régis-Gianas " -] -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" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" { >= "4.03.0" } - "dune" { >= "2.8.0" } -] -conflicts: [ - "menhir" { != version } -] -synopsis: "Compile-time library for auxiliary tools related to Menhir" -url { - src: - "https://gitlab.inria.fr/fpottier/menhir/-/archive/20231231/archive.tar.gz" - checksum: [ - "md5=799748bc3b7a542798a85956c7863865" - "sha512=620ff3443143535e03ac98c5e8ee2ddf9ba48f8cfe441302118def1da3e03ffac7f48d4d4cb129766b625ecad0fb341da1baa0169dee8b6d07a5b0bbb735cf2f" - ] -} diff --git a/esy.lock/opam/merlin-lib.4.13-501/opam b/esy.lock/opam/merlin-lib.4.13-501/opam deleted file mode 100644 index 88d51b25d..000000000 --- a/esy.lock/opam/merlin-lib.4.13-501/opam +++ /dev/null @@ -1,34 +0,0 @@ -opam-version: "2.0" -maintainer: "defree@gmail.com" -authors: "The Merlin team" -homepage: "https://github.com/ocaml/merlin" -bug-reports: "https://github.com/ocaml/merlin/issues" -dev-repo: "git+https://github.com/ocaml/merlin.git" -license: "MIT" -build: [ - ["dune" "subst"] {dev} - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" {>= "5.1" & < "5.1.1"} - "dune" {>= "2.9.0"} - "csexp" {>= "1.5.1"} - "menhir" {dev & >= "20201216"} - "menhirLib" {dev & >= "20201216"} - "menhirSdk" {dev & >= "20201216"} -] -synopsis: - "Merlin's libraries" -description: - "These libraries provides access to low-level compiler interfaces and the - standard higher-level merlin protocol. The library is provided as-is, is not - thoroughly documented, and its public API might break with any new release." -url { - src: - "https://github.com/ocaml/merlin/releases/download/v4.13-501/merlin-4.13-501.tbz" - checksum: [ - "sha256=1bf56b23ea81563db0c6e076a84f4fd4cef722f0e6aa64eb045000ea6a7e3511" - "sha512=63eb316e9c0ee120cea2826a84a3e21e8a128e2e3c36d537faaf844c23bccaeae4ae9085d653e9be91794e6b955df34658e64cc94fe1c2a3d193248637b8bcec" - ] -} -x-commit-hash: "db7ea8ba0cc980a143de5971aa44940b1b1b89e3" diff --git a/esy.lock/opam/mew.0.1.0/opam b/esy.lock/opam/mew.0.1.0/opam deleted file mode 100644 index 20aee1ea9..000000000 --- a/esy.lock/opam/mew.0.1.0/opam +++ /dev/null @@ -1,25 +0,0 @@ -opam-version: "2.0" -maintainer: "zandoye@gmail.com" -authors: [ "ZAN DoYe" ] -homepage: "https://github.com/kandu/mew" -bug-reports: "https://github.com/kandu/mew/issues" -license: "MIT" -dev-repo: "git+https://github.com/kandu/mew.git" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" {>= "4.02.3"} - "result" - "trie" {>= "1.0.0"} - "dune" {>= "1.1.0"} -] - -synopsis: "Modal editing witch" -description: """ -This is the core module of mew, a general modal editing engine generator.""" - -url { - src: "https://github.com/kandu/mew/archive/0.1.0.tar.gz" - checksum: "md5=2298149d1415cd804ab4e01f01ea10a0" -} diff --git a/esy.lock/opam/mew_vi.0.5.0/opam b/esy.lock/opam/mew_vi.0.5.0/opam deleted file mode 100644 index 033b9fd71..000000000 --- a/esy.lock/opam/mew_vi.0.5.0/opam +++ /dev/null @@ -1,25 +0,0 @@ -opam-version: "2.0" -maintainer: "zandoye@gmail.com" -authors: [ "ZAN DoYe" ] -homepage: "https://github.com/kandu/mew_vi" -bug-reports: "https://github.com/kandu/mew_vi/issues" -license: "MIT" -dev-repo: "git+https://github.com/kandu/mew_vi.git" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" {>= "4.02.3"} - "mew" {>= "0.1.0" & < "0.2"} - "react" - "dune" {>= "1.1.0"} -] - -synopsis: "Modal editing witch, VI interpreter" -description: """ -A vi-like modal editing engine generator.""" - -url { - src: "https://github.com/kandu/mew_vi/archive/0.5.0.tar.gz" - checksum: "md5=341e9a9a20383641015bf503952906bc" -} diff --git a/esy.lock/opam/ocaml-compiler-libs.v0.12.4/opam b/esy.lock/opam/ocaml-compiler-libs.v0.12.4/opam deleted file mode 100644 index a2df8c615..000000000 --- a/esy.lock/opam/ocaml-compiler-libs.v0.12.4/opam +++ /dev/null @@ -1,39 +0,0 @@ -opam-version: "2.0" -synopsis: "OCaml compiler libraries repackaged" -description: """ -This packages exposes the OCaml compiler libraries repackages under -the toplevel names Ocaml_common, Ocaml_bytecomp, Ocaml_optcomp, ...""" -maintainer: ["Jane Street developers"] -authors: ["Jane Street Group, LLC"] -license: "MIT" -homepage: "https://github.com/janestreet/ocaml-compiler-libs" -bug-reports: "https://github.com/janestreet/ocaml-compiler-libs/issues" -depends: [ - "dune" {>= "2.8"} - "ocaml" {>= "4.04.1" & < "5.2.0"} - "odoc" {with-doc} -] -build: [ - ["dune" "subst"] {dev} - [ - "dune" - "build" - "-p" - name - "-j" - jobs - "@install" - "@runtest" {with-test} - "@doc" {with-doc} - ] -] -dev-repo: "git+https://github.com/janestreet/ocaml-compiler-libs.git" -url { - src: - "https://github.com/janestreet/ocaml-compiler-libs/releases/download/v0.12.4/ocaml-compiler-libs-v0.12.4.tbz" - checksum: [ - "sha256=4ec9c9ec35cc45c18c7a143761154ef1d7663036a29297f80381f47981a07760" - "sha512=978dba8dfa61f98fa24fda7a9c26c2e837081f37d1685fe636dc19cfc3278a940cf01a10293504b185c406706bc1008bc54313d50f023bcdea6d5ac6c0788b35" - ] -} -x-commit-hash: "8cd12f18bb7171c2b67d661868c4271fae528d93" diff --git a/esy.lock/opam/ocaml-lsp-server.1.17.0/opam b/esy.lock/opam/ocaml-lsp-server.1.17.0/opam deleted file mode 100644 index e3a53b044..000000000 --- a/esy.lock/opam/ocaml-lsp-server.1.17.0/opam +++ /dev/null @@ -1,67 +0,0 @@ -opam-version: "2.0" -synopsis: "LSP Server for OCaml" -description: "An LSP server for OCaml." -maintainer: ["Rudi Grinberg "] -authors: [ - "Andrey Popp <8mayday@gmail.com>" - "Rusty Key " - "Louis Roché " - "Oleksiy Golovko " - "Rudi Grinberg " - "Sacha Ayoun " - "cannorin " - "Ulugbek Abdullaev " - "Thibaut Mattio " - "Max Lantas " -] -license: "ISC" -homepage: "https://github.com/ocaml/ocaml-lsp" -bug-reports: "https://github.com/ocaml/ocaml-lsp/issues" -depends: [ - "dune" {>= "3.0"} - "yojson" - "re" {>= "1.5.0"} - "ppx_yojson_conv_lib" {>= "v0.14"} - "dune-rpc" {>= "3.4.0"} - "chrome-trace" {>= "3.3.0"} - "dyn" - "stdune" - "fiber" {>= "3.1.1" & < "4.0.0"} - "xdg" - "ordering" - "dune-build-info" - "spawn" - "astring" - "camlp-streams" - "ppx_expect" {>= "v0.15.0" & with-test} - "ocamlformat" {with-test & = "0.24.1"} - "ocamlc-loc" {>= "3.7.0"} - "uutf" {>= "1.0.2"} - "pp" {>= "1.1.2"} - "csexp" {>= "1.5"} - "ocamlformat-rpc-lib" {>= "0.21.0"} - "odoc" {with-doc} - "ocaml" {>= "4.14" & < "5.2"} - "merlin-lib" {>= "4.9" & < "5.0"} -] -dev-repo: "git+https://github.com/ocaml/ocaml-lsp.git" -build: [ - ["dune" "subst"] {dev} - [ - "dune" - "build" - "-j" - jobs - "ocaml-lsp-server.install" - "--release" - ] -] -url { - src: - "https://github.com/ocaml/ocaml-lsp/releases/download/1.17.0/lsp-1.17.0.tbz" - checksum: [ - "sha256=8fb8bbd717eefd2608b4d83458105b660e0de3a1134dc8fc216ae659d4d19600" - "sha512=6876df760dbcb51f85e7fd9d08cc8498c69ede38a52f4e12407187da3fbd9657c71f3223f9490ad97edd5259cfdeb2819d943db65bb9ce3c2a18dace3b65ffa8" - ] -} -x-commit-hash: "d3d8de5a4213c2a16e43ac4f87cbbe88a894d05f" diff --git a/esy.lock/opam/ocaml-syntax-shims.1.0.0/opam b/esy.lock/opam/ocaml-syntax-shims.1.0.0/opam deleted file mode 100644 index 53c23f638..000000000 --- a/esy.lock/opam/ocaml-syntax-shims.1.0.0/opam +++ /dev/null @@ -1,39 +0,0 @@ -opam-version: "2.0" -synopsis: "Backport new syntax to older OCaml versions" -description: """ -This packages backports new features of the language to older -compilers, such as let+. -""" -maintainer: ["jeremie@dimino.org"] -authors: ["Jérémie Dimino "] -license: "MIT" -homepage: "https://github.com/ocaml-ppx/ocaml-syntax-shims" -doc: "https://ocaml-ppx.github.io/ocaml-syntax-shims/" -bug-reports: "https://github.com/ocaml-ppx/ocaml-syntax-shims/issues" -depends: [ - "dune" {>= "2.0"} - "ocaml" {>= "4.02.3"} -] -build: [ - ["dune" "subst"] {dev} - [ - "dune" - "build" - "-p" - name - "-j" - jobs - "@install" - "@runtest" {with-test} - "@doc" {with-doc} - ] -] -dev-repo: "git+https://github.com/ocaml-ppx/ocaml-syntax-shims.git" -url { - src: - "https://github.com/ocaml-ppx/ocaml-syntax-shims/releases/download/1.0.0/ocaml-syntax-shims-1.0.0.tbz" - checksum: [ - "sha256=89b2e193e90a0c168b6ec5ddf6fef09033681bdcb64e11913c97440a2722e8c8" - "sha512=75c4c6b0bfa1267a8a49a82ba494d08cf0823fc8350863d6d3d4971528cb09e5a2a29e2981d04c75e76ad0f49360b05a432c9efeff9a4fbc1ec6b28960399852" - ] -} diff --git a/esy.lock/opam/ocaml-version.3.5.0/opam b/esy.lock/opam/ocaml-version.3.5.0/opam deleted file mode 100644 index 52f452de0..000000000 --- a/esy.lock/opam/ocaml-version.3.5.0/opam +++ /dev/null @@ -1,49 +0,0 @@ -opam-version: "2.0" -maintainer: "Anil Madhavapeddy " -authors: "Anil Madhavapeddy " -license: "ISC" -tags: "org:ocamllabs" -homepage: "https://github.com/ocurrent/ocaml-version" -doc: "https://ocurrent.github.io/ocaml-version/doc" -bug-reports: "https://github.com/ocurrent/ocaml-version/issues" -depends: [ - "ocaml" {>= "4.07.0"} - "dune" {>= "1.0"} - "alcotest" {with-test} -] -build: [ - ["dune" "subst"] {dev} - ["dune" "build" "-p" name "-j" jobs] -] -dev-repo: "git+https://github.com/ocurrent/ocaml-version.git" -synopsis: "Manipulate, parse and generate OCaml compiler version strings" -description: """ -This library provides facilities to parse version numbers of the OCaml -compiler, and enumerates the various official OCaml releases and configuration -variants. - -OCaml version numbers are of the form `major.minor.patch+extra`, where the -`patch` and `extra` fields are optional. This library offers the following -functionality: - -- Functions to parse and serialise OCaml compiler version numbers. -- Enumeration of official OCaml compiler version releases. -- Test compiler versions for a particular feature (e.g. the `bytes` type) -- [opam](https://opam.ocaml.org) compiler switch enumeration. - -### Further information - -- **Discussion:** Post on with the `ocaml` tag under - the Ecosystem category. -- **Bugs:** -- **Docs:** -""" -url { - src: - "https://github.com/ocurrent/ocaml-version/releases/download/v3.5.0/ocaml-version-3.5.0.tbz" - checksum: [ - "sha256=d63ca1c3970d6b14057f7176bfdae623e6c0176287c6a6e8b78cf50e2f7f635b" - "sha512=7b5f475897b1c560c81d322ca77b80099025102ec4163b410518e32dce0d6decf7c2ef671f795932bc173741b20bb442e07b182583423d2c990c632c921be5df" - ] -} -x-commit-hash: "ee6c14c52e1995d69a134b23df2c1c721ea7a994" diff --git a/esy.lock/opam/ocamlbuild.0.14.3/opam b/esy.lock/opam/ocamlbuild.0.14.3/opam deleted file mode 100644 index d1c725b35..000000000 --- a/esy.lock/opam/ocamlbuild.0.14.3/opam +++ /dev/null @@ -1,40 +0,0 @@ -opam-version: "2.0" -synopsis: - "OCamlbuild is a build system with builtin rules to easily build most OCaml projects" -maintainer: "Gabriel Scherer " -authors: ["Nicolas Pouillard" "Berke Durak"] -license: "LGPL-2.0-or-later WITH OCaml-LGPL-linking-exception" -homepage: "https://github.com/ocaml/ocamlbuild/" -doc: "https://github.com/ocaml/ocamlbuild/blob/master/manual/manual.adoc" -bug-reports: "https://github.com/ocaml/ocamlbuild/issues" -depends: [ - "ocaml" {>= "4.03"} -] -conflicts: [ - "base-ocamlbuild" - "ocamlfind" {< "1.6.2"} -] -build: [ - [ - make - "-f" - "configure.make" - "all" - "OCAMLBUILD_PREFIX=%{prefix}%" - "OCAMLBUILD_BINDIR=%{bin}%" - "OCAMLBUILD_LIBDIR=%{lib}%" - "OCAMLBUILD_MANDIR=%{man}%" - "OCAML_NATIVE=%{ocaml:native}%" - "OCAML_NATIVE_TOOLS=%{ocaml:native}%" - ] - [make "check-if-preinstalled" "all" "opam-install"] -] -dev-repo: "git+https://github.com/ocaml/ocamlbuild.git" -available: os != "win32" -url { - src: "https://github.com/ocaml/ocamlbuild/archive/refs/tags/0.14.3.tar.gz" - checksum: [ - "md5=220df59060c916e8aac2eb471c870485" - "sha512=def8fa1d5488905fda31f72b7f6f0ebdccefa55a8e984a6ea4a7c1e0856e8ea1f7814410202e0f7f7d5e72aca7e8ae0d6623f7f2bade78b0dd82155de76ec4e5" - ] -} \ No newline at end of file diff --git a/esy.lock/opam/ocamlc-loc.3.13.0/opam b/esy.lock/opam/ocamlc-loc.3.13.0/opam deleted file mode 100644 index 3b3e830d3..000000000 --- a/esy.lock/opam/ocamlc-loc.3.13.0/opam +++ /dev/null @@ -1,44 +0,0 @@ -opam-version: "2.0" -synopsis: "Parse ocaml compiler output into structured form" -description: - "This library offers no backwards compatibility guarantees. Use at your own risk." -maintainer: ["Jane Street Group, LLC "] -authors: ["Jane Street Group, LLC "] -license: "MIT" -homepage: "https://github.com/ocaml/dune" -doc: "https://dune.readthedocs.io/" -bug-reports: "https://github.com/ocaml/dune/issues" -depends: [ - "dune" {>= "3.5"} - "ocaml" {>= "4.08.0"} - "dyn" {= version} - "odoc" {with-doc} -] -conflicts: [ - "ocaml-lsp-server" {< "1.15.0"} -] -dev-repo: "git+https://github.com/ocaml/dune.git" -build: [ - ["dune" "subst"] {dev} - ["rm" "-rf" "vendor/csexp"] - ["rm" "-rf" "vendor/pp"] - [ - "dune" - "build" - "-p" - name - "-j" - jobs - "@install" - "@doc" {with-doc} - ] -] -url { - src: - "https://github.com/ocaml/dune/releases/download/3.13.0/dune-3.13.0.tbz" - checksum: [ - "sha256=f1801257e01c846bd71017ec5d4b2b75fd31b20a0d5979b933b37cc8453678de" - "sha512=850667439ecc75b3a94ee99d5894e0fb0cc03378cec9101f960045004b15143a7e245f5ed938dc1226695fd7fedf875ff10528db2a35935fdcbc0d7f0c959847" - ] -} -x-commit-hash: "21f904250f8bc27abbeafadf70682aceb198b1e3" diff --git a/esy.lock/opam/ocamlfind.1.9.6/files/0001-Harden-test-for-OCaml-5.patch b/esy.lock/opam/ocamlfind.1.9.6/files/0001-Harden-test-for-OCaml-5.patch deleted file mode 100644 index 8011238cd..000000000 --- a/esy.lock/opam/ocamlfind.1.9.6/files/0001-Harden-test-for-OCaml-5.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff a/configure b/configure ---- a/configure -+++ b/configure -@@ -294,7 +294,7 @@ - # If findlib has been configured -sitelib $(ocamlc -where) then there's - # nothing to do, but otherwise we need to put OCaml's Standard Library - # into the path setting. -- if [ ! -e "${ocaml_sitelib}/stdlib/META" ]; then -+ if [ ! -e "${ocaml_sitelib}/stdlib.cmi" ]; then - ocamlpath="${ocaml_core_stdlib}${path_sep}${ocamlpath}" - fi - fi diff --git a/esy.lock/opam/ocamlfind.1.9.6/opam b/esy.lock/opam/ocamlfind.1.9.6/opam deleted file mode 100644 index a81f0c50e..000000000 --- a/esy.lock/opam/ocamlfind.1.9.6/opam +++ /dev/null @@ -1,48 +0,0 @@ -opam-version: "2.0" -synopsis: "A library manager for OCaml" -description: """ -Findlib is a library manager for OCaml. It provides a convention how -to store libraries, and a file format ("META") to describe the -properties of libraries. There is also a tool (ocamlfind) for -interpreting the META files, so that it is very easy to use libraries -in programs and scripts. -""" -license: "MIT" -maintainer: "Thomas Gazagnaire " -authors: "Gerd Stolpmann " -homepage: "http://projects.camlcity.org/projects/findlib.html" -bug-reports: "https://github.com/ocaml/ocamlfind/issues" -depends: [ - "ocaml" {>= "3.08.0"} -] -depopts: ["graphics"] -build: [ - [ - "./configure" - "-bindir" bin - "-sitelib" lib - "-mandir" man - "-config" "%{lib}%/findlib.conf" - "-no-custom" - "-no-camlp4" {!ocaml:preinstalled & ocaml:version >= "4.02.0"} - "-no-topfind" {ocaml:preinstalled} - ] - [make "all"] - [make "opt"] {ocaml:native} -] -install: [ - [make "install"] - ["install" "-m" "0755" "ocaml-stub" "%{bin}%/ocaml"] {ocaml:preinstalled} -] -extra-files: ["0001-Harden-test-for-OCaml-5.patch" "md5=3cddbf72164c29d4e50e077a92a37c6c"] -# See https://github.com/ocaml/ocamlfind/pull/61 -patches: ["0001-Harden-test-for-OCaml-5.patch"] -dev-repo: "git+https://github.com/ocaml/ocamlfind.git" -url { - src: "http://download.camlcity.org/download/findlib-1.9.6.tar.gz" - checksum: [ - "md5=96c6ee50a32cca9ca277321262dbec57" - "sha512=cfaf1872d6ccda548f07d32cc6b90c3aafe136d2aa6539e03143702171ee0199add55269bba894c77115535dc46a5835901a5d7c75768999e72db503bfd83027" - ] -} -available: os != "win32" diff --git a/esy.lock/opam/ocamlformat-rpc-lib.0.26.1/opam b/esy.lock/opam/ocamlformat-rpc-lib.0.26.1/opam deleted file mode 100644 index e685d68ab..000000000 --- a/esy.lock/opam/ocamlformat-rpc-lib.0.26.1/opam +++ /dev/null @@ -1,49 +0,0 @@ -opam-version: "2.0" -synopsis: "Auto-formatter for OCaml code (RPC mode)" -description: - "OCamlFormat is a tool to automatically format OCaml code in a uniform style. This package defines a RPC interface to OCamlFormat" -maintainer: [ - "Guillaume Petiot " - "Jules Aguillon " - "Emile Trotignon " -] -authors: [ - "Josh Berdine " - "Hugo Heuzard " - "Etienne Millon " - "Guillaume Petiot " - "Jules Aguillon " -] -license: "MIT" -homepage: "https://github.com/ocaml-ppx/ocamlformat" -bug-reports: "https://github.com/ocaml-ppx/ocamlformat/issues" -depends: [ - "dune" {>= "2.8"} - "ocaml" {>= "4.08"} - "csexp" {>= "1.4.0"} - "odoc" {with-doc} -] -build: [ - ["dune" "subst"] {dev} - [ - "dune" - "build" - "-p" - name - "-j" - jobs - "@install" - "@runtest" {with-test} - "@doc" {with-doc} - ] -] -dev-repo: "git+https://github.com/ocaml-ppx/ocamlformat.git" -url { - src: - "https://github.com/ocaml-ppx/ocamlformat/releases/download/0.26.1/ocamlformat-0.26.1.tbz" - checksum: [ - "sha256=da006e427f15b9ec612fb808d446599bd9b7c3ee25abeb3d555747a70d74c6d7" - "sha512=b7413f8dc47ba3a2372e89d59cae54f9a602ab81e31cd14ed986a831111080b79a5a3cc45dac04d8ffae5054c35bf29fe9559f145c76c87a30e191ed5400942a" - ] -} -x-commit-hash: "6734dfc1992eb782f0a936ce3cd7c78b7c1d39d3" diff --git a/esy.lock/opam/ocamlformat.0.24.1/opam b/esy.lock/opam/ocamlformat.0.24.1/opam deleted file mode 100644 index 55a959bc0..000000000 --- a/esy.lock/opam/ocamlformat.0.24.1/opam +++ /dev/null @@ -1,57 +0,0 @@ -opam-version: "2.0" -synopsis: "Auto-formatter for OCaml code" -description: - "OCamlFormat is a tool to automatically format OCaml code in a uniform style." -maintainer: ["OCamlFormat Team "] -authors: ["Josh Berdine "] -homepage: "https://github.com/ocaml-ppx/ocamlformat" -bug-reports: "https://github.com/ocaml-ppx/ocamlformat/issues" -depends: [ - "ocaml" {>= "4.08"} - "alcotest" {with-test} - "base" {>= "v0.12.0"} - "cmdliner" {>= "1.1.0"} - "dune" {>= "2.8"} - "dune-build-info" - "either" - "fix" - "fpath" - "menhir" {>= "20201216"} - "menhirLib" {>= "20201216"} - "menhirSdk" {>= "20201216"} - "ocaml-version" {>= "3.3.0" & < "3.6.0"} - "ocamlformat-rpc-lib" {with-test & = version} - "ocp-indent" - "odoc-parser" {>= "2.0.0" & < "2.3.0"} - "re" {>= "1.7.2"} - "stdio" - "uuseg" {>= "10.0.0"} - "uutf" {>= "1.0.1"} - "csexp" {>= "1.4.0"} - "odoc" {with-doc} -] -build: [ - ["dune" "subst"] {dev} - [ - "dune" - "build" - "-p" - name - "-j" - jobs - "@install" - "@runtest" {with-test} - "@doc" {with-doc} - ] -] -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.24.1/ocamlformat-0.24.1.tbz" - checksum: [ - "sha256=023425e9818f80ea50537b2371a4a766c149a9957d05807e88a004d2d5f441ce" - "sha512=753b6128be68042895202f99959b360ce954db6f82b19b83b4bb346761a8e9cfdfc2b4b25e2070e60601b555562e78f9ebb02760ff127464e0b66cedbddca304" - ] -} -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/ocp-indent.1.8.1/opam b/esy.lock/opam/ocp-indent.1.8.1/opam deleted file mode 100644 index 4210beef2..000000000 --- a/esy.lock/opam/ocp-indent.1.8.1/opam +++ /dev/null @@ -1,57 +0,0 @@ -opam-version: "2.0" -maintainer: "contact@ocamlpro.com" -synopsis: "A simple tool to indent OCaml programs" -description: """ -Ocp-indent is based on an approximate, tolerant OCaml parser and a simple stack -machine ; this is much faster and more reliable than using regexps. Presets and -configuration options available, with the possibility to set them project-wide. -Supports most common syntax extensions, and extensible for others. - -Includes: -- An indentor program, callable from the command-line or from within editors -- Bindings for popular editors -- A library that can be directly used by editor writers, or just for - fault-tolerant/approximate parsing. -""" -authors: [ - "Louis Gesbert " - "Thomas Gazagnaire " - "Jun Furuse" -] -homepage: "http://www.typerex.org/ocp-indent.html" -bug-reports: "https://github.com/OCamlPro/ocp-indent/issues" -license: "LGPL-2.1-only WITH OCaml-LGPL-linking-exception" -tags: ["org:ocamlpro" "org:typerex"] -dev-repo: "git+https://github.com/OCamlPro/ocp-indent.git" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -run-test: [ - ["dune" "runtest" "-p" name "-j" jobs] -] -depends: [ - "ocaml" - "dune" {>= "1.0"} - "cmdliner" {>= "1.0.0"} - "ocamlfind" - "base-bytes" -] -post-messages: [ - "This package requires additional configuration for use in editors. Install package 'user-setup', or manually: - -* for Emacs, add these lines to ~/.emacs: - (add-to-list 'load-path \"%{share}%/emacs/site-lisp\") - (require 'ocp-indent) - -* for Vim, add this line to ~/.vimrc: - set rtp^=\"%{share}%/ocp-indent/vim\" -" - {success & !user-setup:installed} -] -url { - src: "https://github.com/OCamlPro/ocp-indent/archive/1.8.1.tar.gz" - checksum: [ - "md5=70db6649a8c08a682ad63730c9752e31" - "sha512=565353de333dd44375366fff75e85a6256c3cd9ff52b3db79803141f975e77cda04dfe32f5e0f2d4c82c59be8f04e9c2bf4d066b113b2cdf267f4c3dcfa401da" - ] -} diff --git a/esy.lock/opam/ocplib-endian.1.2/opam b/esy.lock/opam/ocplib-endian.1.2/opam deleted file mode 100644 index 05c0a38d4..000000000 --- a/esy.lock/opam/ocplib-endian.1.2/opam +++ /dev/null @@ -1,40 +0,0 @@ -opam-version: "2.0" -license: "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception" -synopsis: - "Optimised functions to read and write int16/32/64 from strings and bigarrays" -description: """\ -The library implements three modules: -* [EndianString](https://github.com/OCamlPro/ocplib-endian/blob/master/src/endianString.mli) works directly on strings, and provides submodules BigEndian and LittleEndian, with their unsafe counter-parts; -* [EndianBytes](https://github.com/OCamlPro/ocplib-endian/blob/master/src/endianBytes.mli) works directly on bytes, and provides submodules BigEndian and LittleEndian, with their unsafe counter-parts; -* [EndianBigstring](https://github.com/OCamlPro/ocplib-endian/blob/master/src/endianBigstring.mli) works on bigstrings (Bigarrays of chars), and provides submodules BigEndian and LittleEndian, with their unsafe counter-parts.""" -maintainer: "pierre.chambart@ocamlpro.com" -authors: "Pierre Chambart" -homepage: "https://github.com/OCamlPro/ocplib-endian" -doc: "https://ocamlpro.github.io/ocplib-endian/ocplib-endian/" -bug-reports: "https://github.com/OCamlPro/ocplib-endian/issues" -depends: [ - "base-bytes" - "ocaml" {>= "4.03.0"} - "cppo" {>= "1.1.0" & build} - "dune" {>= "1.0"} -] -build: [ - "dune" - "build" - "-p" - name - "-j" - jobs - "@install" - "@runtest" {with-test} - "@doc" {with-doc} -] -dev-repo: "git+https://github.com/OCamlPro/ocplib-endian.git" -url { - src: - "https://github.com/OCamlPro/ocplib-endian/archive/refs/tags/1.2.tar.gz" - checksum: [ - "md5=8d5492eeb7c6815ade72a7415ea30949" - "sha512=2e70be5f3d6e377485c60664a0e235c3b9b24a8d6b6a03895d092c6e40d53810bfe1f292ee69e5181ce6daa8a582bfe3d59f3af889f417134f658812be5b8b85" - ] -} diff --git a/esy.lock/opam/odoc-parser.2.0.0/opam b/esy.lock/opam/odoc-parser.2.0.0/opam deleted file mode 100644 index 602b2bdfb..000000000 --- a/esy.lock/opam/odoc-parser.2.0.0/opam +++ /dev/null @@ -1,47 +0,0 @@ -opam-version: "2.0" -synopsis: "Parser for ocaml documentation comments" -description: """ -Odoc_parser is a library for parsing the contents of OCaml documentation -comments, formatted using 'odoc' syntax, an extension of the language -understood by ocamldoc.""" -maintainer: ["Jon Ludlam "] -authors: ["Anton Bachin "] -license: "ISC" -homepage: "https://github.com/ocaml-doc/odoc-parser" -bug-reports: "https://github.com/ocaml-doc/odoc-parser/issues" -dev-repo: "git+https://github.com/ocaml-doc/odoc-parser.git" -# This template exists because without it dune pop is dependencies and build rules -# involving odoc. Since odoc depends on this package, this doesn't work. -doc: "https://ocaml-doc.github.io/odoc-parser/" -depends: [ - "dune" {>= "2.8"} - "ocaml" {>= "4.02.0"} - "astring" - "result" - "camlp-streams" - "ppx_expect" {with-test} - ("ocaml" {< "4.04.1" & with-test} | "sexplib0" {with-test}) -] -build: [ - ["dune" "subst"] {dev} - [ - "dune" - "build" - "-p" - name - "-j" - jobs - "@install" - "@runtest" {with-test} - ] -] -url { - src: - "https://github.com/ocaml-doc/odoc-parser/releases/download/2.0.0/odoc-parser-2.0.0.tbz" - checksum: [ - "sha256=407919fbb0eb95761d6fc6ec6777628d94aa1907343bdca678b1880bafb33922" - "sha512=d2bffa3e9f30471045682e390dcee7a2c1caf3831bca4bd57c16939e782c2e23434e6f1c9887580a1804800b3629ef4c4311a9d418fca5a939f324650d54006e" - ] -} -x-commit-hash: "ebfd3b9489e44187da2c67d79a32b6fc1e92bda4" - diff --git a/esy.lock/opam/odoc.2.2.2/opam b/esy.lock/opam/odoc.2.2.2/opam deleted file mode 100644 index 54f4b2d87..000000000 --- a/esy.lock/opam/odoc.2.2.2/opam +++ /dev/null @@ -1,61 +0,0 @@ -opam-version: "2.0" -homepage: "http://github.com/ocaml/odoc" -doc: "https://ocaml.github.io/odoc/" -bug-reports: "https://github.com/ocaml/odoc/issues" -license: "ISC" - -authors: [ - "Thomas Refis " - "David Sheets " - "Leo White " - "Anton Bachin " - "Jon Ludlam " - "Jules Aguillon " - "Lubega Simon " -] -maintainer: "Jon Ludlam " -dev-repo: "git+https://github.com/ocaml/odoc.git" - -synopsis: "OCaml documentation generator" -description: """ -Odoc is a documentation generator for OCaml. It reads doc comments, -delimited with `(** ... *)`, and outputs HTML. -""" - -depends: [ - "odoc-parser" {>= "2.0.0" & < "2.3.0"} - "astring" - "cmdliner" {>= "1.0.0"} - "cppo" {build & >= "1.1.0"} - "dune" {>= "3.0.2"} - "fpath" - "ocaml" {>= "4.02.0"} - "result" - "tyxml" {>= "4.3.0"} - "fmt" - - "ocamlfind" {with-test} - "yojson" {< "2.0.0" & with-test} - ("ocaml" {< "4.04.1" & with-test} | "sexplib0" {with-test}) - "conf-jq" {with-test} - - "ppx_expect" {with-test} - "bos" {with-test} - "crunch" {with-test} - - ("ocaml" {< "4.07.0" & with-test} | "bisect_ppx" {with-test & > "2.5.0"}) - ("ocaml" {< "4.03.0" & with-test} | "mdx" {with-test}) -] - -build: [ - ["dune" "subst"] {dev} - ["dune" "build" "-p" name "-j" jobs] -] -url { - src: "https://github.com/ocaml/odoc/releases/download/2.2.2/odoc-2.2.2.tbz" - checksum: [ - "sha256=6ec331a1da22ec8b8feca73d4b8b6269043f4b36b10dd49f557f42449633672b" - "sha512=5bf48555f84d17f61e58cad16703e47c07effde44d1e232f7f227c638f51d57a3d8ec2e71804876c8fbf1035384478e79382d8bdc5a271ea599e42c9cd1d6ab2" - ] -} -x-commit-hash: "34a48e2543f6ea5716e9ee922954fa0917561dd7" diff --git a/esy.lock/opam/ordering.3.13.0/opam b/esy.lock/opam/ordering.3.13.0/opam deleted file mode 100644 index cbe8f0c46..000000000 --- a/esy.lock/opam/ordering.3.13.0/opam +++ /dev/null @@ -1,39 +0,0 @@ -opam-version: "2.0" -synopsis: "Element ordering" -description: "Element ordering" -maintainer: ["Jane Street Group, LLC "] -authors: ["Jane Street Group, LLC "] -license: "MIT" -homepage: "https://github.com/ocaml/dune" -doc: "https://dune.readthedocs.io/" -bug-reports: "https://github.com/ocaml/dune/issues" -depends: [ - "dune" {>= "3.5"} - "ocaml" {>= "4.08.0"} - "odoc" {with-doc} -] -dev-repo: "git+https://github.com/ocaml/dune.git" -build: [ - ["dune" "subst"] {dev} - ["rm" "-rf" "vendor/csexp"] - ["rm" "-rf" "vendor/pp"] - [ - "dune" - "build" - "-p" - name - "-j" - jobs - "@install" - "@doc" {with-doc} - ] -] -url { - src: - "https://github.com/ocaml/dune/releases/download/3.13.0/dune-3.13.0.tbz" - checksum: [ - "sha256=f1801257e01c846bd71017ec5d4b2b75fd31b20a0d5979b933b37cc8453678de" - "sha512=850667439ecc75b3a94ee99d5894e0fb0cc03378cec9101f960045004b15143a7e245f5ed938dc1226695fd7fedf875ff10528db2a35935fdcbc0d7f0c959847" - ] -} -x-commit-hash: "21f904250f8bc27abbeafadf70682aceb198b1e3" diff --git a/esy.lock/opam/pp.1.2.0/opam b/esy.lock/opam/pp.1.2.0/opam deleted file mode 100644 index 9f4fad20d..000000000 --- a/esy.lock/opam/pp.1.2.0/opam +++ /dev/null @@ -1,59 +0,0 @@ -opam-version: "2.0" -synopsis: "Pretty-printing library" -description: """ - -This library provides a lean alternative to the Format [1] module of -the OCaml standard library. It aims to make it easy for users to do -the right thing. If you have tried Format before but find its API -complicated and difficult to use, then Pp might be a good choice for -you. - -Pp uses the same concepts of boxes and break hints, and the final -rendering is done to formatter from the Format module. However it -defines its own algebra which some might find easier to work with and -reason about. No previous knowledge is required to start using this -library, however the various guides for the Format module such as this -one [2] should be applicable to Pp as well. - -[1]: https://caml.inria.fr/pub/docs/manual-ocaml/libref/Format.html -[2]: http://caml.inria.fr/resources/doc/guides/format.en.html -""" -maintainer: ["Jeremie Dimino "] -authors: [ - "Jane Street Group, LLC " - "Jeremie Dimino " -] -license: "MIT" -homepage: "https://github.com/ocaml-dune/pp" -doc: "https://ocaml-dune.github.io/pp/" -bug-reports: "https://github.com/ocaml-dune/pp/issues" -depends: [ - "dune" {>= "2.8"} - "ocaml" {>= "4.08.0"} - "ppx_expect" {with-test} - "odoc" {with-doc} -] -build: [ - ["dune" "subst"] {dev} - [ - "dune" - "build" - "-p" - name - "-j" - jobs - "@install" - "@runtest" {with-test} - "@doc" {with-doc} - ] -] -dev-repo: "git+https://github.com/ocaml-dune/pp.git" -url { - src: - "https://github.com/ocaml-dune/pp/releases/download/1.2.0/pp-1.2.0.tbz" - checksum: [ - "sha256=a5e822573c55afb42db29ec56eacd1f2acd8f65cf2df2878e291de374ce6909c" - "sha512=912164c2aa7241d73f735dadfbefe8ed0138d241579d2e885440e068fac78eb9f0b3d782c2420e757e313168c1725daff6ab91800dd315b1e05288456998b40a" - ] -} -x-commit-hash: "83b68c740f21acdcfe54436355ab328372871357" diff --git a/esy.lock/opam/ppx_assert.v0.16.0/opam b/esy.lock/opam/ppx_assert.v0.16.0/opam deleted file mode 100644 index be9ef0060..000000000 --- a/esy.lock/opam/ppx_assert.v0.16.0/opam +++ /dev/null @@ -1,29 +0,0 @@ -opam-version: "2.0" -maintainer: "Jane Street developers" -authors: ["Jane Street Group, LLC"] -homepage: "https://github.com/janestreet/ppx_assert" -bug-reports: "https://github.com/janestreet/ppx_assert/issues" -dev-repo: "git+https://github.com/janestreet/ppx_assert.git" -doc: "https://ocaml.janestreet.com/ocaml-core/latest/doc/ppx_assert/index.html" -license: "MIT" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" {>= "4.14.0"} - "base" {>= "v0.16" & < "v0.17"} - "ppx_cold" {>= "v0.16" & < "v0.17"} - "ppx_compare" {>= "v0.16" & < "v0.17"} - "ppx_here" {>= "v0.16" & < "v0.17"} - "ppx_sexp_conv" {>= "v0.16" & < "v0.17"} - "dune" {>= "2.0.0"} - "ppxlib" {>= "0.28.0"} -] -synopsis: "Assert-like extension nodes that raise useful errors on failure" -description: " -Part of the Jane Street's PPX rewriters collection. -" -url { -src: "https://ocaml.janestreet.com/ocaml-core/v0.16/files/ppx_assert-v0.16.0.tar.gz" -checksum: "sha256=57dc6e241827eb1d5112c958f2f682ddd0addf5a8e9d589f5361ec2669883fd5" -} diff --git a/esy.lock/opam/ppx_base.v0.16.0/opam b/esy.lock/opam/ppx_base.v0.16.0/opam deleted file mode 100644 index 543fd2dfa..000000000 --- a/esy.lock/opam/ppx_base.v0.16.0/opam +++ /dev/null @@ -1,33 +0,0 @@ -opam-version: "2.0" -maintainer: "Jane Street developers" -authors: ["Jane Street Group, LLC"] -homepage: "https://github.com/janestreet/ppx_base" -bug-reports: "https://github.com/janestreet/ppx_base/issues" -dev-repo: "git+https://github.com/janestreet/ppx_base.git" -doc: "https://ocaml.janestreet.com/ocaml-core/latest/doc/ppx_base/index.html" -license: "MIT" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" {>= "4.14.0"} - "ppx_cold" {>= "v0.16" & < "v0.17"} - "ppx_compare" {>= "v0.16" & < "v0.17"} - "ppx_enumerate" {>= "v0.16" & < "v0.17"} - "ppx_globalize" {>= "v0.16" & < "v0.17"} - "ppx_hash" {>= "v0.16" & < "v0.17"} - "ppx_sexp_conv" {>= "v0.16" & < "v0.17"} - "dune" {>= "2.0.0"} - "ppxlib" {>= "0.28.0"} -] -synopsis: "Base set of ppx rewriters" -description: " -ppx_base is the set of ppx rewriters used for Base. - -Note that Base doesn't need ppx to build, it is only used as a -verification tool. -" -url { -src: "https://ocaml.janestreet.com/ocaml-core/v0.16/files/ppx_base-v0.16.0.tar.gz" -checksum: "sha256=64835763153d3262a2fa56cf307a351ebfd10cedf504c488ab3bb93f3d9569a3" -} diff --git a/esy.lock/opam/ppx_cold.v0.16.0/opam b/esy.lock/opam/ppx_cold.v0.16.0/opam deleted file mode 100644 index 2d9a9ac36..000000000 --- a/esy.lock/opam/ppx_cold.v0.16.0/opam +++ /dev/null @@ -1,25 +0,0 @@ -opam-version: "2.0" -maintainer: "Jane Street developers" -authors: ["Jane Street Group, LLC"] -homepage: "https://github.com/janestreet/ppx_cold" -bug-reports: "https://github.com/janestreet/ppx_cold/issues" -dev-repo: "git+https://github.com/janestreet/ppx_cold.git" -doc: "https://ocaml.janestreet.com/ocaml-core/latest/doc/ppx_cold/index.html" -license: "MIT" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" {>= "4.14.0"} - "base" {>= "v0.16" & < "v0.17"} - "dune" {>= "2.0.0"} - "ppxlib" {>= "0.28.0"} -] -synopsis: "Expands [@cold] into [@inline never][@specialise never][@local never]" -description: " -Part of the Jane Street's PPX rewriters collection. -" -url { -src: "https://ocaml.janestreet.com/ocaml-core/v0.16/files/ppx_cold-v0.16.0.tar.gz" -checksum: "sha256=803bdb583b501aa246d8ae34be0c16b892d8ae96852bb593f3e355232e6aa4da" -} diff --git a/esy.lock/opam/ppx_compare.v0.16.0/opam b/esy.lock/opam/ppx_compare.v0.16.0/opam deleted file mode 100644 index e0a1edc45..000000000 --- a/esy.lock/opam/ppx_compare.v0.16.0/opam +++ /dev/null @@ -1,25 +0,0 @@ -opam-version: "2.0" -maintainer: "Jane Street developers" -authors: ["Jane Street Group, LLC"] -homepage: "https://github.com/janestreet/ppx_compare" -bug-reports: "https://github.com/janestreet/ppx_compare/issues" -dev-repo: "git+https://github.com/janestreet/ppx_compare.git" -doc: "https://ocaml.janestreet.com/ocaml-core/latest/doc/ppx_compare/index.html" -license: "MIT" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" {>= "4.14.0"} - "base" {>= "v0.16" & < "v0.17"} - "dune" {>= "2.0.0"} - "ppxlib" {>= "0.28.0"} -] -synopsis: "Generation of comparison functions from types" -description: " -Part of the Jane Street's PPX rewriters collection. -" -url { -src: "https://ocaml.janestreet.com/ocaml-core/v0.16/files/ppx_compare-v0.16.0.tar.gz" -checksum: "sha256=7ac1dd852e62de6c4b6a879b8bd962c0167db822c39e8c972c8a6af4c48f26aa" -} diff --git a/esy.lock/opam/ppx_derivers.1.2.1/opam b/esy.lock/opam/ppx_derivers.1.2.1/opam deleted file mode 100644 index 484b2654f..000000000 --- a/esy.lock/opam/ppx_derivers.1.2.1/opam +++ /dev/null @@ -1,23 +0,0 @@ -opam-version: "2.0" -maintainer: "jeremie@dimino.org" -authors: ["Jérémie Dimino"] -license: "BSD-3-Clause" -homepage: "https://github.com/ocaml-ppx/ppx_derivers" -bug-reports: "https://github.com/ocaml-ppx/ppx_derivers/issues" -dev-repo: "git+https://github.com/ocaml-ppx/ppx_derivers.git" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" - "dune" -] -synopsis: "Shared [@@deriving] plugin registry" -description: """ -Ppx_derivers is a tiny package whose sole purpose is to allow -ppx_deriving and ppx_type_conv to inter-operate gracefully when linked -as part of the same ocaml-migrate-parsetree driver.""" -url { - src: "https://github.com/ocaml-ppx/ppx_derivers/archive/1.2.1.tar.gz" - checksum: "md5=5dc2bf130c1db3c731fe0fffc5648b41" -} diff --git a/esy.lock/opam/ppx_deriving.5.2.1/opam b/esy.lock/opam/ppx_deriving.5.2.1/opam deleted file mode 100644 index f6197c6ff..000000000 --- a/esy.lock/opam/ppx_deriving.5.2.1/opam +++ /dev/null @@ -1,40 +0,0 @@ -opam-version: "2.0" -maintainer: "whitequark " -authors: [ "whitequark " ] -license: "MIT" -homepage: "https://github.com/ocaml-ppx/ppx_deriving" -doc: "https://ocaml-ppx.github.io/ppx_deriving/" -bug-reports: "https://github.com/ocaml-ppx/ppx_deriving/issues" -dev-repo: "git+https://github.com/ocaml-ppx/ppx_deriving.git" -tags: [ "syntax" ] -build: [ - ["dune" "subst"] {dev} - ["dune" "build" "-p" name "-j" jobs] - ["dune" "runtest" "-p" name "-j" jobs] {with-test & ocaml:version < "5.0.0"} - ["dune" "build" "@doc" "-p" name "-j" jobs] {with-doc} -] -depends: [ - "ocaml" {>= "4.05.0"} - "dune" {>= "1.6.3"} - "cppo" {build & >= "1.1.0"} - "ocamlfind" - "ppx_derivers" - "ppxlib" {>= "0.20.0"} - "result" - "ounit2" {with-test} -] -synopsis: "Type-driven code generation for OCaml" -description: """ -ppx_deriving provides common infrastructure for generating -code based on type definitions, and a set of useful plugins -for common tasks. -""" -url { - src: - "https://github.com/ocaml-ppx/ppx_deriving/releases/download/v5.2.1/ppx_deriving-v5.2.1.tbz" - checksum: [ - "sha256=e96b5fb25b7632570e4b329e22e097fcd4b8e8680d1e43ef003a8fbd742b0786" - "sha512=f28cd778a2d48ababa53f73131b25229a11b03685610d020b7b9228b1e25570891cd927b37475aeda49be72debaf5f2dda4c1518a0965db7a361c0ebe325a8d2" - ] -} -x-commit-hash: "7211546d6527bf57d3eff8174c90fc3c22250dae" diff --git a/esy.lock/opam/ppx_deriving_yojson.3.7.0/opam b/esy.lock/opam/ppx_deriving_yojson.3.7.0/opam deleted file mode 100644 index 7642422bf..000000000 --- a/esy.lock/opam/ppx_deriving_yojson.3.7.0/opam +++ /dev/null @@ -1,34 +0,0 @@ -opam-version: "2.0" -synopsis: "JSON codec generator for OCaml" -description: """\ -ppx_deriving_yojson is a ppx_deriving plugin that provides -a JSON codec generator.""" -maintainer: "whitequark " -authors: "whitequark " -license: "MIT" -tags: ["syntax" "json"] -homepage: "https://github.com/ocaml-ppx/ppx_deriving_yojson" -bug-reports: "https://github.com/ocaml-ppx/ppx_deriving_yojson/issues" -depends: [ - "ocaml" {>= "4.05.0"} - "dune" {>= "1.0"} - "yojson" {>= "1.6.0"} - "result" - "ppx_deriving" {>= "5.1"} - "ppxlib" {>= "0.26.0"} - "ounit2" {with-test} -] -build: [ - ["dune" "subst"] {dev} - ["dune" "build" "-p" name "-j" jobs] - ["dune" "runtest" "-p" name "-j" jobs] {with-test} -] -dev-repo: "git+https://github.com/ocaml-ppx/ppx_deriving_yojson.git" -url { - src: - "https://github.com/ocaml-ppx/ppx_deriving_yojson/releases/download/v3.7.0/ppx_deriving_yojson-3.7.0.tar.gz" - checksum: [ - "md5=456be82acb16bbf6be12ab01f9dfaa94" - "sha512=6aa8b3a6e60afd1ce68995bad6776c975b3640303b2049233e661c46300abea1f48916d4e876412de49f35744f31b99c29736e2bb974e1b4a494b0932bbd6e80" - ] -} \ No newline at end of file diff --git a/esy.lock/opam/ppx_enumerate.v0.16.0/opam b/esy.lock/opam/ppx_enumerate.v0.16.0/opam deleted file mode 100644 index 235131cd0..000000000 --- a/esy.lock/opam/ppx_enumerate.v0.16.0/opam +++ /dev/null @@ -1,25 +0,0 @@ -opam-version: "2.0" -maintainer: "Jane Street developers" -authors: ["Jane Street Group, LLC"] -homepage: "https://github.com/janestreet/ppx_enumerate" -bug-reports: "https://github.com/janestreet/ppx_enumerate/issues" -dev-repo: "git+https://github.com/janestreet/ppx_enumerate.git" -doc: "https://ocaml.janestreet.com/ocaml-core/latest/doc/ppx_enumerate/index.html" -license: "MIT" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" {>= "4.14.0"} - "base" {>= "v0.16" & < "v0.17"} - "dune" {>= "2.0.0"} - "ppxlib" {>= "0.28.0"} -] -synopsis: "Generate a list containing all values of a finite type" -description: " -Part of the Jane Street's PPX rewriters collection. -" -url { -src: "https://ocaml.janestreet.com/ocaml-core/v0.16/files/ppx_enumerate-v0.16.0.tar.gz" -checksum: "sha256=2832635d6d9ac4c63d48ed51d72745cd8a548e226a6110909d5a412d40ef9953" -} diff --git a/esy.lock/opam/ppx_expect.v0.16.0/opam b/esy.lock/opam/ppx_expect.v0.16.0/opam deleted file mode 100644 index 79deb9136..000000000 --- a/esy.lock/opam/ppx_expect.v0.16.0/opam +++ /dev/null @@ -1,29 +0,0 @@ -opam-version: "2.0" -maintainer: "Jane Street developers" -authors: ["Jane Street Group, LLC"] -homepage: "https://github.com/janestreet/ppx_expect" -bug-reports: "https://github.com/janestreet/ppx_expect/issues" -dev-repo: "git+https://github.com/janestreet/ppx_expect.git" -doc: "https://ocaml.janestreet.com/ocaml-core/latest/doc/ppx_expect/index.html" -license: "MIT" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" {>= "4.14.0"} - "base" {>= "v0.16" & < "v0.17"} - "ppx_here" {>= "v0.16" & < "v0.17"} - "ppx_inline_test" {>= "v0.16" & < "v0.17"} - "stdio" {>= "v0.16" & < "v0.17"} - "dune" {>= "2.0.0"} - "ppxlib" {>= "0.28.0"} - "re" {>= "1.8.0"} -] -synopsis: "Cram like framework for OCaml" -description: " -Part of the Jane Street's PPX rewriters collection. -" -url { -src: "https://ocaml.janestreet.com/ocaml-core/v0.16/files/ppx_expect-v0.16.0.tar.gz" -checksum: "sha256=e0795a0ae2d576758aaaa685440951b28fe75d072d88f5c6bf415fb1a44e423c" -} diff --git a/esy.lock/opam/ppx_gen_rec.2.0.0/opam b/esy.lock/opam/ppx_gen_rec.2.0.0/opam deleted file mode 100644 index a472642b9..000000000 --- a/esy.lock/opam/ppx_gen_rec.2.0.0/opam +++ /dev/null @@ -1,29 +0,0 @@ -opam-version: "2.0" -maintainer: "Marshall Roch " -authors: ["Marshall Roch "] -license: "MIT" -homepage: "https://github.com/flowtype/ocaml-ppx_gen_rec" -bug-reports: "https://github.com/flowtype/ocaml-ppx_gen_rec/issues" -depends: [ - "ocaml" - "dune" {>= "2.0"} - "ppxlib" {>= "0.18.0"} - "ppx_deriving" {with-test} -] -build: ["dune" "build" "-p" name "-j" jobs] -dev-repo: "git+https://github.com/flowtype/ocaml-ppx_gen_rec.git" -synopsis: "A ppx rewriter that transforms a recursive module expression into a `struct`" -description: """ -In a recursive module expression, the struct can be derived from the signature automatically -by the compiler. This package does the same thing, but doing it this way allows ppx_deriving -to transform the signature and struct separately. -""" -x-commit-hash: "ee89306a61dac2b926802ece6cf2bb3b9f7a9fec" -url { - src: - "https://github.com/flowtype/ocaml-ppx_gen_rec/releases/download/v2.0.0/ppx_gen_rec-v2.0.0.tbz" - checksum: [ - "sha256=fe6323e544f6d8a406572d6c8e01283a03f3c826327833ed58960d0ef43d9e59" - "sha512=23ecf170f0792c28d0535fba43d6ae51b0a063974ba1b729ebf0af3d8a088b31f4166296fa0e457623384f11142c8430bf13525f721dfbabc60688fad9c92ab9" - ] -} diff --git a/esy.lock/opam/ppx_globalize.v0.16.0/opam b/esy.lock/opam/ppx_globalize.v0.16.0/opam deleted file mode 100644 index f91333166..000000000 --- a/esy.lock/opam/ppx_globalize.v0.16.0/opam +++ /dev/null @@ -1,25 +0,0 @@ -opam-version: "2.0" -maintainer: "Jane Street developers" -authors: ["Jane Street Group, LLC"] -homepage: "https://github.com/janestreet/ppx_globalize" -bug-reports: "https://github.com/janestreet/ppx_globalize/issues" -dev-repo: "git+https://github.com/janestreet/ppx_globalize.git" -doc: "https://ocaml.janestreet.com/ocaml-core/latest/doc/ppx_globalize/index.html" -license: "MIT" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" {>= "4.14.0"} - "base" {>= "v0.16" & < "v0.17"} - "dune" {>= "2.0.0"} - "ppxlib" {>= "0.28.0"} -] -synopsis: "A ppx rewriter that generates functions to copy local values to the global heap" -description: " -Part of the Jane Street's PPX rewriters collection. -" -url { -src: "https://ocaml.janestreet.com/ocaml-core/v0.16/files/ppx_globalize-v0.16.0.tar.gz" -checksum: "sha256=9068d7b4b765112974b17dd354cadf007f044afb11d2f99cd45b2e3b99ab491b" -} diff --git a/esy.lock/opam/ppx_hash.v0.16.0/opam b/esy.lock/opam/ppx_hash.v0.16.0/opam deleted file mode 100644 index bf195c44d..000000000 --- a/esy.lock/opam/ppx_hash.v0.16.0/opam +++ /dev/null @@ -1,27 +0,0 @@ -opam-version: "2.0" -maintainer: "Jane Street developers" -authors: ["Jane Street Group, LLC"] -homepage: "https://github.com/janestreet/ppx_hash" -bug-reports: "https://github.com/janestreet/ppx_hash/issues" -dev-repo: "git+https://github.com/janestreet/ppx_hash.git" -doc: "https://ocaml.janestreet.com/ocaml-core/latest/doc/ppx_hash/index.html" -license: "MIT" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" {>= "4.14.0"} - "base" {>= "v0.16" & < "v0.17"} - "ppx_compare" {>= "v0.16" & < "v0.17"} - "ppx_sexp_conv" {>= "v0.16" & < "v0.17"} - "dune" {>= "2.0.0"} - "ppxlib" {>= "0.28.0"} -] -synopsis: "A ppx rewriter that generates hash functions from type expressions and definitions" -description: " -Part of the Jane Street's PPX rewriters collection. -" -url { -src: "https://ocaml.janestreet.com/ocaml-core/v0.16/files/ppx_hash-v0.16.0.tar.gz" -checksum: "sha256=9b012546b7b9278bfd536f802fb6da88a11ebb5340d8aa47e9bf49acbf13b6e5" -} diff --git a/esy.lock/opam/ppx_here.v0.16.0/opam b/esy.lock/opam/ppx_here.v0.16.0/opam deleted file mode 100644 index f614235bd..000000000 --- a/esy.lock/opam/ppx_here.v0.16.0/opam +++ /dev/null @@ -1,25 +0,0 @@ -opam-version: "2.0" -maintainer: "Jane Street developers" -authors: ["Jane Street Group, LLC"] -homepage: "https://github.com/janestreet/ppx_here" -bug-reports: "https://github.com/janestreet/ppx_here/issues" -dev-repo: "git+https://github.com/janestreet/ppx_here.git" -doc: "https://ocaml.janestreet.com/ocaml-core/latest/doc/ppx_here/index.html" -license: "MIT" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" {>= "4.14.0"} - "base" {>= "v0.16" & < "v0.17"} - "dune" {>= "2.0.0"} - "ppxlib" {>= "0.28.0"} -] -synopsis: "Expands [%here] into its location" -description: " -Part of the Jane Street's PPX rewriters collection. -" -url { -src: "https://ocaml.janestreet.com/ocaml-core/v0.16/files/ppx_here-v0.16.0.tar.gz" -checksum: "sha256=278198b92500c306fab3411e3dede264d678f203eb3295dd8dd79b70ed9273f0" -} diff --git a/esy.lock/opam/ppx_inline_test.v0.16.0/opam b/esy.lock/opam/ppx_inline_test.v0.16.0/opam deleted file mode 100644 index 375f6f026..000000000 --- a/esy.lock/opam/ppx_inline_test.v0.16.0/opam +++ /dev/null @@ -1,26 +0,0 @@ -opam-version: "2.0" -maintainer: "Jane Street developers" -authors: ["Jane Street Group, LLC"] -homepage: "https://github.com/janestreet/ppx_inline_test" -bug-reports: "https://github.com/janestreet/ppx_inline_test/issues" -dev-repo: "git+https://github.com/janestreet/ppx_inline_test.git" -doc: "https://ocaml.janestreet.com/ocaml-core/latest/doc/ppx_inline_test/index.html" -license: "MIT" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" {>= "4.14.0"} - "base" {>= "v0.16" & < "v0.17"} - "time_now" {>= "v0.16" & < "v0.17"} - "dune" {>= "2.0.0"} - "ppxlib" {>= "0.28.0"} -] -synopsis: "Syntax extension for writing in-line tests in ocaml code" -description: " -Part of the Jane Street's PPX rewriters collection. -" -url { -src: "https://ocaml.janestreet.com/ocaml-core/v0.16/files/ppx_inline_test-v0.16.0.tar.gz" -checksum: "sha256=216462f8fe988587d1e90f4a10aeb38664facb6eaeb3df60a32e9fb1a6bfbc67" -} diff --git a/esy.lock/opam/ppx_optcomp.v0.16.0/opam b/esy.lock/opam/ppx_optcomp.v0.16.0/opam deleted file mode 100644 index c391fc157..000000000 --- a/esy.lock/opam/ppx_optcomp.v0.16.0/opam +++ /dev/null @@ -1,26 +0,0 @@ -opam-version: "2.0" -maintainer: "Jane Street developers" -authors: ["Jane Street Group, LLC"] -homepage: "https://github.com/janestreet/ppx_optcomp" -bug-reports: "https://github.com/janestreet/ppx_optcomp/issues" -dev-repo: "git+https://github.com/janestreet/ppx_optcomp.git" -doc: "https://ocaml.janestreet.com/ocaml-core/latest/doc/ppx_optcomp/index.html" -license: "MIT" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" {>= "4.14.0"} - "base" {>= "v0.16" & < "v0.17"} - "stdio" {>= "v0.16" & < "v0.17"} - "dune" {>= "2.0.0"} - "ppxlib" {>= "0.28.0"} -] -synopsis: "Optional compilation for OCaml" -description: " -Part of the Jane Street's PPX rewriters collection. -" -url { -src: "https://ocaml.janestreet.com/ocaml-core/v0.16/files/ppx_optcomp-v0.16.0.tar.gz" -checksum: "sha256=99b209084a5375dafce4c6b128979661ab2ab6bf898a6872d596e65ded590ba2" -} diff --git a/esy.lock/opam/ppx_sexp_conv.v0.16.0/opam b/esy.lock/opam/ppx_sexp_conv.v0.16.0/opam deleted file mode 100644 index 906841c31..000000000 --- a/esy.lock/opam/ppx_sexp_conv.v0.16.0/opam +++ /dev/null @@ -1,26 +0,0 @@ -opam-version: "2.0" -maintainer: "Jane Street developers" -authors: ["Jane Street Group, LLC"] -homepage: "https://github.com/janestreet/ppx_sexp_conv" -bug-reports: "https://github.com/janestreet/ppx_sexp_conv/issues" -dev-repo: "git+https://github.com/janestreet/ppx_sexp_conv.git" -doc: "https://ocaml.janestreet.com/ocaml-core/latest/doc/ppx_sexp_conv/index.html" -license: "MIT" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" {>= "4.14.0"} - "base" {>= "v0.16" & < "v0.17"} - "sexplib0" {>= "v0.16" & < "v0.17"} - "dune" {>= "2.0.0"} - "ppxlib" {>= "0.28.0"} -] -synopsis: "[@@deriving] plugin to generate S-expression conversion functions" -description: " -Part of the Jane Street's PPX rewriters collection. -" -url { -src: "https://ocaml.janestreet.com/ocaml-core/v0.16/files/ppx_sexp_conv-v0.16.0.tar.gz" -checksum: "sha256=41bcb7a3b33bdf50428408bfaf1dbcede528a488ac8c436ce710681bcd91200d" -} diff --git a/esy.lock/opam/ppx_yojson_conv_lib.v0.16.0/opam b/esy.lock/opam/ppx_yojson_conv_lib.v0.16.0/opam deleted file mode 100644 index c3e72b433..000000000 --- a/esy.lock/opam/ppx_yojson_conv_lib.v0.16.0/opam +++ /dev/null @@ -1,24 +0,0 @@ -opam-version: "2.0" -maintainer: "Jane Street developers" -authors: ["Jane Street Group, LLC"] -homepage: "https://github.com/janestreet/ppx_yojson_conv_lib" -bug-reports: "https://github.com/janestreet/ppx_yojson_conv_lib/issues" -dev-repo: "git+https://github.com/janestreet/ppx_yojson_conv_lib.git" -doc: "https://ocaml.janestreet.com/ocaml-core/latest/doc/ppx_yojson_conv_lib/index.html" -license: "MIT" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" {>= "4.14.0"} - "dune" {>= "2.0.0"} - "yojson" {>= "1.7.0"} -] -synopsis: "Runtime lib for ppx_yojson_conv" -description: " -Part of the Jane Street's PPX rewriters collection. -" -url { -src: "https://ocaml.janestreet.com/ocaml-core/v0.16/files/ppx_yojson_conv_lib-v0.16.0.tar.gz" -checksum: "sha256=557c43c88d365b4cbb514d809f1eecc54d7b9976b0669bc55b02169e6c86ec7d" -} diff --git a/esy.lock/opam/ppxlib.0.31.0/opam b/esy.lock/opam/ppxlib.0.31.0/opam deleted file mode 100644 index c60173886..000000000 --- a/esy.lock/opam/ppxlib.0.31.0/opam +++ /dev/null @@ -1,61 +0,0 @@ -opam-version: "2.0" -synopsis: "Standard infrastructure for ppx rewriters" -description: """ -Ppxlib is the standard infrastructure for ppx rewriters -and other programs that manipulate the in-memory representation of -OCaml programs, a.k.a the "Parsetree". - -It also comes bundled with two ppx rewriters that are commonly used to -write tools that manipulate and/or generate Parsetree values; -`ppxlib.metaquot` which allows to construct Parsetree values using the -OCaml syntax directly and `ppxlib.traverse` which provides various -ways of automatically traversing values of a given type, in particular -allowing to inject a complex structured value into generated code. -""" -maintainer: ["opensource@janestreet.com"] -authors: ["Jane Street Group, LLC "] -license: "MIT" -homepage: "https://github.com/ocaml-ppx/ppxlib" -doc: "https://ocaml-ppx.github.io/ppxlib/" -bug-reports: "https://github.com/ocaml-ppx/ppxlib/issues" -depends: [ - "dune" {>= "2.7"} - "ocaml" {>= "4.04.1" & < "5.2.0" & != "5.1.0~alpha1"} - "ocaml-compiler-libs" {>= "v0.11.0"} - "ppx_derivers" {>= "1.0"} - "sexplib0" {>= "v0.12"} - "sexplib0" {with-test & >= "v0.15"} - "stdlib-shims" - "ocamlfind" {with-test} - "re" {with-test & >= "1.9.0"} - "cinaps" {with-test & >= "v0.12.1"} - "odoc" {with-doc} -] -conflicts: [ - "ocaml-migrate-parsetree" {< "2.0.0"} - "base-effects" -] -build: [ - ["dune" "subst"] {dev} - [ - "dune" - "build" - "-p" - name - "-j" - jobs - "@install" - "@runtest" {with-test} - "@doc" {with-doc} - ] -] -dev-repo: "git+https://github.com/ocaml-ppx/ppxlib.git" -url { - src: - "https://github.com/ocaml-ppx/ppxlib/releases/download/0.31.0/ppxlib-0.31.0.tbz" - checksum: [ - "sha256=d21676654e57faa12d7895caffe8703b64521d66efcf152491871a55b2ae41d8" - "sha512=63f2d327cfc5382476f812670d304aade91b3ea8f10420d6fc9e7078112368d99dbf43dfda9c2c2cf91341b71c37c45c1fe1d54fecde2348560f9d3c48571603" - ] -} -x-commit-hash: "e765a30151347f8044ce077d103d3828db8d5409" diff --git a/esy.lock/opam/printbox-text.0.7/opam b/esy.lock/opam/printbox-text.0.7/opam deleted file mode 100644 index cbcd2f2af..000000000 --- a/esy.lock/opam/printbox-text.0.7/opam +++ /dev/null @@ -1,34 +0,0 @@ -opam-version: "2.0" -authors: ["Simon Cruanes" "Guillaume Bury"] -maintainer: "simon.cruanes.2007@m4x.org" -synopsis: "Text renderer for printbox, using unicode edges" -build: [ - ["dune" "build" "@install" "-p" name "-j" jobs] - ["dune" "runtest" "-p" name "-j" jobs] {with-test} - ["dune" "build" "@doc" "-p" name "-j" jobs] {with-doc} -] -depends: [ - "dune" { >= "2.0" } - "base-bytes" - "odoc" {with-doc} - "ocaml" { >= "4.03" } - "printbox" { = version } - "uutf" { >= "1.0" } - "uucp" { >= "2.0" } - "mdx" {with-test & >= "1.4" } - "printbox-html" {with-test & post} -] -license: "BSD-2-Clause" -tags: [ "print" "box" "table" "tree" ] -homepage: "https://github.com/c-cube/printbox/" -dev-repo: "git+https://github.com/c-cube/printbox.git" -bug-reports: "https://github.com/c-cube/printbox/issues/" -url { - src: - "https://github.com/c-cube/printbox/releases/download/v0.7/printbox-0.7.tbz" - checksum: [ - "sha256=59271f9720bfe25e8bf884b38f1ba7fe161292faf6f895c89f71b615e5671737" - "sha512=77af5c0479a62f7e3df96267d0f5dc1315bdafcdaa2ded7bb2cbe4cab415c6310add696a45f8ae505f1ed51d509d4dd4d74000b5eae1f518c638afdaec95774d" - ] -} -x-commit-hash: "8a23ed1e54ca64183e2a47d96e6cdd02db3ffaaa" diff --git a/esy.lock/opam/printbox.0.7/opam b/esy.lock/opam/printbox.0.7/opam deleted file mode 100644 index 2c7e2cb1f..000000000 --- a/esy.lock/opam/printbox.0.7/opam +++ /dev/null @@ -1,29 +0,0 @@ -opam-version: "2.0" -authors: ["Simon Cruanes" "Guillaume Bury"] -maintainer: "simon.cruanes.2007@m4x.org" -synopsis: "Allows to print nested boxes, lists, arrays, tables in several formats" -build: [ - ["dune" "build" "@install" "-p" name "-j" jobs] - ["dune" "runtest" "-p" name "-j" jobs] {with-test} - ["dune" "build" "@doc" "-p" name "-j" jobs] {with-doc} -] -depends: [ - "dune" { >= "2.0" } - "base-bytes" - "odoc" {with-doc} - "ocaml" { >= "4.08" } -] -license: "BSD-2-Clause" -tags: [ "print" "box" "table" "tree" ] -homepage: "https://github.com/c-cube/printbox/" -dev-repo: "git+https://github.com/c-cube/printbox.git" -bug-reports: "https://github.com/c-cube/printbox/issues/" -url { - src: - "https://github.com/c-cube/printbox/releases/download/v0.7/printbox-0.7.tbz" - checksum: [ - "sha256=59271f9720bfe25e8bf884b38f1ba7fe161292faf6f895c89f71b615e5671737" - "sha512=77af5c0479a62f7e3df96267d0f5dc1315bdafcdaa2ded7bb2cbe4cab415c6310add696a45f8ae505f1ed51d509d4dd4d74000b5eae1f518c638afdaec95774d" - ] -} -x-commit-hash: "8a23ed1e54ca64183e2a47d96e6cdd02db3ffaaa" diff --git a/esy.lock/opam/re.1.11.0/opam b/esy.lock/opam/re.1.11.0/opam deleted file mode 100644 index 303af008c..000000000 --- a/esy.lock/opam/re.1.11.0/opam +++ /dev/null @@ -1,46 +0,0 @@ -opam-version: "2.0" - -maintainer: "rudi.grinberg@gmail.com" -authors: [ - "Jerome Vouillon" - "Thomas Gazagnaire" - "Anil Madhavapeddy" - "Rudi Grinberg" - "Gabriel Radanne" -] -license: "LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception" -homepage: "https://github.com/ocaml/ocaml-re" -bug-reports: "https://github.com/ocaml/ocaml-re/issues" -dev-repo: "git+https://github.com/ocaml/ocaml-re.git" - -build: [ - ["dune" "subst"] {dev} - ["dune" "build" "-p" name "-j" jobs] - ["dune" "runtest" "-p" name "-j" jobs] {with-test} -] - -depends: [ - "ocaml" {>= "4.03"} - "dune" {>= "2.0"} - "ounit" {with-test} - "seq" -] - -synopsis: "RE is a regular expression library for OCaml" -description: """ -Pure OCaml regular expressions with: -* Perl-style regular expressions (module Re.Perl) -* Posix extended regular expressions (module Re.Posix) -* Emacs-style regular expressions (module Re.Emacs) -* Shell-style file globbing (module Re.Glob) -* Compatibility layer for OCaml's built-in Str module (module Re.Str) -""" -url { - src: - "https://github.com/ocaml/ocaml-re/releases/download/1.11.0/re-1.11.0.tbz" - checksum: [ - "sha256=01fc244780c0f6be72ae796b1fb750f367de18624fd75d07ee79782ed6df8d4f" - "sha512=3e3712cc1266ec1f27620f3508ea2ebba338f4083b07d8a69dccee1facfdc1971a6c39f9deea664d2a62fd7f2cfd2eae816ca4c274acfadaee992a3befc4b757" - ] -} -x-commit-hash: "2dd38515c76c40299596d39f18d9b9a20f00d788" diff --git a/esy.lock/opam/react.1.2.2/opam b/esy.lock/opam/react.1.2.2/opam deleted file mode 100644 index cbbdc8f3f..000000000 --- a/esy.lock/opam/react.1.2.2/opam +++ /dev/null @@ -1,34 +0,0 @@ -opam-version: "2.0" -synopsis: "Declarative events and signals for OCaml" -description: """\ -Release %%VERSION%% - -React is an OCaml module for functional reactive programming (FRP). It -provides support to program with time varying values : declarative -events and signals. React doesn't define any primitive event or -signal, it lets the client chooses the concrete timeline. - -React is made of a single, independent, module and distributed under -the ISC license. - -Homepage: """ -maintainer: "Daniel Bünzli " -authors: "The react programmers" -license: "ISC" -tags: ["reactive" "declarative" "signal" "event" "frp" "org:erratique"] -homepage: "https://erratique.ch/software/react" -doc: "https://erratique.ch/software/react/doc/" -bug-reports: "https://github.com/dbuenzli/react/issues" -depends: [ - "ocaml" {>= "4.08.0"} - "ocamlfind" {build} - "ocamlbuild" {build} - "topkg" {build & >= "1.0.3"} -] -build: ["ocaml" "pkg/pkg.ml" "build" "--dev-pkg" "%{dev}%"] -dev-repo: "git+https://erratique.ch/repos/react.git" -url { - src: "https://erratique.ch/software/react/releases/react-1.2.2.tbz" - checksum: - "sha512=18cdd544d484222ba02db6bd9351571516532e7a1c107b59bbe39193837298f5c745eab6754f8bc6ff125b387be7018c6d6e6ac99f91925a5e4f53af688522b1" -} \ No newline at end of file diff --git a/esy.lock/opam/result.1.5/opam b/esy.lock/opam/result.1.5/opam deleted file mode 100644 index 6b7b68d72..000000000 --- a/esy.lock/opam/result.1.5/opam +++ /dev/null @@ -1,22 +0,0 @@ -opam-version: "2.0" -maintainer: "Jane Street developers" -authors: ["Jane Street Group, LLC"] -homepage: "https://github.com/janestreet/result" -dev-repo: "git+https://github.com/janestreet/result.git" -bug-reports: "https://github.com/janestreet/result/issues" -license: "BSD-3-Clause" -build: [["dune" "build" "-p" name "-j" jobs]] -depends: [ - "ocaml" - "dune" {>= "1.0"} -] -synopsis: "Compatibility Result module" -description: """ -Projects that want to use the new result type defined in OCaml >= 4.03 -while staying compatible with older version of OCaml should use the -Result module defined in this library.""" -url { - src: - "https://github.com/janestreet/result/releases/download/1.5/result-1.5.tbz" - checksum: "md5=1b82dec78849680b49ae9a8a365b831b" -} diff --git a/esy.lock/opam/seq.base/files/META.seq b/esy.lock/opam/seq.base/files/META.seq deleted file mode 100644 index 06b95eff3..000000000 --- a/esy.lock/opam/seq.base/files/META.seq +++ /dev/null @@ -1,4 +0,0 @@ -name="seq" -version="[distributed with OCaml 4.07 or above]" -description="dummy backward-compatibility package for iterators" -requires="" diff --git a/esy.lock/opam/seq.base/files/seq.install b/esy.lock/opam/seq.base/files/seq.install deleted file mode 100644 index c4d70206e..000000000 --- a/esy.lock/opam/seq.base/files/seq.install +++ /dev/null @@ -1,3 +0,0 @@ -lib:[ - "META.seq" {"META"} -] diff --git a/esy.lock/opam/seq.base/opam b/esy.lock/opam/seq.base/opam deleted file mode 100644 index b33d8c7da..000000000 --- a/esy.lock/opam/seq.base/opam +++ /dev/null @@ -1,15 +0,0 @@ -opam-version: "2.0" -maintainer: " " -authors: " " -homepage: " " -depends: [ - "ocaml" {>= "4.07.0"} -] -dev-repo: "git+https://github.com/ocaml/ocaml.git" -bug-reports: "https://caml.inria.fr/mantis/main_page.php" -synopsis: - "Compatibility package for OCaml's standard iterator type starting from 4.07." -extra-files: [ - ["seq.install" "md5=026b31e1df290373198373d5aaa26e42"] - ["META.seq" "md5=b33c8a1a6c7ed797816ce27df4855107"] -] diff --git a/esy.lock/opam/sexplib0.v0.16.0/opam b/esy.lock/opam/sexplib0.v0.16.0/opam deleted file mode 100644 index d9c5f049d..000000000 --- a/esy.lock/opam/sexplib0.v0.16.0/opam +++ /dev/null @@ -1,26 +0,0 @@ -opam-version: "2.0" -maintainer: "Jane Street developers" -authors: ["Jane Street Group, LLC"] -homepage: "https://github.com/janestreet/sexplib0" -bug-reports: "https://github.com/janestreet/sexplib0/issues" -dev-repo: "git+https://github.com/janestreet/sexplib0.git" -doc: "https://ocaml.janestreet.com/ocaml-core/latest/doc/sexplib0/index.html" -license: "MIT" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" {>= "4.08.0"} - "dune" {>= "2.0.0"} -] -synopsis: "Library containing the definition of S-expressions and some base converters" -description: " -Part of Jane Street's Core library -The Core suite of libraries is an industrial strength alternative to -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.16/files/sexplib0-v0.16.0.tar.gz" -checksum: "sha256=86dba26468194512f789f2fb709063515a9cb4e5c4461c021c239a369590701d" -} diff --git a/esy.lock/opam/spawn.v0.15.1/opam b/esy.lock/opam/spawn.v0.15.1/opam deleted file mode 100644 index 5be3a9949..000000000 --- a/esy.lock/opam/spawn.v0.15.1/opam +++ /dev/null @@ -1,56 +0,0 @@ -opam-version: "2.0" -synopsis: "Spawning sub-processes" -description: """ -Spawn is a small library exposing only one functionality: spawning sub-process. - -It has three main goals: - -1. provide missing features of Unix.create_process such as providing a -working directory - -2. provide better errors when a system call fails in the -sub-process. For instance if a command is not found, you get a proper -[Unix.Unix_error] exception - -3. improve performance by using vfork when available. It is often -claimed that nowadays fork is as fast as vfork, however in practice -fork takes time proportional to the process memory while vfork is -constant time. In application using a lot of memory, vfork can be -thousands of times faster than fork. -""" -maintainer: ["Jane Street developers"] -authors: ["Jane Street Group, LLC"] -license: "MIT" -homepage: "https://github.com/janestreet/spawn" -doc: "https://janestreet.github.io/spawn/" -bug-reports: "https://github.com/janestreet/spawn/issues" -depends: [ - "dune" {>= "2.8"} - "ppx_expect" {with-test} - "ocaml" {>= "4.05"} - "odoc" {with-doc} -] -build: [ - ["dune" "subst"] {dev} - [ - "dune" - "build" - "-p" - name - "-j" - jobs - "@install" - "@runtest" {with-test} - "@doc" {with-doc} - ] -] -dev-repo: "git+https://github.com/janestreet/spawn.git" -x-commit-hash: "13d279ebfa8c40d4bafe18cddfdff0de54b4eaff" -url { - src: - "https://github.com/janestreet/spawn/archive/v0.15.1.tar.gz" - checksum: [ - "sha256=9afdee314fab6c3fcd689ab6eb5608d6b78078e6dede3953a47debde06c19d50" - "sha512=efdb31d5ec5ea36d0bc80224d4ee04e46ce3428d1662870e6cebece92bc313d6eebee378802c0c059dd6e0cafea515308c31b7dfaf04a098eb4566583c1e9ed4" - ] -} diff --git a/esy.lock/opam/sqlite3.5.0.2/opam b/esy.lock/opam/sqlite3.5.0.2/opam deleted file mode 100644 index 6ce369d32..000000000 --- a/esy.lock/opam/sqlite3.5.0.2/opam +++ /dev/null @@ -1,37 +0,0 @@ -opam-version: "2.0" -build: [ - ["dune" "subst"] {dev} - ["dune" "build" "-p" name "-j" jobs] - ["dune" "runtest" "-p" name "-j" jobs] {with-test} - ["dune" "build" "-p" name "@doc"] {with-doc} -] -maintainer: ["Markus Mottl "] -authors: [ - "Markus Mottl " - "Christian Szegedy " -] -bug-reports: "https://github.com/mmottl/sqlite3-ocaml/issues" -homepage: "https://mmottl.github.io/sqlite3-ocaml" -doc: "https://mmottl.github.io/sqlite3-ocaml/api" -license: "Expat" -dev-repo: "git+https://github.com/mmottl/sqlite3-ocaml.git" -synopsis: "SQLite3 bindings for OCaml" -description: """ -sqlite3-ocaml is an OCaml library with bindings to the SQLite3 client API. -Sqlite3 is a self-contained, serverless, zero-configuration, transactional SQL -database engine with outstanding performance for many use cases.""" -depends: [ - "ocaml" {>= "4.06"} - "dune" {>= "1.11"} - "dune-configurator" - "conf-sqlite3" {build} - "ppx_inline_test" {with-test} -] -url { - src: - "https://github.com/mmottl/sqlite3-ocaml/releases/download/5.0.2/sqlite3-5.0.2.tbz" - checksum: [ - "sha256=02ddd45536ea432f4cc149ca140f77de0c1a99c67741caf28afd6f092c396a69" - "sha512=d982094454d06dc4f070da20fb9b02a112bfe17bae8d7889a370b6d7c88a44d09746675f1f061f107a9382b21032368505c889886278be3310a0545075133e11" - ] -} diff --git a/esy.lock/opam/stdio.v0.16.0/opam b/esy.lock/opam/stdio.v0.16.0/opam deleted file mode 100644 index bd23d607d..000000000 --- a/esy.lock/opam/stdio.v0.16.0/opam +++ /dev/null @@ -1,27 +0,0 @@ -opam-version: "2.0" -maintainer: "Jane Street developers" -authors: ["Jane Street Group, LLC"] -homepage: "https://github.com/janestreet/stdio" -bug-reports: "https://github.com/janestreet/stdio/issues" -dev-repo: "git+https://github.com/janestreet/stdio.git" -doc: "https://ocaml.janestreet.com/ocaml-core/latest/doc/stdio/index.html" -license: "MIT" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" {>= "4.14.0"} - "base" {>= "v0.16" & < "v0.17"} - "dune" {>= "2.0.0"} -] -synopsis: "Standard IO library for OCaml" -description: " -Stdio implements simple input/output functionalities for OCaml. - -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.16/files/stdio-v0.16.0.tar.gz" -checksum: "sha256=61f0b75950614ac5378c6ec0d822cce6463402d919d5810b736fc46522b3a73e" -} diff --git a/esy.lock/opam/stdlib-shims.0.3.0/opam b/esy.lock/opam/stdlib-shims.0.3.0/opam deleted file mode 100644 index 8c9695710..000000000 --- a/esy.lock/opam/stdlib-shims.0.3.0/opam +++ /dev/null @@ -1,31 +0,0 @@ -opam-version: "2.0" -maintainer: "The stdlib-shims programmers" -authors: "The stdlib-shims programmers" -homepage: "https://github.com/ocaml/stdlib-shims" -doc: "https://ocaml.github.io/stdlib-shims/" -dev-repo: "git+https://github.com/ocaml/stdlib-shims.git" -bug-reports: "https://github.com/ocaml/stdlib-shims/issues" -tags: ["stdlib" "compatibility" "org:ocaml"] -license: ["LGPL-2.1-only WITH OCaml-LGPL-linking-exception"] -depends: [ - "dune" - "ocaml" {>= "4.02.3"} -] -build: [ "dune" "build" "-p" name "-j" jobs ] -synopsis: "Backport some of the new stdlib features to older compiler" -description: """ -Backport some of the new stdlib features to older compiler, -such as the Stdlib module. - -This allows projects that require compatibility with older compiler to -use these new features in their code. -""" -x-commit-hash: "fb6815e5d745f07fd567c11671149de6ef2e74c8" -url { - src: - "https://github.com/ocaml/stdlib-shims/releases/download/0.3.0/stdlib-shims-0.3.0.tbz" - checksum: [ - "sha256=babf72d3917b86f707885f0c5528e36c63fccb698f4b46cf2bab5c7ccdd6d84a" - "sha512=1151d7edc8923516e9a36995a3f8938d323aaade759ad349ed15d6d8501db61ffbe63277e97c4d86149cf371306ac23df0f581ec7e02611f58335126e1870980" - ] -} diff --git a/esy.lock/opam/stdune.3.13.0/opam b/esy.lock/opam/stdune.3.13.0/opam deleted file mode 100644 index 6d34ca34c..000000000 --- a/esy.lock/opam/stdune.3.13.0/opam +++ /dev/null @@ -1,45 +0,0 @@ -opam-version: "2.0" -synopsis: "Dune's unstable standard library" -description: - "This library offers no backwards compatibility guarantees. Use at your own risk." -maintainer: ["Jane Street Group, LLC "] -authors: ["Jane Street Group, LLC "] -license: "MIT" -homepage: "https://github.com/ocaml/dune" -doc: "https://dune.readthedocs.io/" -bug-reports: "https://github.com/ocaml/dune/issues" -depends: [ - "dune" {>= "3.5"} - "ocaml" {>= "4.08.0"} - "base-unix" - "dyn" {= version} - "ordering" {= version} - "pp" {>= "1.2.0"} - "csexp" {>= "1.5.0"} - "odoc" {with-doc} -] -dev-repo: "git+https://github.com/ocaml/dune.git" -build: [ - ["dune" "subst"] {dev} - ["rm" "-rf" "vendor/csexp"] - ["rm" "-rf" "vendor/pp"] - [ - "dune" - "build" - "-p" - name - "-j" - jobs - "@install" - "@doc" {with-doc} - ] -] -url { - src: - "https://github.com/ocaml/dune/releases/download/3.13.0/dune-3.13.0.tbz" - checksum: [ - "sha256=f1801257e01c846bd71017ec5d4b2b75fd31b20a0d5979b933b37cc8453678de" - "sha512=850667439ecc75b3a94ee99d5894e0fb0cc03378cec9101f960045004b15143a7e245f5ed938dc1226695fd7fedf875ff10528db2a35935fdcbc0d7f0c959847" - ] -} -x-commit-hash: "21f904250f8bc27abbeafadf70682aceb198b1e3" diff --git a/esy.lock/opam/time_now.v0.16.0/opam b/esy.lock/opam/time_now.v0.16.0/opam deleted file mode 100644 index 6000dba84..000000000 --- a/esy.lock/opam/time_now.v0.16.0/opam +++ /dev/null @@ -1,29 +0,0 @@ -opam-version: "2.0" -maintainer: "Jane Street developers" -authors: ["Jane Street Group, LLC"] -homepage: "https://github.com/janestreet/time_now" -bug-reports: "https://github.com/janestreet/time_now/issues" -dev-repo: "git+https://github.com/janestreet/time_now.git" -doc: "https://ocaml.janestreet.com/ocaml-core/latest/doc/time_now/index.html" -license: "MIT" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" {>= "4.14.0"} - "base" {>= "v0.16" & < "v0.17"} - "jane-street-headers" {>= "v0.16" & < "v0.17"} - "jst-config" {>= "v0.16" & < "v0.17"} - "ppx_base" {>= "v0.16" & < "v0.17"} - "ppx_optcomp" {>= "v0.16" & < "v0.17"} - "dune" {>= "2.0.0"} -] -synopsis: "Reports the current time" -description: " -Provides a single function to report the current time in nanoseconds -since the start of the Unix epoch. -" -url { -src: "https://ocaml.janestreet.com/ocaml-core/v0.16/files/time_now-v0.16.0.tar.gz" -checksum: "sha256=5fa084aadee6aaedbb8976e4a2bc0c1dfe69eecdd0576ff901f21eedd46dc3a1" -} diff --git a/esy.lock/opam/topkg.1.0.7/opam b/esy.lock/opam/topkg.1.0.7/opam deleted file mode 100644 index 83fc06f49..000000000 --- a/esy.lock/opam/topkg.1.0.7/opam +++ /dev/null @@ -1,47 +0,0 @@ -opam-version: "2.0" -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 -distribution, creation and publication procedures. - -The optional topkg-care package provides the `topkg` command line tool -which helps with various aspects of a package's life cycle: creating -and linting a distribution, releasing it on the WWW, publish its -documentation, add it to the OCaml opam repository, etc. - -Topkg is distributed under the ISC license and has **no** -dependencies. This is what your packages will need as a *build* -dependency. - -Topkg-care is distributed under the ISC license it depends on -[fmt][fmt], [logs][logs], [bos][bos], [cmdliner][cmdliner], -[webbrowser][webbrowser] and `opam-format`. - -[fmt]: http://erratique.ch/software/fmt -[logs]: http://erratique.ch/software/logs -[bos]: http://erratique.ch/software/bos -[cmdliner]: http://erratique.ch/software/cmdliner -[webbrowser]: http://erratique.ch/software/webbrowser - -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.7.tbz" - checksum: - "sha512=09e59f1759bf4db8471f02d0aefd8db602b44932a291c05c312b1423796e7a15d1598d3c62a0cec7f083eff8e410fac09363533dc4bd2120914bb9664efea535" -} \ No newline at end of file diff --git a/esy.lock/opam/trie.1.0.0/opam b/esy.lock/opam/trie.1.0.0/opam deleted file mode 100644 index 29442d7dd..000000000 --- a/esy.lock/opam/trie.1.0.0/opam +++ /dev/null @@ -1,19 +0,0 @@ -opam-version: "2.0" -maintainer: "zandoye@gmail.com" -authors: [ "ZAN DoYe" ] -homepage: "https://github.com/kandu/trie/" -bug-reports: "https://github.com/kandu/trie/issues" -license: "MIT" -dev-repo: "git+https://github.com/kandu/trie.git" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" {>= "4.02"} - "dune" {>= "1.0"} -] -synopsis: "Strict impure trie tree" -url { - src: "https://github.com/kandu/trie/archive/1.0.0.tar.gz" - checksum: "md5=84519b5f8bd92490bfc68a52f706ba14" -} diff --git a/esy.lock/opam/tyxml.4.6.0/opam b/esy.lock/opam/tyxml.4.6.0/opam deleted file mode 100644 index a0e62e118..000000000 --- a/esy.lock/opam/tyxml.4.6.0/opam +++ /dev/null @@ -1,43 +0,0 @@ -opam-version: "2.0" -synopsis: "A library for building correct HTML and SVG documents" -description: - "TyXML provides a set of convenient combinators that uses the OCaml type system to ensure the validity of the generated documents. TyXML can be used with any representation of HTML and SVG: the textual one, provided directly by this package, or DOM trees (`js_of_ocaml-tyxml`) virtual DOM (`virtual-dom`) and reactive or replicated trees (`eliom`). You can also create your own representation and use it to instantiate a new set of combinators." -maintainer: ["dev@ocsigen.org"] -authors: ["The ocsigen team"] -license: "LGPL-2.1-only WITH OCaml-LGPL-linking-exception" -homepage: "https://github.com/ocsigen/tyxml" -doc: "https://ocsigen.org/tyxml/latest/manual/intro" -bug-reports: "https://github.com/ocsigen/tyxml/issues" -depends: [ - "dune" {>= "2.7"} - "ocaml" {>= "4.04"} - "alcotest" {with-test} - "re" {>= "1.7.2"} - "seq" - "uutf" {>= "1.0.0"} - "odoc" {with-doc} -] -build: [ - ["dune" "subst"] {dev} - [ - "dune" - "build" - "-p" - name - "-j" - jobs - "@install" - "@runtest" {with-test} - "@doc" {with-doc} - ] -] -dev-repo: "git+https://github.com/ocsigen/tyxml.git" -url { - src: - "https://github.com/ocsigen/tyxml/releases/download/4.6.0/tyxml-4.6.0.tbz" - checksum: [ - "sha256=bfeb673c6b4e120a4eca4c48448add47dc3f8d02c2b40f63ffdccc4e91c902dd" - "sha512=69750eeaf467014282087bf9628f3278f3e5f00f4c7400358750d208664cfc3f79a5cba16767d2935e53477d1a6862fe08c5b801b69052ec12e09d1a93a5e9b4" - ] -} -x-commit-hash: "d2916535536f2134bad7793a598ba5b7327cae41" diff --git a/esy.lock/opam/uchar.0.0.2/opam b/esy.lock/opam/uchar.0.0.2/opam deleted file mode 100644 index 4310af436..000000000 --- a/esy.lock/opam/uchar.0.0.2/opam +++ /dev/null @@ -1,36 +0,0 @@ -opam-version: "2.0" -maintainer: "Daniel Bünzli " -authors: ["Daniel Bünzli "] -homepage: "http://ocaml.org" -doc: "https://ocaml.github.io/uchar/" -dev-repo: "git+https://github.com/ocaml/uchar.git" -bug-reports: "https://github.com/ocaml/uchar/issues" -tags: [ "text" "character" "unicode" "compatibility" "org:ocaml.org" ] -license: "LGPL-2.1-only WITH OCaml-LGPL-linking-exception" -depends: [ - "ocaml" {>= "3.12.0"} - "ocamlbuild" {build} -] -build: [ - ["ocaml" "pkg/git.ml"] - [ - "ocaml" - "pkg/build.ml" - "native=%{ocaml:native}%" - "native-dynlink=%{ocaml:native-dynlink}%" - ] -] -synopsis: "Compatibility library for OCaml's Uchar module" -description: """ -The `uchar` package provides a compatibility library for the -[`Uchar`][1] module introduced in OCaml 4.03. - -The `uchar` package is distributed under the license of the OCaml -compiler. See [LICENSE](LICENSE) for details. - -[1]: http://caml.inria.fr/pub/docs/manual-ocaml/libref/Uchar.html""" -url { - src: - "https://github.com/ocaml/uchar/releases/download/v0.0.2/uchar-0.0.2.tbz" - checksum: "md5=c9ba2c738d264c420c642f7bb1cf4a36" -} diff --git a/esy.lock/opam/utop.2.13.1/opam b/esy.lock/opam/utop.2.13.1/opam deleted file mode 100644 index 88b623820..000000000 --- a/esy.lock/opam/utop.2.13.1/opam +++ /dev/null @@ -1,50 +0,0 @@ -opam-version: "2.0" -synopsis: "Universal toplevel for OCaml" -description: - "utop is an improved toplevel (i.e., Read-Eval-Print Loop or REPL) for OCaml. It can run in a terminal or in Emacs. It supports line edition, history, real-time and context sensitive completion, colors, and more. It integrates with the Tuareg mode in Emacs." -maintainer: ["jeremie@dimino.org"] -authors: ["Jérémie Dimino"] -license: "BSD-3-Clause" -homepage: "https://github.com/ocaml-community/utop" -doc: "https://ocaml-community.github.io/utop/" -bug-reports: "https://github.com/ocaml-community/utop/issues" -depends: [ - "dune" {>= "2.0"} - "ocaml" {>= "4.11.0"} - "base-unix" - "base-threads" - "ocamlfind" {>= "1.7.2"} - "lambda-term" {>= "3.1.0" & < "4.0"} - "logs" - "lwt" - "lwt_react" - "zed" {>= "3.2.0"} - "react" {>= "1.0.0"} - "cppo" {>= "1.1.2"} - "alcotest" {with-test} - "xdg" {>= "3.9.0"} -] -build: [ - ["dune" "subst"] {dev} - [ - "dune" - "build" - "-p" - name - "-j" - jobs - "@install" - "@runtest" {with-test} - "@doc" {with-doc} - ] -] -dev-repo: "git+https://github.com/ocaml-community/utop.git" -url { - src: - "https://github.com/ocaml-community/utop/releases/download/2.13.1/utop-2.13.1.tbz" - checksum: [ - "sha256=b04ec2a394d1a6a28a79444c58f66eab77b7f74401f4714aa6e6f1c2125a6ffd" - "sha512=37b116f408a8d8448e5faf99805e3c26a8bc0c149a64e2be75d261b1de9aca176982e95fb0d128e5072f22da99375d0691d23093d4b21d5fb9a26b034c262c51" - ] -} -x-commit-hash: "5b98d2845bf8e46a253593578cf0371d773f6da0" diff --git a/esy.lock/opam/uucp.15.1.0/opam b/esy.lock/opam/uucp.15.1.0/opam deleted file mode 100644 index f3abfcad2..000000000 --- a/esy.lock/opam/uucp.15.1.0/opam +++ /dev/null @@ -1,51 +0,0 @@ -opam-version: "2.0" -synopsis: "Unicode character properties for OCaml" -description: """\ -Uucp is an OCaml library providing efficient access to a selection of -character properties of the [Unicode character database]. - -Uucp is distributed under the ISC license. It has no dependency. - -Home page: - -[Unicode character database]: http://www.unicode.org/reports/tr44/""" -maintainer: "Daniel Bünzli " -authors: "The uucp programmers" -license: "ISC" -tags: ["unicode" "text" "character" "org:erratique"] -homepage: "https://erratique.ch/software/uucp" -doc: "https://erratique.ch/software/uucp/doc/" -bug-reports: "https://github.com/dbuenzli/uucp/issues" -depends: [ - "ocaml" {>= "4.14.0"} - "ocamlfind" {build} - "ocamlbuild" {build} - "topkg" {build & >= "1.0.3"} - "uucd" {with-test & dev & >= "15.1.0" & < "16.0.0"} - "uunf" {with-test} -] -depopts: ["uunf" "cmdliner"] -conflicts: [ - "uunf" {< "15.1.0" | >= "16.0.0"} - "cmdliner" {< "1.1.0"} -] -build: [ - "ocaml" - "pkg/pkg.ml" - "build" - "--dev-pkg" - "%{dev}%" - "--with-uunf" - "%{uunf:installed}%" - "--with-cmdliner" - "%{cmdliner:installed}%" -] -post-messages: - "If the build fails with \"ocamlopt.opt got signal and exited\", issue 'ulimit -s unlimited' and retry." - {failure & (arch = "ppc64" | arch = "arm64")} -dev-repo: "git+https://erratique.ch/repos/uucp.git" -url { - src: "https://erratique.ch/software/uucp/releases/uucp-15.1.0.tbz" - checksum: - "sha512=998f94fadb72357b15a3042a3d11c31b3e16f281822673f2defdd515cd1394d55de1817628be8bd5c030175f9e62c53630d4139a1c0253800f9fb898b0f11364" -} \ No newline at end of file diff --git a/esy.lock/opam/uuidm.0.9.8/opam b/esy.lock/opam/uuidm.0.9.8/opam deleted file mode 100644 index ca18d9021..000000000 --- a/esy.lock/opam/uuidm.0.9.8/opam +++ /dev/null @@ -1,44 +0,0 @@ -opam-version: "2.0" -synopsis: "Universally unique identifiers (UUIDs) for OCaml" -description: """\ -Uuidm is an OCaml module implementing 128 bits universally unique -identifiers version 3, 5 (named based with MD5, SHA-1 hashing) and 4 -(random based) according to [RFC 4122][rfc4122]. - -Uuidm has no dependency and is distributed under the ISC license. - -[rfc4122]: http://tools.ietf.org/html/rfc4122 - -Homepage: """ -maintainer: "Daniel Bünzli " -authors: "The uuidm programmers" -license: "ISC" -tags: ["uuid" "codec" "org:erratique"] -homepage: "https://erratique.ch/software/uuidm" -doc: "https://erratique.ch/software/uuidm/doc/" -bug-reports: "https://github.com/dbuenzli/uuidm/issues" -depends: [ - "ocaml" {>= "4.08.0"} - "ocamlfind" {build} - "ocamlbuild" {build} - "topkg" {build & >= "1.0.3"} -] -depopts: ["cmdliner"] -conflicts: [ - "cmdliner" {< "1.1.0"} -] -build: [ - "ocaml" - "pkg/pkg.ml" - "build" - "--dev-pkg" - "%{dev}%" - "--with-cmdliner" - "%{cmdliner:installed}%" -] -dev-repo: "git+https://erratique.ch/repos/uuidm.git" -url { - src: "https://erratique.ch/software/uuidm/releases/uuidm-0.9.8.tbz" - checksum: - "sha512=d5073ae49c402ab3ea6dc8f86bc5b8cc14129437e23e47da4d91431648fcb31c4dce6308f9c936c58df9a2c6afda61d77105a3022e369cca4e4c140320e803b5" -} \ No newline at end of file diff --git a/esy.lock/opam/uuseg.15.1.0/opam b/esy.lock/opam/uuseg.15.1.0/opam deleted file mode 100644 index c1a872035..000000000 --- a/esy.lock/opam/uuseg.15.1.0/opam +++ /dev/null @@ -1,55 +0,0 @@ -opam-version: "2.0" -synopsis: "Unicode text segmentation for OCaml" -description: """\ -Uuseg is an OCaml library for segmenting Unicode text. It implements -the locale independent [Unicode text segmentation algorithms][1] to -detect grapheme cluster, word and sentence boundaries and the [Unicode -line breaking algorithm][2] to detect line break opportunities. - -The library is independent from any IO mechanism or Unicode text data -structure and it can process text without a complete in-memory -representation. - -Uuseg is distributed under the ISC license. It depends on [Uucp]. - -[1]: http://www.unicode.org/reports/tr29/ -[2]: http://www.unicode.org/reports/tr14/ -[Uucp]: http://erratique.ch/software/uucp - -Homepage: """ -maintainer: "Daniel Bünzli " -authors: "The uuseg programmers" -license: "ISC" -tags: ["unicode" "text" "segmentation" "org:erratique"] -homepage: "https://erratique.ch/software/uuseg" -doc: "https://erratique.ch/software/uuseg/doc/" -bug-reports: "https://github.com/dbuenzli/uuseg/issues" -depends: [ - "ocaml" {>= "4.14.0"} - "ocamlfind" {build} - "ocamlbuild" {build} - "topkg" {build & >= "1.0.3"} - "uucp" {>= "15.1.0" & < "16.0.0"} -] -depopts: ["uutf" "cmdliner"] -conflicts: [ - "uutf" {< "1.0.0"} - "cmdliner" {< "1.1.0"} -] -build: [ - "ocaml" - "pkg/pkg.ml" - "build" - "--dev-pkg" - "%{dev}%" - "--with-uutf" - "%{uutf:installed}%" - "--with-cmdliner" - "%{cmdliner:installed}%" -] -dev-repo: "git+https://erratique.ch/repos/uuseg.git" -url { - src: "https://erratique.ch/software/uuseg/releases/uuseg-15.1.0.tbz" - checksum: - "sha512=1e9460dc5a856c985d40c61fd1560bdfdb8bbaf8d7430405814589b47d4a7f7869658d1e3198c7a9132412e9b4b85402ceb4bda5040da426b69e9aef4222a23a" -} \ No newline at end of file diff --git a/esy.lock/opam/uutf.1.0.3/opam b/esy.lock/opam/uutf.1.0.3/opam deleted file mode 100644 index e96cc4a4d..000000000 --- a/esy.lock/opam/uutf.1.0.3/opam +++ /dev/null @@ -1,36 +0,0 @@ -opam-version: "2.0" -synopsis: """Non-blocking streaming Unicode codec for OCaml""" -maintainer: ["Daniel Bünzli "] -authors: ["The uutf programmers"] -homepage: "https://erratique.ch/software/uutf" -doc: "https://erratique.ch/software/uutf/doc/" -dev-repo: "git+https://erratique.ch/repos/uutf.git" -bug-reports: "https://github.com/dbuenzli/uutf/issues" -license: ["ISC"] -tags: ["unicode" "text" "utf-8" "utf-16" "codec" "org:erratique"] -depends: ["ocaml" {>= "4.03.0"} - "ocamlfind" {build} - "ocamlbuild" {build} - "topkg" {build & >= "1.0.3"}] -depopts: ["cmdliner"] -conflicts: ["cmdliner" {< "0.9.8"}] -build: [["ocaml" "pkg/pkg.ml" "build" "--dev-pkg" "%{dev}%" - "--with-cmdliner" "%{cmdliner:installed}%"]] -url { - src: "https://erratique.ch/software/uutf/releases/uutf-1.0.3.tbz" - checksum: "sha512=50cc4486021da46fb08156e9daec0d57b4ca469b07309c508d5a9a41e9dbcf1f32dec2ed7be027326544453dcaf9c2534919395fd826dc7768efc6cc4bfcc9f8"} -description: """ -Uutf is a non-blocking streaming codec to decode and encode the UTF-8, -UTF-16, UTF-16LE and UTF-16BE encoding schemes. It can efficiently -work character by character without blocking on IO. Decoders perform -character position tracking and support newline normalization. - -Functions are also provided to fold over the characters of UTF encoded -OCaml string values and to directly encode characters in OCaml -Buffer.t values. **Note** that since OCaml 4.14, that functionality -can be found in the Stdlib and you are encouraged to migrate to it. - -Uutf has no dependency and is distributed under the ISC license. - -Home page: http://erratique.ch/software/uutf -Contact: Daniel Bünzli ``""" \ No newline at end of file diff --git a/esy.lock/opam/visitors.20210608/opam b/esy.lock/opam/visitors.20210608/opam deleted file mode 100644 index 9e78e0f7d..000000000 --- a/esy.lock/opam/visitors.20210608/opam +++ /dev/null @@ -1,32 +0,0 @@ -opam-version: "2.0" -maintainer: "francois.pottier@inria.fr" -authors: [ - "François Pottier " -] -homepage: "https://gitlab.inria.fr/fpottier/visitors" -dev-repo: "git+https://gitlab.inria.fr/fpottier/visitors.git" -bug-reports: "francois.pottier@inria.fr" -license: "LGPL-2.1-only" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" {>= "4.05.0"} - "ppxlib" {>= "0.22.0"} - "ppx_deriving" {>= "5.0"} - "result" - "dune" {>= "2.0"} -] -synopsis: "An OCaml syntax extension for generating visitor classes" -description: """ -Annotating an algebraic data type definition with [@@deriving visitors { ... }] -causes visitor classes to be automatically generated. A visitor is an object -that knows how to traverse and transform a data structure.""" -url { - src: - "https://gitlab.inria.fr/fpottier/visitors/-/archive/20210608/archive.tar.gz" - checksum: [ - "md5=c56a86f81e0c1531e22c89cb8691d02c" - "sha512=1ddd6654325ce47394239ea36b64e4c11ddbfa4f8061e0a22dac9bc1b822253abd0cbf8d4607c7fc3bb572b0e12075a3cea7632536230057e3e069536c6a5c3b" - ] -} diff --git a/esy.lock/opam/wtf8.1.0.2/opam b/esy.lock/opam/wtf8.1.0.2/opam deleted file mode 100644 index abdc0e500..000000000 --- a/esy.lock/opam/wtf8.1.0.2/opam +++ /dev/null @@ -1,28 +0,0 @@ -opam-version: "2.0" -maintainer: "Marshall Roch " -authors: "Marshall Roch " -license: "MIT" -homepage: "https://github.com/flowtype/ocaml-wtf8" -doc: "https://github.com/flowtype/ocaml-wtf8" -bug-reports: "https://github.com/flowtype/ocaml-wtf8/issues" -depends: [ - "ocaml" {>= "4.01.0"} - "dune" {>= "1.0"} -] -build: [ - ["dune" "build" "-p" name "-j" jobs] - ["dune" "runtest" "-p" name "-j" jobs] {with-test} -] -dev-repo: "git+https://github.com/flowtype/ocaml-wtf8.git" -synopsis: "Encoder and decoder for WTF-8" -description: """ -WTF-8 is a superset of UTF-8 that allows unpaired surrogates. -""" -url { - src: - "https://github.com/flowtype/ocaml-wtf8/releases/download/v1.0.2/wtf8-v1.0.2.tbz" - checksum: [ - "sha256=779ff72940405918fcb67b6be11909ef82965bbc2f9ff07f9b59f1d27a67cf27" - "sha512=fc1201d2178daaebb2f87d47c7b7c9bde06560d70e75fee9c6f741f7348500eaa0850c852847fc7435054cc2de7aa80643174002cb5389483f0fa49dab6e634f" - ] -} diff --git a/esy.lock/opam/xdg.3.13.0/opam b/esy.lock/opam/xdg.3.13.0/opam deleted file mode 100644 index e2ef4b436..000000000 --- a/esy.lock/opam/xdg.3.13.0/opam +++ /dev/null @@ -1,40 +0,0 @@ -opam-version: "2.0" -synopsis: "XDG Base Directory Specification" -description: - "https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html" -maintainer: ["Jane Street Group, LLC "] -authors: ["Jane Street Group, LLC "] -license: "MIT" -homepage: "https://github.com/ocaml/dune" -doc: "https://dune.readthedocs.io/" -bug-reports: "https://github.com/ocaml/dune/issues" -depends: [ - "dune" {>= "3.5"} - "ocaml" {>= "4.08"} - "odoc" {with-doc} -] -dev-repo: "git+https://github.com/ocaml/dune.git" -build: [ - ["dune" "subst"] {dev} - ["rm" "-rf" "vendor/csexp"] - ["rm" "-rf" "vendor/pp"] - [ - "dune" - "build" - "-p" - name - "-j" - jobs - "@install" - "@doc" {with-doc} - ] -] -url { - src: - "https://github.com/ocaml/dune/releases/download/3.13.0/dune-3.13.0.tbz" - checksum: [ - "sha256=f1801257e01c846bd71017ec5d4b2b75fd31b20a0d5979b933b37cc8453678de" - "sha512=850667439ecc75b3a94ee99d5894e0fb0cc03378cec9101f960045004b15143a7e245f5ed938dc1226695fd7fedf875ff10528db2a35935fdcbc0d7f0c959847" - ] -} -x-commit-hash: "21f904250f8bc27abbeafadf70682aceb198b1e3" diff --git a/esy.lock/opam/yojson.2.1.2/opam b/esy.lock/opam/yojson.2.1.2/opam deleted file mode 100644 index df37a739d..000000000 --- a/esy.lock/opam/yojson.2.1.2/opam +++ /dev/null @@ -1,48 +0,0 @@ -opam-version: "2.0" -synopsis: - "Yojson is an optimized parsing and printing library for the JSON format" -description: """ -Yojson is an optimized parsing and printing library for the JSON format. - -ydump is a pretty-printing command-line program provided with the -yojson package.""" -maintainer: [ - "paul-elliot@tarides.com" "nathan@tarides.com" "marek@tarides.com" -] -authors: ["Martin Jambon"] -license: "BSD-3-Clause" -homepage: "https://github.com/ocaml-community/yojson" -doc: "https://ocaml-community.github.io/yojson" -bug-reports: "https://github.com/ocaml-community/yojson/issues" -depends: [ - "dune" {>= "2.7"} - "ocaml" {>= "4.02.3"} - "cppo" {build} - "alcotest" {with-test & >= "0.8.5"} - "seq" {>= "0.2.2"} - "odoc" {with-doc} -] -build: [ - ["dune" "subst"] {dev} - [ - "dune" - "build" - "-p" - name - "-j" - jobs - "@install" - "@runtest" {with-test} - "@doc" {with-doc} - ] -] -dev-repo: "git+https://github.com/ocaml-community/yojson.git" -url { - src: - "https://github.com/ocaml-community/yojson/releases/download/2.1.2/yojson-2.1.2.tbz" - checksum: [ - "sha256=59f2f1abbfc8a7ccbdbf608894e5c75e8a76006e34899254446f83e200dfb4f9" - "sha512=309cba7568dec51de20c7ab8df033258c275b8d58b0a36a66b26e673a3bc050cbd7e39ff8fe4796e89263e125bcc21e04dc36a394f3cc201956887eee1fb281a" - ] -} -x-commit-hash: "e51163ee04ad79408975545ec5fc3b7dc41f68eb" diff --git a/esy.lock/opam/zarith.1.13/opam b/esy.lock/opam/zarith.1.13/opam deleted file mode 100644 index 5d65162d6..000000000 --- a/esy.lock/opam/zarith.1.13/opam +++ /dev/null @@ -1,59 +0,0 @@ -opam-version: "2.0" -name: "zarith" -maintainer: "Xavier Leroy " -authors: [ - "Antoine Miné" - "Xavier Leroy" - "Pascal Cuoq" -] -homepage: "https://github.com/ocaml/Zarith" -bug-reports: "https://github.com/ocaml/Zarith/issues" -dev-repo: "git+https://github.com/ocaml/Zarith.git" -license: "LGPL-2.0-only WITH OCaml-LGPL-linking-exception" -build: [ - ["./configure"] {os != "openbsd" & os != "freebsd" & os != "macos"} - [ - "sh" - "-exc" - "LDFLAGS=\"$LDFLAGS -L/usr/local/lib\" CFLAGS=\"$CFLAGS -I/usr/local/include\" ./configure" - ] {os = "openbsd" | os = "freebsd"} - [ - "sh" - "-exc" - "LDFLAGS=\"$LDFLAGS -L/opt/local/lib -L/usr/local/lib\" CFLAGS=\"$CFLAGS -I/opt/local/include -I/usr/local/include\" ./configure" - ] {os = "macos" & os-distribution != "homebrew"} - [ - "sh" - "-exc" - "LDFLAGS=\"$LDFLAGS -L/opt/local/lib -L/usr/local/lib\" CFLAGS=\"$CFLAGS -I/opt/local/include -I/usr/local/include\" ./configure" - ] {os = "macos" & os-distribution = "homebrew" & arch = "x86_64" } - [ - "sh" - "-exc" - "LDFLAGS=\"$LDFLAGS -L/opt/homebrew/lib\" CFLAGS=\"$CFLAGS -I/opt/homebrew/include\" ./configure" - ] {os = "macos" & os-distribution = "homebrew" & arch = "arm64" } - [make] -] -install: [ - [make "install"] -] -depends: [ - "ocaml" {>= "4.04.0"} - "ocamlfind" - "conf-gmp" -] -synopsis: - "Implements arithmetic and logical operations over arbitrary-precision integers" -description: """ -The Zarith library implements arithmetic and logical operations over -arbitrary-precision integers. It uses GMP to efficiently implement -arithmetic over big integers. Small integers are represented as Caml -unboxed integers, for speed and space economy.""" - -url { - src: "https://github.com/ocaml/Zarith/archive/release-1.13.tar.gz" - checksum: [ - "md5=b3529c5de89ab8c026943f73f6195ad9" - "sha512=a562fa8bf4f5ef44f2af6b9a8f028182fd184c89f8c41455acdc02851cc0fc3124d3776c0de930e8d09cd5d6d88cc689f80f4b597068a0611131f45d057b101f" - ] -} diff --git a/esy.lock/opam/zed.3.2.3/opam b/esy.lock/opam/zed.3.2.3/opam deleted file mode 100644 index bc1a7e370..000000000 --- a/esy.lock/opam/zed.3.2.3/opam +++ /dev/null @@ -1,48 +0,0 @@ -opam-version: "2.0" -synopsis: "Abstract engine for text edition in OCaml" -description: """ -Zed is an abstract engine for text edition. It can be used to write text -editors, edition widgets, readlines, ... Zed uses Camomile to fully support the -Unicode specification, and implements an UTF-8 encoded string type with -validation, and a rope datastructure to achieve efficient operations on large -Unicode buffers. Zed also features a regular expression search on ropes. To -support efficient text edition capabilities, Zed provides macro recording and -cursor management facilities.""" -maintainer: ["ZAN DoYe "] -authors: ["Jérémie Dimino"] -license: "BSD-3-Clause" -homepage: "https://github.com/ocaml-community/zed" -bug-reports: "https://github.com/ocaml-community/zed/issues" -depends: [ - "dune" {>= "3.0"} - "ocaml" {>= "4.02.3"} - "react" - "result" - "uchar" - "uutf" - "uucp" {>= "2.0.0"} - "uuseg" - "alcotest" {with-test} - "odoc" {with-doc} -] -build: [ - ["dune" "subst"] {dev} - [ - "dune" - "build" - "-p" - name - "-j" - jobs - "@install" - "@runtest" {with-test} - "@doc" {with-doc} - ] -] -dev-repo: "git+https://github.com/ocaml-community/zed.git" -url { - src: "https://github.com/ocaml-community/zed/archive/refs/tags/3.2.3.tar.gz" - checksum: [ - "sha512=637f75129550f6459417549d44bed16bdc62721d2e9e0c6bb5bfab30c5bc6478de15faece8c091b56f238375cb79a7bc176375400e543120bb31d7ea626b7c5b" - ] -} diff --git a/esy.lock/overrides/2d70a36290fb3368cba35c704585ed9f/.ci/steps.ps1 b/esy.lock/overrides/2d70a36290fb3368cba35c704585ed9f/.ci/steps.ps1 deleted file mode 100644 index c86a673f8..000000000 --- a/esy.lock/overrides/2d70a36290fb3368cba35c704585ed9f/.ci/steps.ps1 +++ /dev/null @@ -1,53 +0,0 @@ -function new_section { - param ( - $SectionName - ) - echo "" - echo "" - echo "========" - echo $SectionName -} - - -function Test-CommandExists { - param ($command) - try {if(Get-Command $command){ return $true; }} - Catch { return $false; } -} - -$env:REGISTRY_URL = "http://localhost:4873/" - -if (!(Test-CommandExists "verdaccio")) { - new_section "Installing verdaccio" - yarn global add verdaccio -} - -function IsPortOccupied ($portNo) { - try {if( Get-Process -Id (Get-NetTCPConnection -LocalPort $portNo).OwningProcess) { return $true; }} - Catch { return $false; } -} - -function rimraf ($path) { - try { rm -Recurse -Force $path -erroraction stop } - catch [System.Management.Automation.ItemNotFoundException] { $null } -} - -if (!(IsPortOccupied 4873 )) { - new_section "Setting up verdaccio" - New-Item -ItemType Directory -Force -Path ~/.config/verdaccio,~/.local/share/verdaccio/storage - cp -Force ./.ci/verdaccio-config.yaml ~\.config\verdaccio\config.yaml - Start-Job { verdaccio } - Start-Sleep -s 1 -} - -new_section "Packaging for NPM" -node scripts/package.js -new_section "Publishing to local NPM" -npm publish --registry $env:REGISTRY_URL ./package.tar.gz - -cd esy-test/ -$env:ESY__PREFIX = "$env:HOME/_esy_test/prefix" -rimraf $env:ESY__PREFIX -New-Item -ItemType Directory -Force -Path $env:ESY__PREFIX -esy i --npm-registry $env:REGISTRY_URL -esy b diff --git a/esy.lock/overrides/2d70a36290fb3368cba35c704585ed9f/.ci/steps.sh b/esy.lock/overrides/2d70a36290fb3368cba35c704585ed9f/.ci/steps.sh deleted file mode 100644 index a931ca00f..000000000 --- a/esy.lock/overrides/2d70a36290fb3368cba35c704585ed9f/.ci/steps.sh +++ /dev/null @@ -1,42 +0,0 @@ -#! /bin/sh - -set -o xtrace - -function new_section { - set +o xtrace - echo "" - echo "" - echo "========" - echo $1 - set -o xtrace -} - -REGISTRY_URL=http://localhost:4873 - -if ! command -v verdaccio &> /dev/null -then - new_section "Installing verdaccio" - yarn global add verdaccio -fi - -if ! lsof -i :4873 &> /dev/null; -then - new_section "Setting up verdaccio" - mkdir -p ~/.config/verdaccio ~/.local/share/verdaccio/storage - cp ./.ci/verdaccio-config.yaml ~/.config/verdaccio/config.yaml - verdaccio& - sleep 1 -fi - -new_section "Packaging for NPM" -node scripts/package.js -new_section "Publishing to local NPM" -npm publish --registry $REGISTRY_URL $PWD/package.tar.gz - -cd esy-test/ -export ESY__PREFIX=$HOME/_esy_test/prefix -rm -rf $ESY__PREFIX -mkdir -p $ESY__PREFIX -esy i --npm-registry $REGISTRY_URL -esy b - diff --git a/esy.lock/overrides/2d70a36290fb3368cba35c704585ed9f/.ci/verdaccio-config.yaml b/esy.lock/overrides/2d70a36290fb3368cba35c704585ed9f/.ci/verdaccio-config.yaml deleted file mode 100644 index 25bc3d92c..000000000 --- a/esy.lock/overrides/2d70a36290fb3368cba35c704585ed9f/.ci/verdaccio-config.yaml +++ /dev/null @@ -1,87 +0,0 @@ -# -# This is the default config file. It allows all users to do anything, -# so don't use it on production systems. -# -# Look here for more config file examples: -# https://github.com/verdaccio/verdaccio/tree/master/conf -# - -# path to a directory with all packages -storage: ~/.local/share/verdaccio/storage -# path to a directory with plugins to include -plugins: ./plugins - -web: - title: Verdaccio - # comment out to disable gravatar support - # gravatar: false - # by default packages are ordercer ascendant (asc|desc) - # sort_packages: asc - # convert your UI to the dark side - # darkMode: true - -# translate your registry, api i18n not available yet -# i18n: -# list of the available translations https://github.com/verdaccio/ui/tree/master/i18n/translations -# web: en-US - -auth: - htpasswd: - file: ./htpasswd - # Maximum amount of users allowed to register, defaults to "+inf". - # You can set this to -1 to disable registration. - # max_users: 1000 - -# a list of other known repositories we can talk to -uplinks: - npmjs: - url: https://registry.npmjs.org/ - -packages: - '@*/*': - # scoped packages - access: $all - publish: $all - unpublish: $all - proxy: npmjs - - '**': - # allow all users (including non-authenticated users) to read and - # publish all packages - # - # you can specify usernames/groupnames (depending on your auth plugin) - # and three keywords: "$all", "$anonymous", "$authenticated" - access: $all - - # allow all known users to publish/publish packages - # (anyone can register by default, remember?) - publish: $all - unpublish: $all - - # if package is not available locally, proxy requests to 'npmjs' registry - proxy: npmjs - -# You can specify HTTP/1.1 server keep alive timeout in seconds for incoming connections. -# A value of 0 makes the http server behave similarly to Node.js versions prior to 8.0.0, which did not have a keep-alive timeout. -# WORKAROUND: Through given configuration you can workaround following issue https://github.com/verdaccio/verdaccio/issues/301. Set to 0 in case 60 is not enough. -server: - keepAliveTimeout: 60 - -middlewares: - audit: - enabled: true - -# log settings -logs: - - { type: stdout, format: pretty, level: http } - #- {type: file, path: verdaccio.log, level: info} -#experiments: -# # support for npm token command -# token: false -# # support for the new v1 search endpoint, functional by incomplete read more on ticket 1732 -# search: false - -# This affect the web and api (not developed yet) -#i18n: -#web: en-US -max_body_size: 1000mb diff --git a/esy.lock/overrides/2d70a36290fb3368cba35c704585ed9f/.github/workflows/workflow.yml b/esy.lock/overrides/2d70a36290fb3368cba35c704585ed9f/.github/workflows/workflow.yml deleted file mode 100644 index 2907c4f1f..000000000 --- a/esy.lock/overrides/2d70a36290fb3368cba35c704585ed9f/.github/workflows/workflow.yml +++ /dev/null @@ -1,42 +0,0 @@ -name: Build and test the esy package - -on: - - pull_request - - push - -jobs: - build: - strategy: - fail-fast: false - matrix: - os: - - macos-latest - - ubuntu-latest - - windows-latest - - runs-on: ${{ matrix.os }} - - steps: - - name: Checkout code - uses: actions/checkout@v2 - - - name: Use Node.js 14.x - uses: actions/setup-node@v1 - with: - node-version: 14.x - - - name: Install esy - run: npm install -g @esy-nightly/esy verdaccio - - - name: Run end-to-end tests on the package - run: bash ./.ci/steps.sh - if: runner.os != 'Windows' - - - name: Run end-to-end tests on the package - run: ./.ci/steps.ps1 - if: runner.os == 'Windows' - - - uses: actions/upload-artifact@v2 - with: - name: release - path: package.tar.gz diff --git a/esy.lock/overrides/2d70a36290fb3368cba35c704585ed9f/.gitignore b/esy.lock/overrides/2d70a36290fb3368cba35c704585ed9f/.gitignore deleted file mode 100644 index bae89619f..000000000 --- a/esy.lock/overrides/2d70a36290fb3368cba35c704585ed9f/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -*~ -node_modules -_esy -_esy-package -.log -package.tar.gz \ No newline at end of file diff --git a/esy.lock/overrides/2d70a36290fb3368cba35c704585ed9f/Readme.md b/esy.lock/overrides/2d70a36290fb3368cba35c704585ed9f/Readme.md deleted file mode 100644 index d3d278b6b..000000000 --- a/esy.lock/overrides/2d70a36290fb3368cba35c704585ed9f/Readme.md +++ /dev/null @@ -1,139 +0,0 @@ -![Build and test the esy -package](https://github.com/ManasJayanth/esy-packages-template/workflows/Build%20and%20test%20the%20esy%20package/badge.svg) - -# esy-sqlite - -`esy-sqlite` is [`sqlite`](https://www.sqlite.org/index.html), packaged for [`esy`](https://esy.sh/). - -## Why -`esy` can not only fetch and install Reason and OCaml libraries and tools, -but also those written in C. This extends reproducibility benefits to -packages written in C, like `skia`, `libffi`, `pkg-config` -etc. Users don't have to install them separately, nor have to worry if -they have installed the correct version. Read more at the docs about -[benefits for opting for esy packages](https://esy.sh#TODO). - -## How to use `esy-sqlite`? - -`esy-sqlite` can be used from both NPM and directly from Github. - -### From NPM - -`esy-sqlite` is deployed on NPM can be found -[here](https://www.npmjs.com/package/TODO). - -You can simply run `esy add esy-sqlite` to install it, or specify it in -`package.json` and run `esy`. - -```diff -{ - "dependencies": { -+ "esy-sqlite": "*" - } -} -``` - -### Directly from Github - -```json -{ - "dependencies": { - "esy-sqlite": "esy-packages/esy-sqlite" - } -} -``` - -i.e. `/` - -To use a specific commit, - -```diff - "dependencies": { -+ "esy-sqlite": "esy-packages/esy-sqlite#" - } -``` - -## How to package for esy? - -### For the experienced - -**The gist** -Specify the configure and build commands in `esy.build` property of -`esy.json` and the install step in `esy.install`. If the package -builds "in source", set `esy.buildsInSource` property to `true`. Use -`$cur__install` environment variable to set the install location. - -See [docs](TODO) for reference. - -The CI will take care of fetching the sources and creating an NPM -package for you. See [script.js](TODO) to see how it works. - -You can download it or auto publish via CI. - -### For beginners - -> Note: you'll need Node.js for this tutorial. If you're experienced -> with bash, you can use it instead. - -Fundamentally, packaging for esy works like in other Linux distros, -except ofcourse, such that packages become available on MacOS and -Windows too. - -You would typically have to specify the instructions to build the -package in the `esy.json`. For example, everyone's favourite http -tool, [curl](https://curl.se/), needs the following instructions ([as -described on their website](https://curl.se/docs/install.html)) - -```sh -./configure -make -make install -``` - -Many packages have similar instructions! - -Configure and build steps are specified in the `esy.build` property in -the `esy.json` and install steps in `esy.install`. Example, - -```json -{ - "esy": { - "build": [ - "./configure", - "make" - ], - "install": [ - "make install" - ] - } -} -``` - - -## Testing and making sure the package works as expected - -To test if the package works, we recommend an end-to-end test by -publishing it to local -[`verdaccio`](https://github.com/verdaccio/verdaccio), and using the -package with a `package.json` or `esy.json` depends on it. - -```json -{ - "dependencies": { - esy-sqlite": "*" - } -} -``` - -And pointing `esy` to the local npm registry - -```sh -esy i --npm-registry http://localhost:4873 -esy b -``` - -If the package is a library, it's a good idea to write a small program -to actually check if the library works. Referring how the -corresponding package is being tested in Homebrew or Arch Linux. - -Checkout [ci-test.sh](./ci-test.sh) for reference, used on the CI. diff --git a/esy.lock/overrides/2d70a36290fb3368cba35c704585ed9f/esy-test/.gitignore b/esy.lock/overrides/2d70a36290fb3368cba35c704585ed9f/esy-test/.gitignore deleted file mode 100644 index 9edff422a..000000000 --- a/esy.lock/overrides/2d70a36290fb3368cba35c704585ed9f/esy-test/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -esy.lock -_esy -node_modules \ No newline at end of file diff --git a/esy.lock/overrides/2d70a36290fb3368cba35c704585ed9f/esy-test/Readme.md b/esy.lock/overrides/2d70a36290fb3368cba35c704585ed9f/esy-test/Readme.md deleted file mode 100644 index cd9c728ed..000000000 --- a/esy.lock/overrides/2d70a36290fb3368cba35c704585ed9f/esy-test/Readme.md +++ /dev/null @@ -1 +0,0 @@ -See [Readme in the root][../Readme.md#testing-and-making-sure-package-works-as-expected] diff --git a/esy.lock/overrides/2d70a36290fb3368cba35c704585ed9f/esy-test/package.json b/esy.lock/overrides/2d70a36290fb3368cba35c704585ed9f/esy-test/package.json deleted file mode 100644 index 2bfbbbdca..000000000 --- a/esy.lock/overrides/2d70a36290fb3368cba35c704585ed9f/esy-test/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "esy": { - "build": "sqlite3 --version" - }, - "dependencies": { - "esy-sqlite": "*" - } -} diff --git a/esy.lock/overrides/2d70a36290fb3368cba35c704585ed9f/esy.json b/esy.lock/overrides/2d70a36290fb3368cba35c704585ed9f/esy.json deleted file mode 100644 index fb7ea868d..000000000 --- a/esy.lock/overrides/2d70a36290fb3368cba35c704585ed9f/esy.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "esy-sqlite", - "version": "3.35.5000", - "description": "hello packaged for esy", - "source": "https://sqlite.org/2021/sqlite-autoconf-3350500.tar.gz#sha256:f52b72a5c319c3e516ed7a92e123139a6e87af08a2dc43d7757724f6132e6db0", - "override": { - "buildEnv": { - "CPPFLAGS": "-DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_MAX_VARIABLE_NUMBER=250000 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_JSON1=1" - }, - "build": [ - [ - "./configure", - "#{os == 'windows' ? '--host x86_64-w64-mingw32': ''}", - "--prefix=#{self.install}", - "--disable-dependency-tracking", - "--enable-dynamic-extensions", - "--enable-readline", - "--disable-editline", - "--enable-session" - ], - ["make"] - ], - "install": "make install", - "buildsInSource": true, - "exportedEnv": { - "PKG_CONFIG_PATH": { - "val": "#{self.lib / 'pkgconfig'}", - "scope": "global" - }, - "LD_LIBRARY_PATH": { - "val": "#{self.lib : $LD_LIBRARY_PATH}", - "scope": "global" - } - }, - "dependencies": {} - } -} \ No newline at end of file diff --git a/esy.lock/overrides/2d70a36290fb3368cba35c704585ed9f/scripts/package.js b/esy.lock/overrides/2d70a36290fb3368cba35c704585ed9f/scripts/package.js deleted file mode 100644 index 634531f3c..000000000 --- a/esy.lock/overrides/2d70a36290fb3368cba35c704585ed9f/scripts/package.js +++ /dev/null @@ -1,201 +0,0 @@ -/* - * For transparency reasons, this is a script and not a native executable - */ - -const fs = require("fs"); -const path = require("path"); -const os = require("os"); -const crypto = require("crypto"); -const url = require("url"); -const cp = require("child_process"); - -function mkdirpSync(pathStr) { - if (fs.existsSync(pathStr)) { - return; - } else { - mkdirpSync(path.dirname(pathStr)); - fs.mkdirSync(pathStr); - } -} - -function copy(src, dest) { - let srcStat = fs.statSync(src); - if (srcStat.isDirectory()) { - if (!fs.existsSync(dest)) { - mkdirpSync(dest); - } - let srcEntries = fs.readdirSync(src); - for (srcEntry of srcEntries) { - copy(path.join(src, srcEntry), path.join(dest, srcEntry)); - } - } else { - fs.writeFileSync(dest, fs.readFileSync(src)); - } -} - -function fetch(urlStr, urlObj, pathStr, callback) { - let httpm; - switch (urlObj.protocol) { - case "http:": - httpm = require("http"); - break; - case "https:": - httpm = require("https"); - break; - default: - throw `Unrecognised protocol in provided url: ${urlStr}`; - } - httpm.get(urlObj, function (response) { - if (response.statusCode == 302) { - let urlStr = response.headers.location; - fetch(urlStr, url.parse(urlStr), pathStr, callback); - } else { - response.pipe(fs.createWriteStream(pathStr)).on("finish", function () { - callback(pathStr); - }); - } - }); -} - -function download(urlStrWithChecksum) { - return new Promise(function (resolve, reject) { - let [urlStr, checksum] = urlStrWithChecksum.split("#"); - if (!url) { - reject(`No url in ${urlStr}`); - } else if (!checksum) { - reject(`No checksum in ${urlStr}`); - } - - let [algo, hashStr] = checksum.split(":"); - if (!hashStr) { - hashStr = algo; - algo = "sha1"; - } - - function computeChecksum(filePath) { - return new Promise((resolve, reject) => { - let stream = fs - .createReadStream(filePath) - .pipe(crypto.createHash(algo)); - let buf = ""; - stream.on("data", (chunk) => { - buf += chunk.toString("hex"); - }); - stream.on("end", () => { - resolve(buf); - }); - }); - } - let urlObj = url.parse(urlStr); - let filename = path.basename(urlObj.path); - let tmpDownloadedPath = path.join(os.tmpdir(), "esy-package-" + filename); - if (fs.existsSync(tmpDownloadedPath)) { - computeChecksum(tmpDownloadedPath).then((checksum) => { - if (hashStr == checksum) { - resolve(tmpDownloadedPath); - } else { - fetch(urlStr, urlObj, tmpDownloadedPath, () => - computeChecksum(tmpDownloadedPath).then((checksum) => { - if (hashStr == checksum) { - resolve(tmpDownloadedPath); - } else { - reject(`Checksum error: expected ${hashStr} got ${checksum}`); - } - }) - ); - } - }); - } else { - fetch(urlStr, urlObj, tmpDownloadedPath, () => - computeChecksum(tmpDownloadedPath).then((checksum) => { - if (hashStr == checksum) { - resolve(tmpDownloadedPath); - } else { - reject(`Checksum error: expected ${hashStr} got ${checksum}`); - } - }) - ); - } - }); -} - -const cwd = process.argv[2] || process.cwd(); -let manifest = require(path.join(cwd, "esy.json")); - -let { - source, - name, - version, - description, - override: { build, install, buildsInSource, dependencies }, -} = manifest; - -function tar(filePath, destDir, gzip) { - cp.execSync(`tar -x${gzip ? "z" : ""}f ${filePath} -C ${destDir}`, { - stdio: "inherit", - }); -} - -function unzip(filePath, destDir) { - cp.execSync(`unzip -o ${filePath} -d ${destDir}`); -} - -let esyPackageDir = path.join(cwd, "_esy-package"); -mkdirpSync(esyPackageDir); -let pkgPath = esyPackageDir; -download(source) - .then((pathStr) => { - switch (path.extname(pathStr)) { - case ".tgz": - case ".gz": - tar(pathStr, pkgPath, true); - break; - case ".xz": - tar(pathStr, pkgPath); - break; - case ".zip": - unzip(pathStr, pkgPath); - break; - } - }) - .then(() => { - let entries = fs.readdirSync(pkgPath); - if (entries.length > 1) { - // Extracted tarball is not wrapped by a single root directory. The entire `pkgPath` must be considered as package root - return pkgPath; - } else { - return path.join(pkgPath, entries[0]); - } - }) - .then((pkgPath) => { - function filterComments(o = {}) { - return Object.keys(o) - .filter((k) => !k.startsWith("//")) - .reduce((acc, k) => { - acc[k] = o[k]; - return acc; - }, {}); - } - let buildEnv = filterComments(manifest.override.buildEnv); - let exportedEnv = filterComments(manifest.override.exportedEnv); - let esy = { buildsInSource, build, install, buildEnv, exportedEnv }; - let patchFilesPath = path.join(cwd, "files"); - if (fs.existsSync(patchFilesPath)) { - copy(patchFilesPath, pkgPath); - } - fs.writeFileSync( - path.join(pkgPath, "package.json"), - JSON.stringify({ name, version, description, esy, dependencies }, null, 2) - ); - fs.writeFileSync( - path.join(pkgPath, ".npmignore"), - ` -_esy -` - ); - cp.execSync("npm pack", { cwd: pkgPath }); - fs.renameSync( - path.join(pkgPath, `${name}-${version}.tgz`), - path.join(cwd, "package.tar.gz") - ); - }); diff --git a/esy.lock/overrides/44ff3c39826df68739c4470881a91b5f/package.json b/esy.lock/overrides/44ff3c39826df68739c4470881a91b5f/package.json deleted file mode 100644 index 74d697e21..000000000 --- a/esy.lock/overrides/44ff3c39826df68739c4470881a91b5f/package.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "name": "esy-z3", - "version": "4.8.12000", - "description": "z3 packaged for esy", - "source": "https://github.com/Z3Prover/z3/archive/refs/tags/z3-4.12.3.tar.gz#md5:a18ea8cc1ba59d87a6ea966227732038", - "override": { - "exportedEnv": { - "DYLD_LIBRARY_PATH": { - "val": "#{self.lib / 'z3' : $DYLD_LIBRARY_PATH}", - "scope": "global" - }, - "LD_LIBRARY_PATH": { - "val": "#{self.lib / 'z3' : $LD_LIBRARY_PATH}", - "scope": "global" - } - }, - "buildsInSource": true, - "build": [ - [ - "python3", - "scripts/mk_make.py", - "--prefix=#{self.install}", - "--ml" - ], - [ - "make", - "-C", - "build", - "-j", - "4" - ], - [ - "sh", - "-c", - "cp build/libz3* build/api/ml/" - ] - ], - "install": [ - [ - "sh", - "-c", - "ocamlfind install z3 build/api/ml/META -nodll build/api/ml/*" - ] - ], - "dependencies": { - "@opam/zarith": "*", - "@opam/conf-python-3-7": "*", - "@opam/ocamlfind": "*", - "@opam/conf-gmp": "*", - "ocaml": ">=4.3.0" - } - } -} diff --git a/esy.lock/overrides/b7788c94efa7edeebd57e710cce6713d/.gitignore b/esy.lock/overrides/b7788c94efa7edeebd57e710cce6713d/.gitignore deleted file mode 100644 index 678a8a2c9..000000000 --- a/esy.lock/overrides/b7788c94efa7edeebd57e710cce6713d/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -node_modules -_esy -*~ \ No newline at end of file diff --git a/esy.lock/overrides/b7788c94efa7edeebd57e710cce6713d/package.json b/esy.lock/overrides/b7788c94efa7edeebd57e710cce6713d/package.json deleted file mode 100644 index 3ecf87282..000000000 --- a/esy.lock/overrides/b7788c94efa7edeebd57e710cce6713d/package.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "name": "esy-gmp", - "version": "6.2.0", - "description": "GMP packaged for esy", - "source": "https://ftp.gnu.org/gnu/gmp/gmp-6.2.1.tar.xz#0578d48607ec0e272177d175fd1807c30b00fdf2", - "override": { - "buildsInSource": true, - "build": [ - "find ./ -exec touch -t 200905010101 {} +", - "./configure --enable-fat --prefix=#{self.install} #{os == 'windows' ? '--host x86_64-w64-mingw32' : ''} --with-pic", - "make -j4" - ], - "install": [ - "make install" - ], - "exportedEnv": { - "LDFLAGS": { - "scope": "global", - "val": "-L#{self.lib} -lgmp" - }, - "CPPFLAGS": { - "scope": "global", - "val": "-I#{self.install / 'include'}" - }, - "LD_LIBRARY_PATH": { - "scope": "global", - "val": "#{self.lib}:$LD_LIBRARY_PATH" - }, - "LIBRARY_PATH": { - "scope": "global", - "val": "#{self.lib}:$LIBRARY_PATH" - }, - "CPATH": { - "scope": "global", - "val": "#{self.install / 'include'}:$CPATH" - }, - "PKG_CONFIG_PATH": { - "val": "#{self.lib / 'pkgconfig' : $PKG_CONFIG_PATH}", - "scope": "global" - } - } - } -} diff --git a/esy.lock/overrides/b7788c94efa7edeebd57e710cce6713d/test/package.json b/esy.lock/overrides/b7788c94efa7edeebd57e710cce6713d/test/package.json deleted file mode 100644 index c00c5752c..000000000 --- a/esy.lock/overrides/b7788c94efa7edeebd57e710cce6713d/test/package.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "esy-gmp-test", - "description": "For manual testing only", - "version": "0.1.0", - "description": "GMP packaged for esy", - "license": "MIT", - "esy": { - "buildsInSource": true, - "build": [ - "#{os == 'windows' ? 'x86_64-w64-mingw32-gcc': 'gcc'} $CFLAGS -o testinggmp test.c $LDFLAGS" - ], - "install": "cp testinggmp #{self.bin}" - }, - "dependencies": { - "gmp": "esy-packages/esy-gmp" - } -} diff --git a/esy.lock/overrides/b7788c94efa7edeebd57e710cce6713d/test/test.c b/esy.lock/overrides/b7788c94efa7edeebd57e710cce6713d/test/test.c deleted file mode 100644 index 7162f628d..000000000 --- a/esy.lock/overrides/b7788c94efa7edeebd57e710cce6713d/test/test.c +++ /dev/null @@ -1,14 +0,0 @@ -#include -#include -#include - -int main() { - mpz_t i, j, k; - mpz_init_set_str (i, "1a", 16); - mpz_init (j); - mpz_init (k); - mpz_sqrtrem (j, k, i); - if (mpz_get_si (j) != 5 || mpz_get_si (k) != 1) abort(); - printf("%s\n", "Works as expected"); - return 0; -} diff --git a/esy.lock/overrides/opam__s__conf_gmp_opam__c__4_opam_override/package.json b/esy.lock/overrides/opam__s__conf_gmp_opam__c__4_opam_override/package.json deleted file mode 100644 index d58aaec93..000000000 --- a/esy.lock/overrides/opam__s__conf_gmp_opam__c__4_opam_override/package.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "build": [ - [ - "#{os == 'windows' ? 'x86_64-w64-mingw32-gcc' : 'cc'}", - "-c", - "${CFLAGS:--g}", - "$CPPFLAGS", - "$LDFLAGS", - "test.c" - ] - ], - "dependencies": { - "esy-gmp": "esy-packages/esy-gmp#e27cb300adfb0c0b320c273082c5affafcd225fa" - } -} diff --git a/esy.lock/overrides/opam__s__ocamlfind_opam__c__1.9.6_opam_override/files/findlib.patch b/esy.lock/overrides/opam__s__ocamlfind_opam__c__1.9.6_opam_override/files/findlib.patch deleted file mode 100644 index d545632af..000000000 --- a/esy.lock/overrides/opam__s__ocamlfind_opam__c__1.9.6_opam_override/files/findlib.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- ./Makefile -+++ ./Makefile -@@ -55,7 +55,7 @@ - export USE_CYGPATH; \ - cat findlib.conf.in | \ - $(SH) tools/patch '@SITELIB@' '$(OCAML_SITELIB)' | \ -- $(SH) tools/patch '@FINDLIB_PATH@' '$(FINDLIB_PATH)' -p >findlib.conf -+ $(SH) tools/patch '@FINDLIB_PATH@' '$(FINDLIB_PATH)' >findlib.conf - if ./tools/cmd_from_same_dir ocamlc; then \ - echo 'ocamlc="ocamlc.opt"' >>findlib.conf; \ - fi diff --git a/esy.lock/overrides/opam__s__ocamlfind_opam__c__1.9.6_opam_override/package.json b/esy.lock/overrides/opam__s__ocamlfind_opam__c__1.9.6_opam_override/package.json deleted file mode 100644 index bf169e50d..000000000 --- a/esy.lock/overrides/opam__s__ocamlfind_opam__c__1.9.6_opam_override/package.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "build": [ - [ - "bash", - "-c", - "#{os == 'windows' ? 'patch -p1 < findlib.patch' : 'true'}" - ], - [ - "./configure", - "-bindir", - "#{self.bin}", - "-sitelib", - "#{self.lib}", - "-mandir", - "#{self.man}", - "-config", - "#{self.lib}/findlib.conf", - "-no-custom", - "-no-topfind" - ], - [ - "make", - "all" - ], - [ - "make", - "opt" - ] - ], - "install": [ - [ - "make", - "install" - ], - [ - "install", - "-m", - "0755", - "ocaml-stub", - "#{self.bin}/ocaml" - ], - [ - "mkdir", - "-p", - "#{self.toplevel}" - ], - [ - "install", - "-m", - "0644", - "src/findlib/topfind", - "#{self.toplevel}/topfind" - ] - ], - "exportedEnv": { - "OCAML_TOPLEVEL_PATH": { - "val": "#{self.toplevel}", - "scope": "global" - } - } -} diff --git a/esy.lock/overrides/opam__s__uchar_opam__c__0.0.2_opam_override/files/winpatch.patch b/esy.lock/overrides/opam__s__uchar_opam__c__0.0.2_opam_override/files/winpatch.patch deleted file mode 100644 index 347e84160..000000000 --- a/esy.lock/overrides/opam__s__uchar_opam__c__0.0.2_opam_override/files/winpatch.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- ./pkg/topkg.ml -+++ ./pkg/topkg.ml -@@ -344,7 +344,7 @@ - let build ccomp btool bdir pkg mvs = - let ext_to_string = Exts.ext_to_string ccomp in - let install, exec = build_strings btool bdir ext_to_string mvs in -- let e = Sys.command exec in -+ let e = Sys.command ("bash -c '" ^ exec ^ "'") in - if e <> 0 then exit e else - let install_file = pkg ^ ".install" in - try diff --git a/esy.lock/overrides/opam__s__uchar_opam__c__0.0.2_opam_override/package.json b/esy.lock/overrides/opam__s__uchar_opam__c__0.0.2_opam_override/package.json deleted file mode 100644 index dc79f7593..000000000 --- a/esy.lock/overrides/opam__s__uchar_opam__c__0.0.2_opam_override/package.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "build": [ - [ - "bash", - "-c", - "#{os == 'windows' ? 'patch -p1 < winpatch.patch' : 'true' }" - ], - "ocaml pkg/git.ml", - "ocaml pkg/build.ml native=true native-dynlink=true" - ] -} diff --git a/esy.lock/overrides/opam__s__zarith_opam__c__1.13_opam_override/package.json b/esy.lock/overrides/opam__s__zarith_opam__c__1.13_opam_override/package.json deleted file mode 100644 index 7fa37eee5..000000000 --- a/esy.lock/overrides/opam__s__zarith_opam__c__1.13_opam_override/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "exportedEnv": { - "CAML_LD_LIBRARY_PATH": { - "val": "#{self.lib / 'zarith' : $CAML_LD_LIBRARY_PATH}", - "scope": "global" - } - } -} diff --git a/gillian-bulk-rely.opam b/gillian-bulk-rely.opam deleted file mode 100644 index e69de29bb..000000000 diff --git a/gillian-c.opam b/gillian-c.opam index e69de29bb..674bc26af 100644 --- a/gillian-c.opam +++ b/gillian-c.opam @@ -0,0 +1,36 @@ +# This file is generated by dune, edit dune-project instead +opam-version: "2.0" +synopsis: "Gillian instantiation for C" +maintainer: ["The Gillian Team"] +authors: ["The Gillian Team"] +license: "BSD-3-Clause" +homepage: "https://github.com/GillianPlatform/Gillian" +bug-reports: "https://github.com/GillianPlatform/Gillian/issues" +depends: [ + "dune" {>= "3.16"} + "gillian" {= version} + "compcert" + "dune-site" + "printbox-text" + "odoc" {with-doc} +] +build: [ + ["dune" "subst"] {dev} + [ + "dune" + "build" + "-p" + name + "-j" + jobs + "--promote-install-files=false" + "@install" + "@runtest" {with-test} + "@doc" {with-doc} + ] + ["dune" "install" "-p" name "--create-install-files" name] +] +dev-repo: "git+https://github.com/GillianPlatform/Gillian.git" +pin-depends: [ + "compcert.~dev" "git+https://github.com/GillianPlatform/CompCert.git#bfbc5335cb86e4388dd65f2801ac360b39c4fedb" +] \ No newline at end of file diff --git a/gillian-c.opam.template b/gillian-c.opam.template new file mode 100644 index 000000000..683f7bf3c --- /dev/null +++ b/gillian-c.opam.template @@ -0,0 +1,3 @@ +pin-depends: [ + "compcert.~dev" "git+https://github.com/GillianPlatform/CompCert.git#bfbc5335cb86e4388dd65f2801ac360b39c4fedb" +] \ No newline at end of file diff --git a/gillian-js.opam b/gillian-js.opam index e69de29bb..1c273a20b 100644 --- a/gillian-js.opam +++ b/gillian-js.opam @@ -0,0 +1,36 @@ +# This file is generated by dune, edit dune-project instead +opam-version: "2.0" +synopsis: "Gillian instantiation for JavaScript" +maintainer: ["The Gillian Team"] +authors: ["The Gillian Team"] +license: "BSD-3-Clause" +homepage: "https://github.com/GillianPlatform/Gillian" +bug-reports: "https://github.com/GillianPlatform/Gillian/issues" +depends: [ + "dune" {>= "3.16"} + "dune-site" + "flow_parser" + "fpath" + "gillian" {= version} + "odoc" {with-doc} +] +build: [ + ["dune" "subst"] {dev} + [ + "dune" + "build" + "-p" + name + "-j" + jobs + "--promote-install-files=false" + "@install" + "@runtest" {with-test} + "@doc" {with-doc} + ] + ["dune" "install" "-p" name "--create-install-files" name] +] +dev-repo: "git+https://github.com/GillianPlatform/Gillian.git" +pin-depends: [ + "flow_parser.~dev" "git+https://github.com/GillianPlatform/flow.git#ee5e34df0a271828f4eda6e85bf9f610286f0039" +] \ No newline at end of file diff --git a/gillian-js.opam.template b/gillian-js.opam.template new file mode 100644 index 000000000..7e41f1490 --- /dev/null +++ b/gillian-js.opam.template @@ -0,0 +1,3 @@ +pin-depends: [ + "flow_parser.~dev" "git+https://github.com/GillianPlatform/flow.git#ee5e34df0a271828f4eda6e85bf9f610286f0039" +] \ No newline at end of file diff --git a/gillian.json b/gillian.json deleted file mode 100644 index 774ee9c8a..000000000 --- a/gillian.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "gillian", - "version": "0.0.1", - "description": "Gillian package", - "license": "BSD-3-Clause", - "esy": { - "build": "dune build -p gillian", - "buildsInSource": "_build" - }, - "dependencies": { - "@opam/alcotest": "1.0.1", - "@opam/cmdliner": "^1.1.1", - "@opam/dap": "1.0.6", - "@opam/fmt": "^0.8.8", - "@opam/dune": "^3.0", - "@opam/memtrace": "0.2.3", - "@opam/menhir": "20231231", - "@opam/ppx_deriving_yojson": "*", - "@opam/ppxlib": ">=0.18.0", - "@opam/sqlite3": "5.0.2", - "@opam/visitors": ">=2.3", - "@opam/yojson": "^1.7.0", - "@opam/zarith": ">=1.12", - "@opam/z3": "GillianPlatform/esy-z3#e8b2ce266d5d8bd67c54bd226c6301f7b180bb09", - "ocaml": "5.1.x" - }, - "devDependencies": { - "ocaml": "5.1.x" - } -} \ No newline at end of file diff --git a/gillian.opam b/gillian.opam index 3c745d07d..a5a43ae07 100644 --- a/gillian.opam +++ b/gillian.opam @@ -1,14 +1,32 @@ +# This file is generated by dune, edit dune-project instead opam-version: "2.0" -authors: "GillianPlatform Team" -maintainer: "GillianPlatform Team" -name: "gillian" -synopsis: "A parametric compositional symbolic execution for Correctness and Incorrectness" +synopsis: + "A parametric compositional symbolic execution for Correctness and Incorrectness" +maintainer: ["The Gillian Team"] +authors: ["The Gillian Team"] license: "BSD-3-Clause" +homepage: "https://github.com/GillianPlatform/Gillian" bug-reports: "https://github.com/GillianPlatform/Gillian/issues" -homepage: "https://github.com/GillianPlatform/Gillian/" -dev-repo: "git+https://github.com/GillianPlatform/Gillian.git" +depends: [ + "dune" {>= "3.16"} + "ocaml" {>= "5.1.0"} + "alcotest" {= "1.0.1"} + "cmdliner" {>= "1.1.1"} + "dap" {= "1.0.6"} + "fmt" {>= "0.8.8"} + "memtrace" {= "0.2.3"} + "menhir" {= "20231231"} + "ppx_deriving_yojson" + "ppxlib" {>= "0.18.0"} + "sqlite3" {= "5.0.2"} + "visitors" {>= "2.3"} + "yojson" {>= "1.7.0"} + "zarith" {>= "1.12"} + "z3" {= "4.13.0"} + "odoc" {with-doc} +] build: [ - # ["dune" "subst"] {dev} + ["dune" "subst"] {dev} [ "dune" "build" @@ -16,26 +34,11 @@ build: [ name "-j" jobs + "--promote-install-files=false" "@install" "@runtest" {with-test} "@doc" {with-doc} ] + ["dune" "install" "-p" name "--create-install-files" name] ] -depends: [ - "ocaml" {>= "5.1.0"} - "dune" { >= "3.0" } - "alcotest" { = "1.0.1" } - "cmdliner" { >= "1.1.1" } - "dap" { = "1.0.6" } - "fmt" { >= "0.8.8" } - "memtrace" { = "0.2.3" } - "menhir" { = "20231231" } - "ppx_deriving_yojson" - "ppxlib" { >= "0.18.0" } - "sqlite3" { = "5.0.2" } - "visitors" { >= "2.3" } - "yojson" { >= "1.7.0" } - "zarith" { >= "1.12" } - "z3" { = "4.13.0" } - "odoc" { with-doc } -] \ No newline at end of file +dev-repo: "git+https://github.com/GillianPlatform/Gillian.git" diff --git a/githooks/pre-commit b/githooks/pre-commit index 3b3d94f8e..4505f67b8 100644 --- a/githooks/pre-commit +++ b/githooks/pre-commit @@ -2,15 +2,20 @@ set -euo pipefail -if command -v esy >/dev/null 2>&1; then +if command -v opam >/dev/null 2>&1; then echo "[INFO] Running source code formatting" - esy format-check + opam exec -- dune fmt echo "[INFO] Running build" - esy - + opam exec -- dune build exit 0 else - echo >&2 "[WARN] Failed precommit validation: esy isn't available" + echo >&2 "[ERR] Failed precommit validation: opam isn't available" + exit 1 +fi + +# Code that checks if any file of the form *.opam has active diffs and exits with 1 if there is one +if git diff --name-only | grep -qE '\.opam$'; then + echo >&2 "[ERR] Failed precommit validation: opam files have active diffs, probably triggered by the build steps" exit 1 fi \ No newline at end of file diff --git a/install.sh b/install.sh deleted file mode 100755 index ee9455d67..000000000 --- a/install.sh +++ /dev/null @@ -1,4 +0,0 @@ -esy -esy release -npm remove -g gillian-platform -npm install -g _release/ \ No newline at end of file diff --git a/int_migration.md b/int_migration.md deleted file mode 100644 index ac4b01a5e..000000000 --- a/int_migration.md +++ /dev/null @@ -1,33 +0,0 @@ -# Int migration - -| | GillianCore | Gillian-C | wisl | Gillian-JS | -| ---------------- | ----------- | --------- | ---- | ---------- | -| LstNth | X | | X | | -| LstLen | X | | X | | -| LstSub | X | | X | | -| Expr.list_nth | X | | X | | -| Expr.list_nth_e | X | | | | -| Expr.list_sub | X | | | | -| Expr.list_length | X | | | | -| FPlus | X | | | | -| FMinus | X | | | | -| FUnaryMinus | X | | | | -| FTimes | X | | | | -| FLess | | | | | -| FLessEq | | | | | -| #<= | | | | | -| #< | | | | | -| #> | | | | | -| #>= | | | | | -| Other FOps | | | | | -| Expr.num_int | | | | | - - --> Check typing rules --> Look for "INTEGER BYTE-BY-BYTE BREAKDOWN --> StrNth - - --> Maybe error: -`Reduction.substitute_in_int_expr`: does scaling on ints, might end up, if number are not divs, this might fail. -I added a check just in case \ No newline at end of file diff --git a/kanillian-c.sh b/kanillian-c.sh index 80fe4f8d2..92b2eb315 100755 --- a/kanillian-c.sh +++ b/kanillian-c.sh @@ -1,4 +1,4 @@ MODE=$1 FILE=$2 cbmc $FILE --show-symbol-table --json-ui > $FILE.symtab.json -esy x kanillian $MODE $FILE.symtab.json -o ${FILE%".c"}.gil --json-ui \ No newline at end of file +opam exec -- kanillian $MODE $FILE.symtab.json -o ${FILE%".c"}.gil --json-ui \ No newline at end of file diff --git a/kanillian.opam b/kanillian.opam index e69de29bb..0f132936f 100644 --- a/kanillian.opam +++ b/kanillian.opam @@ -0,0 +1,32 @@ +# This file is generated by dune, edit dune-project instead +opam-version: "2.0" +synopsis: "Gillian instantiation for C based on CBMC as front-end" +maintainer: ["The Gillian Team"] +authors: ["The Gillian Team"] +license: "BSD-3-Clause" +homepage: "https://github.com/GillianPlatform/Gillian" +bug-reports: "https://github.com/GillianPlatform/Gillian/issues" +depends: [ + "dune" {>= "3.16"} + "gillian" {= version} + "dune-site" + "printbox-text" + "odoc" {with-doc} +] +build: [ + ["dune" "subst"] {dev} + [ + "dune" + "build" + "-p" + name + "-j" + jobs + "--promote-install-files=false" + "@install" + "@runtest" {with-test} + "@doc" {with-doc} + ] + ["dune" "install" "-p" name "--create-install-files" name] +] +dev-repo: "git+https://github.com/GillianPlatform/Gillian.git" diff --git a/kanillian/bin/dune b/kanillian/bin/dune index 9fadb365d..6da674074 100644 --- a/kanillian/bin/dune +++ b/kanillian/bin/dune @@ -1,5 +1,5 @@ (executable (name kanillian) (public_name kanillian) - (libraries kanillian_lib cgil_lib gillian memory_model lifter) + (libraries kanillian_lib gillian memory_model lifter) (package kanillian)) diff --git a/kanillian/lib/KParserAndCompiler.ml b/kanillian/lib/KParserAndCompiler.ml index 870c2f18c..f095a1f16 100644 --- a/kanillian/lib/KParserAndCompiler.ml +++ b/kanillian/lib/KParserAndCompiler.ml @@ -9,7 +9,7 @@ let initialize _ = (fun kstats_file -> at_exit (fun () -> Stats.report kstats_file)) !Kconfig.kstats_file -let env_var_import_path = Some Kanillian_compiler.Imports.env_path_var +let default_import_paths = Some Runtime_sites.Sites.runtime let other_imports = [] type init_data = unit diff --git a/kanillian/lib/dune b/kanillian/lib/dune index bd9b7b4ac..9ef2be0a5 100644 --- a/kanillian/lib/dune +++ b/kanillian/lib/dune @@ -1,4 +1,15 @@ (library (name kanillian_lib) - (libraries gillian yojson irep_lib kutils goto_lib kanillian_compiler) + (libraries + gillian + yojson + irep_lib + kutils + goto_lib + kanillian_compiler + dune-site) (flags :standard -open Goto_lib)) + +(generate_sites_module + (module runtime_sites) + (sites kanillian)) diff --git a/kanillian/lib/goto_program/goto_lib.mli b/kanillian/lib/goto_program/goto_lib.mli index 001a0c9be..9540ce13c 100644 --- a/kanillian/lib/goto_program/goto_lib.mli +++ b/kanillian/lib/goto_program/goto_lib.mli @@ -277,41 +277,36 @@ module Program : sig end module Visitors : sig - class ['a] iter : - object - method visit_location : ctx:'a -> Location.t -> unit - method visit_binop : ctx:'a -> Ops.Binary.t -> unit - method visit_unop : ctx:'a -> Ops.Unary.t -> unit - method visit_selfop : ctx:'a -> Ops.Self.t -> unit - method visit_int_type : ctx:'a -> IntType.t -> unit - method visit_datatype_components : ctx:'a -> Datatype_component.t -> unit - method visit_type : ctx:'a -> Type.t -> unit - method visit_id : ctx:'a -> int -> unit - method visit_expr_value : ctx:'a -> type_:Type.t -> Expr.value -> unit - method visit_expr : ctx:'a -> Expr.t -> unit - method visit_stmt_body : ctx:'a -> Stmt.body -> unit - method visit_stmt : ctx:'a -> Stmt.t -> unit - end - - class ['a] map : - object - method visit_binop : ctx:'a -> Ops.Binary.t -> Ops.Binary.t - - method visit_datatype_components : - ctx:'a -> Datatype_component.t -> Datatype_component.t - - method visit_expr : ctx:'a -> Expr.t -> Expr.t - - method visit_expr_value : - ctx:'a -> type_:Type.t -> Expr.value -> Expr.value - - method visit_int_type : ctx:'a -> IntType.t -> IntType.t - method visit_location : ctx:'a -> Location.t -> Location.t - method visit_selfop : ctx:'a -> Ops.Self.t -> Ops.Self.t - method visit_stmt : ctx:'a -> Stmt.t -> Stmt.t - method visit_stmt_body : ctx:'a -> Stmt.body -> Stmt.body - method visit_type : ctx:'a -> Type.t -> Type.t - method visit_id : ctx:'a -> int -> int - method visit_unop : ctx:'a -> Ops.Unary.t -> Ops.Unary.t - end + class ['a] iter : object + method visit_location : ctx:'a -> Location.t -> unit + method visit_binop : ctx:'a -> Ops.Binary.t -> unit + method visit_unop : ctx:'a -> Ops.Unary.t -> unit + method visit_selfop : ctx:'a -> Ops.Self.t -> unit + method visit_int_type : ctx:'a -> IntType.t -> unit + method visit_datatype_components : ctx:'a -> Datatype_component.t -> unit + method visit_type : ctx:'a -> Type.t -> unit + method visit_id : ctx:'a -> int -> unit + method visit_expr_value : ctx:'a -> type_:Type.t -> Expr.value -> unit + method visit_expr : ctx:'a -> Expr.t -> unit + method visit_stmt_body : ctx:'a -> Stmt.body -> unit + method visit_stmt : ctx:'a -> Stmt.t -> unit + end + + class ['a] map : object + method visit_binop : ctx:'a -> Ops.Binary.t -> Ops.Binary.t + + method visit_datatype_components : + ctx:'a -> Datatype_component.t -> Datatype_component.t + + method visit_expr : ctx:'a -> Expr.t -> Expr.t + method visit_expr_value : ctx:'a -> type_:Type.t -> Expr.value -> Expr.value + method visit_int_type : ctx:'a -> IntType.t -> IntType.t + method visit_location : ctx:'a -> Location.t -> Location.t + method visit_selfop : ctx:'a -> Ops.Self.t -> Ops.Self.t + method visit_stmt : ctx:'a -> Stmt.t -> Stmt.t + method visit_stmt_body : ctx:'a -> Stmt.body -> Stmt.body + method visit_type : ctx:'a -> Type.t -> Type.t + method visit_id : ctx:'a -> int -> int + method visit_unop : ctx:'a -> Ops.Unary.t -> Ops.Unary.t + end end diff --git a/kanillian/runtime/dune b/kanillian/runtime/dune index 31f5f5203..9352b83d7 100644 --- a/kanillian/runtime/dune +++ b/kanillian/runtime/dune @@ -1,4 +1,7 @@ (install + (section + (site + (kanillian runtime))) (files archi32_constants.gil archi64_constants.gil @@ -11,5 +14,4 @@ internals_act.gil rust_allocation_internals.gil string.gil) - (section share) (package kanillian)) diff --git a/rerun_all.sh b/rerun_all.sh deleted file mode 100755 index c9e107d4c..000000000 --- a/rerun_all.sh +++ /dev/null @@ -1 +0,0 @@ -./install.sh && cd ../kani && ./producestats.sh \ No newline at end of file diff --git a/scripts/build_docs.sh b/scripts/build_docs.sh index af527dbea..5459bd228 100755 --- a/scripts/build_docs.sh +++ b/scripts/build_docs.sh @@ -1,7 +1,7 @@ #!/bin/sh echo "===== BUILDING ODOC =====" && \ -esy odoc && \ + odoc && \ echo && \ echo "===== BUILDING SPHINX =====" && \ esy sphinx diff --git a/sphinx/c/folder-structure.rst b/sphinx/c/folder-structure.rst index e522d6324..f4106a253 100644 --- a/sphinx/c/folder-structure.rst +++ b/sphinx/c/folder-structure.rst @@ -8,7 +8,7 @@ Folder Structure * ``bin``: The Gillian-C binary - * ``environment``: Execution environment, not part of the repository, created using ``esy init:env``. It contains useful scripts for testing Gillian-C, and examples are copied in it so that they can be safely modified. + * ``environment``: Execution environment, not part of the repository, created using ``make c-init-env``. It contains useful scripts for testing Gillian-C, and examples are copied in it so that they can be safely modified. * ``examples``: Various examples diff --git a/sphinx/c/symbolic-testing.rst b/sphinx/c/symbolic-testing.rst index 39e22e499..afada59b4 100644 --- a/sphinx/c/symbolic-testing.rst +++ b/sphinx/c/symbolic-testing.rst @@ -84,7 +84,7 @@ From the Gillian folder run: .. code-block:: bash - esy x gillian-c bulk-wpst ../collections-c/for-gillian + dune exec -- gillian-c bulk-wpst ../collections-c/for-gillian You will see every test suites executing one by one. Two tests will fail, this is intended. They represent two of the bugs we've found and are explained `here <#bug-tests>`_. diff --git a/sphinx/debugger.rst b/sphinx/debugger.rst index cfad6ff0a..e8a1ca39a 100644 --- a/sphinx/debugger.rst +++ b/sphinx/debugger.rst @@ -43,8 +43,6 @@ Let's take it for a spin! Open ``list_length_rec.wisl``, and click *Debug llen* :width: 250px :align: center -.. note:: Make sure you aren't running any ``esy`` processes (e.g. ``esy watch``), as this may prevent the debugger from starting. - You should then be presented with a new panel showing the path of execution in a graph. Here you can see the current command in the highlighted node, and two subsequent commands yet to be executed. .. image:: _static/img/debug/init.png diff --git a/sphinx/develop.rst b/sphinx/develop.rst index c0b5339ed..590e81f48 100644 --- a/sphinx/develop.rst +++ b/sphinx/develop.rst @@ -4,37 +4,37 @@ Developing Gillian Executing a command in the test environment =========================================== -``esy`` lets you execute a command in a `test environment `_ where all built binaries and installed files are correctly added to your path. In particular, Gillian-JS, Gillian-C and wisl export specific environment variables that allow them to properly find their respective runtime files. +``dune`` lets you execute a command in an execution environment where all built binaries and installed files are correctly added to your path. In particular, Gillian-JS, Gillian-C and wisl require to be executed in this environment to work correctly and find their runtime files. To run any command under this environment: .. code-block:: bash - esy x + dune exec -- To access the different manuals, you can use: .. code-block:: bash - esy x gillian-js --help - esy x gillian-c --help - esy x wisl --help + dune exec -- gillian-js --help + dune exec -- gillian-c --help + dune exec -- wisl --help You can get even more precise help about specific commands; for example: .. code-block:: bash - esy x gillian-js verify --help + dune exec -- gillian-js verify --help Rebuilding after modifications ============================== -Since ``esy`` is our build system, running the ``esy`` command without any arguments will rebuild the project after modification. +Since ``dune`` is our build system, running the ``dune build`` command without any arguments will rebuild the project after modification. You can automatically rebuild on changes by running: .. code-block:: bash - esy watch + dune build --watch Code style ========== @@ -43,7 +43,7 @@ You can automatically format the code by running: .. code-block:: bash - esy format + dune fmt It's recommended that you install the provided git hooks (by running ``githooks/install.ml``) to enforce code style. @@ -86,7 +86,7 @@ Building Documentation .. code-block:: bash - esy docs + make docs After building, you'll find the sphinx documentation at ``_docs/sphinx``, and the API reference at ``_docs/odoc``. @@ -106,4 +106,4 @@ If you want to automatically rebuild on changes, take these additional steps. .. code-block:: bash - esy docs:watch + make docs-watch diff --git a/sphinx/install.rst b/sphinx/install.rst index 4c8ee1c91..b21d78559 100644 --- a/sphinx/install.rst +++ b/sphinx/install.rst @@ -4,10 +4,9 @@ Installation Linux / macOS ------------- -.. admonition:: Sandboxing +.. admonition:: Opam switch - We use esy for dependency management, which sandboxes dependencies. Apart from a few external dependencies (i.e. esy itself), installing Gillian **will not** affect your environment (including your opam switches) - + We use opam for dependency management, and advise using a local opam switch that will not affect your global environment. It should be perfectly safe (and recommended) to install the development environment directly on your machine. #. Install prerequisites @@ -27,11 +26,11 @@ Linux / macOS ...then make sure your development tools are up to date. -#. Install esy +#. Install opam .. code-block:: bash - npm install -g esy + sudo apt install opam #. Clone the source repository @@ -48,9 +47,11 @@ Linux / macOS .. code-block:: bash cd Gillian - esy + make init-dev + eval $(opam env) + dune build - This may take a while, as esy will install and build sandboxed versions of every dependency, including OCaml and Z3. + This may take a while, as opam will build and install every dependency, including OCaml and Z3. .. image:: _static/img/xkz3.png :alt: The #1 programmer excuse for legitimately slacking off: "I'm building Z3" @@ -96,7 +97,7 @@ Gillian-JS .. code-block:: bash - esy x gillian-js verify Gillian-JS/Examples/JaVerT/BST.js --silent + dune exec -- gillian-js verify Gillian-JS/Examples/JaVerT/BST.js -l disabled .. @@ -119,7 +120,7 @@ Gillian-C .. code-block:: bash - esy x gillian-c bulk-exec Gillian-C/examples/concrete + dune exec -- gillian-c bulk-exec Gillian-C/examples/concrete .. diff --git a/sphinx/js/folder-structure.rst b/sphinx/js/folder-structure.rst index 2a3fa23fb..3df601167 100644 --- a/sphinx/js/folder-structure.rst +++ b/sphinx/js/folder-structure.rst @@ -8,7 +8,7 @@ Folder Structure * ``bin``: The Gillian-JS binary - * ``environment``: Execution environment, not part of the repository, created using ``esy init:env``. It contains useful scripts for testing Gillian-JS, and examples are copied in it so that they can be safely modified. + * ``environment``: Execution environment, not part of the repository, created using ``make js-init-env``. It contains useful scripts for testing Gillian-JS, and examples are copied in it so that they can be safely modified. * ``examples``: Various examples diff --git a/sphinx/js/js2gil.rst b/sphinx/js/js2gil.rst index 283258bbb..f33cb794c 100644 --- a/sphinx/js/js2gil.rst +++ b/sphinx/js/js2gil.rst @@ -91,8 +91,7 @@ Reproducing the Results .. code-block:: bash - esy - esy x javert bulk-exec [relative path to your Test262 folder]/test + dune exec -- gillian-js bulk-exec [relative path to your Test262 folder]/test For example, we normally clone Test262 in the same folder as the Gillian project and change its folder name from ``javert-test262`` to ``test262``. We then run all of the tests by executing the following commands from within the ``Gillian`` folder: @@ -101,8 +100,7 @@ For example, we normally clone Test262 in the same folder as the Gillian project cd .. git clone https://github.com/GillianPlatform/javert-test262.git test262 cd Gillian - esy - esy x javert bulk-exec ../test262/test + dune exec -- gillian-js bulk-exec ../test262/test The testing should take approximately thirty minutes. The bulk tester will actively report progress, folder-by-folder, and signal any test failures encountered. In the end, a list of all failed tests (the eight given above) will be printed. @@ -110,7 +108,7 @@ The testing should take approximately thirty minutes. The bulk tester will activ .. code-block:: bash - esy x javert bulk-exec ../test262/test/built-ins/Array/prototype/reduce/ + dune exec -- gillian-js bulk-exec ../test262/test/built-ins/Array/prototype/reduce/ 4. If you would like to examine the filtered tests, you can find them in ``test262_filtering.ml`` `[link] `_. diff --git a/sphinx/js/symbolic-testing.rst b/sphinx/js/symbolic-testing.rst index 8759fd717..c0f60ce83 100644 --- a/sphinx/js/symbolic-testing.rst +++ b/sphinx/js/symbolic-testing.rst @@ -67,10 +67,10 @@ This example is already in the repository (with ``f`` instantiated to ``n1 + n2` .. code-block:: bash - esy - esy init:env + dune build + make js-init-env cd JaVerT/environment - esy x gillian-js wpst Examples/Cosette/simple_example.js -s + dune exec -- gillian-js wpst Examples/Cosette/simple_example.js -s Since the assertion in the end does hold, there will be no output from Cosette, meaning that the test has passed. If however, you change ``n1 + n2`` to ``n1 * n2`` and re-run the example, you will be faced with the following error message and counter-model: @@ -144,8 +144,8 @@ Starting from the ``Gillian`` folder, execute the following: .. code-block:: bash - esy - esy init:env + dune build + make js-init-env cd Gillian-JS/environment Then, to reproduce the results for a specific folder from the first column of the above table, execute the following: @@ -249,8 +249,8 @@ Starting from the ``Gillian`` folder, execute the following: .. code-block:: bash - esy - esy init:env + dune build + make js-init-env cd Gillian-JS/environment :doc:`../publications/cosette` Multi-Dictionary Bug diff --git a/wisl.opam b/wisl.opam index e69de29bb..f5b79f650 100644 --- a/wisl.opam +++ b/wisl.opam @@ -0,0 +1,32 @@ +# This file is generated by dune, edit dune-project instead +opam-version: "2.0" +synopsis: + "Gillian instantiation for Wisl, a small toy language for teaching and experimentation" +maintainer: ["The Gillian Team"] +authors: ["The Gillian Team"] +license: "BSD-3-Clause" +homepage: "https://github.com/GillianPlatform/Gillian" +bug-reports: "https://github.com/GillianPlatform/Gillian/issues" +depends: [ + "dune" {>= "3.16"} + "dune-site" + "gillian" {= version} + "odoc" {with-doc} +] +build: [ + ["dune" "subst"] {dev} + [ + "dune" + "build" + "-p" + name + "-j" + jobs + "--promote-install-files=false" + "@install" + "@runtest" {with-test} + "@doc" {with-doc} + ] + ["dune" "install" "-p" name "--create-install-files" name] +] +dev-repo: "git+https://github.com/GillianPlatform/Gillian.git" diff --git a/wisl/lib/ParserAndCompiler/dune b/wisl/lib/ParserAndCompiler/dune index 9d52746b6..32e3577ad 100644 --- a/wisl/lib/ParserAndCompiler/dune +++ b/wisl/lib/ParserAndCompiler/dune @@ -7,7 +7,11 @@ (library (name wParserAndCompiler) - (libraries gillian wSyntax wUtils wSemantics) + (libraries gillian wSyntax wUtils wSemantics dune-site) (preprocess (pps ppx_deriving.std ppx_deriving_yojson)) (flags :standard -open WSyntax -open WUtils -open WSemantics)) + +(generate_sites_module + (module runtime_sites) + (sites wisl)) diff --git a/wisl/lib/ParserAndCompiler/wParserAndCompiler.ml b/wisl/lib/ParserAndCompiler/wParserAndCompiler.ml index 8f0a5d383..b27d47e9d 100644 --- a/wisl/lib/ParserAndCompiler/wParserAndCompiler.ml +++ b/wisl/lib/ParserAndCompiler/wParserAndCompiler.ml @@ -54,7 +54,7 @@ let parse_and_compile_files files = let other_imports = [] let initialize _ = () -let env_var_import_path = Some WConfig.import_env_var +let default_import_paths = Some Runtime_sites.Sites.runtime module TargetLangOptions = Gillian.Command_line.ParserAndCompiler.Dummy.TargetLangOptions diff --git a/wisl/runtime/dune b/wisl/runtime/dune index 8157798c7..986925808 100644 --- a/wisl/runtime/dune +++ b/wisl/runtime/dune @@ -1,4 +1,6 @@ (install (files wisl_core.gil wisl_pointer_arith.gil) - (section share) + (section + (site + (wisl runtime))) (package wisl)) diff --git a/wisl/scripts/quicktests.sh b/wisl/scripts/quicktests.sh index 8be4ee0ba..a8a990b44 100755 --- a/wisl/scripts/quicktests.sh +++ b/wisl/scripts/quicktests.sh @@ -1,21 +1,10 @@ -FINAL_RETURN=0 - -esy x true > /dev/null 2>&1 -esy exec-env > exec.env -source exec.env +set -e verify () { echo "\nVerifying: $1\n" wisl verify $1 - rc=$?; if [[ $rc != 0 ]]; then FINAL_RETURN=1; fi } -# verify_exv () { -# echo "\nVerifying: $1\n" -# wisl verify --exv $1 -# rc=$?; if [[ $rc != 0 ]]; then FINAL_RETURN=1; fi -# } - echo "--- WISL: OX VERIFICATION ---" verify wisl/examples/SLL_recursive.wisl verify wisl/examples/DLL_recursive.wisl diff --git a/wisl/scripts/remake.sh b/wisl/scripts/remake.sh deleted file mode 100755 index 523ded5f5..000000000 --- a/wisl/scripts/remake.sh +++ /dev/null @@ -1,9 +0,0 @@ -cd .. -if [[ $1 == '--nomake' ]] -then - echo 'Not recompiling, only resetting env' -else - esy -fi -esy init:env -cd environment \ No newline at end of file