├── .github └── workflows │ └── test.yml ├── .gitignore ├── .ocamlformat ├── CHANGES.md ├── LICENSE.md ├── Makefile ├── README.md ├── dune-project ├── example ├── dune ├── example.ml ├── example2.ml ├── example2_client.ml ├── example2_idl.ml ├── example2_server.ml ├── example3_client.ml ├── example3_idl.ml └── template.html ├── ppx ├── common.ml ├── dune ├── ppx_deriving_rpc.ml └── ppx_deriving_rpcty.ml ├── ppx_deriving_rpc.opam ├── rpclib-async.opam ├── rpclib-html.opam ├── rpclib-js.opam ├── rpclib-lwt.opam ├── rpclib.opam ├── src ├── async │ ├── dune │ ├── rpc_async.ml │ └── rpc_async.mli ├── html │ ├── dune │ ├── htmlgen.ml │ └── htmlgen.mli ├── js │ ├── dune │ ├── rpc_client_js.ml │ ├── rpc_client_js.mli │ └── rpc_client_js_helper.ml ├── lib │ ├── cmdlinergen.ml │ ├── codegen.ml │ ├── codegen.mli │ ├── dune │ ├── idl.ml │ ├── idl.mli │ ├── internals.ml │ ├── jsonrpc.ml │ ├── jsonrpc.mli │ ├── markdowngen.ml │ ├── pythongen.ml │ ├── rpc.ml │ ├── rpc.mli │ ├── rpc_client.mli │ ├── rpc_empty_module.ml │ ├── rpc_genfake.ml │ ├── rpclib.ml │ ├── rpcmarshal.ml │ ├── xmlrpc.ml │ └── xmlrpc.mli └── lwt │ ├── dune │ ├── rpc_lwt.ml │ └── rpc_lwt.mli └── tests ├── async ├── client_server_test.ml ├── dune └── suite.ml ├── common ├── dune └── test_interface.ml ├── lib ├── client_server_test.ml ├── dune ├── encoding.ml ├── json.ml ├── suite.ml └── xml_xapi.ml ├── lwt ├── client_server_test.ml ├── dune └── suite.ml ├── ppx ├── all_types.ml ├── dict.ml ├── dune ├── option.ml ├── phantom.ml ├── suite.ml ├── test_deriving_rpc.ml ├── test_deriving_rpcty.ml ├── testable.ml └── variants.ml └── rpc ├── client_async_new.ml ├── client_lwt_new.ml ├── client_new.ml ├── dune ├── python ├── calc_impl │ ├── Calc.add │ ├── Calc.land │ ├── Calc.noop │ └── calc.py ├── calc_test │ ├── Calc.add │ ├── Calc.land │ ├── Calc.noop │ └── calc.py └── exn_test.py ├── suite.ml ├── suite_async.ml ├── suite_lwt.ml └── test_pythongen.ml /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/.gitignore -------------------------------------------------------------------------------- /.ocamlformat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/.ocamlformat -------------------------------------------------------------------------------- /CHANGES.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/CHANGES.md -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/LICENSE.md -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/README.md -------------------------------------------------------------------------------- /dune-project: -------------------------------------------------------------------------------- 1 | (lang dune 2.0) 2 | (name rpclib) 3 | -------------------------------------------------------------------------------- /example/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/example/dune -------------------------------------------------------------------------------- /example/example.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/example/example.ml -------------------------------------------------------------------------------- /example/example2.ml: -------------------------------------------------------------------------------- 1 | let _ = Example2_client.cli () 2 | -------------------------------------------------------------------------------- /example/example2_client.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/example/example2_client.ml -------------------------------------------------------------------------------- /example/example2_idl.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/example/example2_idl.ml -------------------------------------------------------------------------------- /example/example2_server.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/example/example2_server.ml -------------------------------------------------------------------------------- /example/example3_client.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/example/example3_client.ml -------------------------------------------------------------------------------- /example/example3_idl.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/example/example3_idl.ml -------------------------------------------------------------------------------- /example/template.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/example/template.html -------------------------------------------------------------------------------- /ppx/common.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/ppx/common.ml -------------------------------------------------------------------------------- /ppx/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/ppx/dune -------------------------------------------------------------------------------- /ppx/ppx_deriving_rpc.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/ppx/ppx_deriving_rpc.ml -------------------------------------------------------------------------------- /ppx/ppx_deriving_rpcty.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/ppx/ppx_deriving_rpcty.ml -------------------------------------------------------------------------------- /ppx_deriving_rpc.opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/ppx_deriving_rpc.opam -------------------------------------------------------------------------------- /rpclib-async.opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/rpclib-async.opam -------------------------------------------------------------------------------- /rpclib-html.opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/rpclib-html.opam -------------------------------------------------------------------------------- /rpclib-js.opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/rpclib-js.opam -------------------------------------------------------------------------------- /rpclib-lwt.opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/rpclib-lwt.opam -------------------------------------------------------------------------------- /rpclib.opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/rpclib.opam -------------------------------------------------------------------------------- /src/async/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/src/async/dune -------------------------------------------------------------------------------- /src/async/rpc_async.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/src/async/rpc_async.ml -------------------------------------------------------------------------------- /src/async/rpc_async.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/src/async/rpc_async.mli -------------------------------------------------------------------------------- /src/html/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/src/html/dune -------------------------------------------------------------------------------- /src/html/htmlgen.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/src/html/htmlgen.ml -------------------------------------------------------------------------------- /src/html/htmlgen.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/src/html/htmlgen.mli -------------------------------------------------------------------------------- /src/js/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/src/js/dune -------------------------------------------------------------------------------- /src/js/rpc_client_js.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/src/js/rpc_client_js.ml -------------------------------------------------------------------------------- /src/js/rpc_client_js.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/src/js/rpc_client_js.mli -------------------------------------------------------------------------------- /src/js/rpc_client_js_helper.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/src/js/rpc_client_js_helper.ml -------------------------------------------------------------------------------- /src/lib/cmdlinergen.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/src/lib/cmdlinergen.ml -------------------------------------------------------------------------------- /src/lib/codegen.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/src/lib/codegen.ml -------------------------------------------------------------------------------- /src/lib/codegen.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/src/lib/codegen.mli -------------------------------------------------------------------------------- /src/lib/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/src/lib/dune -------------------------------------------------------------------------------- /src/lib/idl.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/src/lib/idl.ml -------------------------------------------------------------------------------- /src/lib/idl.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/src/lib/idl.mli -------------------------------------------------------------------------------- /src/lib/internals.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/src/lib/internals.ml -------------------------------------------------------------------------------- /src/lib/jsonrpc.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/src/lib/jsonrpc.ml -------------------------------------------------------------------------------- /src/lib/jsonrpc.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/src/lib/jsonrpc.mli -------------------------------------------------------------------------------- /src/lib/markdowngen.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/src/lib/markdowngen.ml -------------------------------------------------------------------------------- /src/lib/pythongen.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/src/lib/pythongen.ml -------------------------------------------------------------------------------- /src/lib/rpc.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/src/lib/rpc.ml -------------------------------------------------------------------------------- /src/lib/rpc.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/src/lib/rpc.mli -------------------------------------------------------------------------------- /src/lib/rpc_client.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/src/lib/rpc_client.mli -------------------------------------------------------------------------------- /src/lib/rpc_empty_module.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/src/lib/rpc_empty_module.ml -------------------------------------------------------------------------------- /src/lib/rpc_genfake.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/src/lib/rpc_genfake.ml -------------------------------------------------------------------------------- /src/lib/rpclib.ml: -------------------------------------------------------------------------------- 1 | module Rpclib = Xmlrpc 2 | -------------------------------------------------------------------------------- /src/lib/rpcmarshal.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/src/lib/rpcmarshal.ml -------------------------------------------------------------------------------- /src/lib/xmlrpc.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/src/lib/xmlrpc.ml -------------------------------------------------------------------------------- /src/lib/xmlrpc.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/src/lib/xmlrpc.mli -------------------------------------------------------------------------------- /src/lwt/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/src/lwt/dune -------------------------------------------------------------------------------- /src/lwt/rpc_lwt.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/src/lwt/rpc_lwt.ml -------------------------------------------------------------------------------- /src/lwt/rpc_lwt.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/src/lwt/rpc_lwt.mli -------------------------------------------------------------------------------- /tests/async/client_server_test.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/tests/async/client_server_test.ml -------------------------------------------------------------------------------- /tests/async/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/tests/async/dune -------------------------------------------------------------------------------- /tests/async/suite.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/tests/async/suite.ml -------------------------------------------------------------------------------- /tests/common/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/tests/common/dune -------------------------------------------------------------------------------- /tests/common/test_interface.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/tests/common/test_interface.ml -------------------------------------------------------------------------------- /tests/lib/client_server_test.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/tests/lib/client_server_test.ml -------------------------------------------------------------------------------- /tests/lib/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/tests/lib/dune -------------------------------------------------------------------------------- /tests/lib/encoding.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/tests/lib/encoding.ml -------------------------------------------------------------------------------- /tests/lib/json.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/tests/lib/json.ml -------------------------------------------------------------------------------- /tests/lib/suite.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/tests/lib/suite.ml -------------------------------------------------------------------------------- /tests/lib/xml_xapi.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/tests/lib/xml_xapi.ml -------------------------------------------------------------------------------- /tests/lwt/client_server_test.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/tests/lwt/client_server_test.ml -------------------------------------------------------------------------------- /tests/lwt/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/tests/lwt/dune -------------------------------------------------------------------------------- /tests/lwt/suite.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/tests/lwt/suite.ml -------------------------------------------------------------------------------- /tests/ppx/all_types.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/tests/ppx/all_types.ml -------------------------------------------------------------------------------- /tests/ppx/dict.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/tests/ppx/dict.ml -------------------------------------------------------------------------------- /tests/ppx/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/tests/ppx/dune -------------------------------------------------------------------------------- /tests/ppx/option.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/tests/ppx/option.ml -------------------------------------------------------------------------------- /tests/ppx/phantom.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/tests/ppx/phantom.ml -------------------------------------------------------------------------------- /tests/ppx/suite.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/tests/ppx/suite.ml -------------------------------------------------------------------------------- /tests/ppx/test_deriving_rpc.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/tests/ppx/test_deriving_rpc.ml -------------------------------------------------------------------------------- /tests/ppx/test_deriving_rpcty.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/tests/ppx/test_deriving_rpcty.ml -------------------------------------------------------------------------------- /tests/ppx/testable.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/tests/ppx/testable.ml -------------------------------------------------------------------------------- /tests/ppx/variants.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/tests/ppx/variants.ml -------------------------------------------------------------------------------- /tests/rpc/client_async_new.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/tests/rpc/client_async_new.ml -------------------------------------------------------------------------------- /tests/rpc/client_lwt_new.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/tests/rpc/client_lwt_new.ml -------------------------------------------------------------------------------- /tests/rpc/client_new.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/tests/rpc/client_new.ml -------------------------------------------------------------------------------- /tests/rpc/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/tests/rpc/dune -------------------------------------------------------------------------------- /tests/rpc/python/calc_impl/Calc.add: -------------------------------------------------------------------------------- 1 | calc.py -------------------------------------------------------------------------------- /tests/rpc/python/calc_impl/Calc.land: -------------------------------------------------------------------------------- 1 | calc.py -------------------------------------------------------------------------------- /tests/rpc/python/calc_impl/Calc.noop: -------------------------------------------------------------------------------- 1 | calc.py -------------------------------------------------------------------------------- /tests/rpc/python/calc_impl/calc.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/tests/rpc/python/calc_impl/calc.py -------------------------------------------------------------------------------- /tests/rpc/python/calc_test/Calc.add: -------------------------------------------------------------------------------- 1 | calc.py -------------------------------------------------------------------------------- /tests/rpc/python/calc_test/Calc.land: -------------------------------------------------------------------------------- 1 | calc.py -------------------------------------------------------------------------------- /tests/rpc/python/calc_test/Calc.noop: -------------------------------------------------------------------------------- 1 | calc.py -------------------------------------------------------------------------------- /tests/rpc/python/calc_test/calc.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/tests/rpc/python/calc_test/calc.py -------------------------------------------------------------------------------- /tests/rpc/python/exn_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/tests/rpc/python/exn_test.py -------------------------------------------------------------------------------- /tests/rpc/suite.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/tests/rpc/suite.ml -------------------------------------------------------------------------------- /tests/rpc/suite_async.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/tests/rpc/suite_async.ml -------------------------------------------------------------------------------- /tests/rpc/suite_lwt.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/tests/rpc/suite_lwt.ml -------------------------------------------------------------------------------- /tests/rpc/test_pythongen.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirage/ocaml-rpc/HEAD/tests/rpc/test_pythongen.ml --------------------------------------------------------------------------------