{"count":51622,"next":"https://ports.macports.org/api/v1/ports/?format=json&ordering=name&page=149","previous":"https://ports.macports.org/api/v1/ports/?format=json&ordering=name&page=147","results":[{"name":"ocaml-pprint","portdir":"ocaml/ocaml-pprint","version":"20230830","license":"LGPL-2","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/fpottier/pprint","description":"Pretty-printing library for OCaml","long_description":"A pretty-printing combinator library and rendering engine for OCaml.","active":true,"categories":["devel","ocaml"],"maintainers":[{"name":"landonf","github":"landonf","ports_count":83}],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-16"]},{"type":"lib","ports":["ocaml","ocaml-findlib"]}],"depends_on":[{"type":"lib","ports":["fstar","kremlin"]}]},{"name":"ocaml-ppx_assert","portdir":"ocaml/ocaml-ppx_assert","version":"0.16.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/janestreet/ppx_assert","description":"Extension nodes to compare value and raise useful errors if they differ","long_description":"Extension nodes to compare value and raise useful errors if they differ","active":true,"categories":["devel","ocaml"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-18"]},{"type":"lib","ports":["ocaml-findlib","ocaml-ppxlib","ocaml-ppx_cold","ocaml","ocaml-ppx_here","ocaml-ppx_sexp_conv","ocaml-ppx_compare","ocaml-base"]}],"depends_on":[{"type":"lib","ports":["ocaml-core","ocaml-jst-config","ocaml-ppx_jane","ocaml-splittable_random"]}]},{"name":"ocaml-ppx_base","portdir":"ocaml/ocaml-ppx_base","version":"0.16.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/janestreet/ppx_base","description":"Base set of ppx rewriters","long_description":"Base set of ppx rewriters","active":true,"categories":["devel","ocaml"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-18"]},{"type":"lib","ports":["ocaml-ppxlib","ocaml-ppx_cold","ocaml-ppx_compare","ocaml","ocaml-ppx_sexp_conv","ocaml-ppx_enumerate","ocaml-ppx_globalize","ocaml-ppx_hash","ocaml-findlib"]}],"depends_on":[{"type":"lib","ports":["ocaml-base_quickcheck","ocaml-core","ocaml-ppx_jane","ocaml-ppx_module_timer","ocaml-ppx_string","ocaml-sexp_pretty","ocaml-time_now"]}]},{"name":"ocaml-ppx_bench","portdir":"ocaml/ocaml-ppx_bench","version":"0.16.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/janestreet/ppx_bench","description":"Syntax extension for writing in-line benchmarks in OCaml code","long_description":"Syntax extension for writing in-line benchmarks in OCaml code","active":true,"categories":["devel","ocaml"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-18"]},{"type":"lib","ports":["ocaml","ocaml-findlib","ocaml-ppxlib","ocaml-ppx_inline_test"]}],"depends_on":[{"type":"lib","ports":["ocaml-ppx_jane","ocaml-splittable_random"]}]},{"name":"ocaml-ppx_bin_prot","portdir":"ocaml/ocaml-ppx_bin_prot","version":"0.16.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/janestreet/ppx_bin_prot","description":"Generation of binary serialization and deserialization functions from type definitions","long_description":"Generation of binary serialization and deserialization functions from type definitions","active":true,"categories":["devel","ocaml"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-18"]},{"type":"lib","ports":["ocaml-findlib","ocaml-ppxlib","ocaml","ocaml-bin_prot","ocaml-ppx_here","ocaml-base"]}],"depends_on":[{"type":"lib","ports":["ocaml-ppx_jane"]}]},{"name":"ocaml-ppx_blob","portdir":"ocaml/ocaml-ppx_blob","version":"0.9.0","license":"Unlicense","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/johnwhitington/ppx_blob","description":"Include a file as a string at compile time","long_description":"ppx_blob allows you to include a binary blob from a file as  a string. Writing [%blob \"filename\"] will replace the string  with the contents of the file at compile time. This allows  the inclusion of arbitary, possibly compressed, data,  without the need to respect OCaml's lexical conventions.","active":true,"categories":["devel","ocaml"],"maintainers":[{"name":"pguyot","github":"pguyot","ports_count":156}],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-16"]},{"type":"lib","ports":["ocaml","ocaml-findlib","ocaml-ppxlib","ocaml-alcotest"]}],"depends_on":[{"type":"lib","ports":["geneweb"]}]},{"name":"ocaml-ppx_cold","portdir":"ocaml/ocaml-ppx_cold","version":"0.16.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/janestreet/ppx_cold","description":"Expands cold attribute","long_description":"Expands cold attribute","active":true,"categories":["devel","ocaml"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-18"]},{"type":"lib","ports":["ocaml","ocaml-base","ocaml-findlib","ocaml-ppxlib"]}],"depends_on":[{"type":"lib","ports":["ocaml-ppx_assert","ocaml-ppx_base"]}]},{"name":"ocaml-ppx_compare","portdir":"ocaml/ocaml-ppx_compare","version":"0.16.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/janestreet/ppx_compare","description":"Generation of fast comparison and equality functions from type expressions and definitions","long_description":"Generation of fast comparison and equality functions from type expressions and definitions","active":true,"categories":["ocaml"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-18"]},{"type":"lib","ports":["ocaml","ocaml-base","ocaml-findlib","ocaml-ppxlib"]}],"depends_on":[{"type":"lib","ports":["ocaml-ppx_hash","ocaml-bin_prot","ocaml-ppx_assert","ocaml-ppx_base"]}]},{"name":"ocaml-ppx_custom_printf","portdir":"ocaml/ocaml-ppx_custom_printf","version":"0.16.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/janestreet/ppx_custom_printf","description":"Extensions to printf-style format-strings for user-defined string conversion","long_description":"Extensions to printf-style format-strings for user-defined string conversion","active":true,"categories":["ocaml"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-18"]},{"type":"lib","ports":["ocaml-findlib","ocaml","ocaml-ppx_sexp_conv","ocaml-ppxlib","ocaml-base"]}],"depends_on":[{"type":"lib","ports":["ocaml-bin_prot","ocaml-ppx_jane"]}]},{"name":"ocaml-ppx_derivers","portdir":"ocaml/ocaml-ppx_derivers","version":"1.2.1","license":"BSD","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/ocaml-ppx/ppx_derivers","description":"Allow OCaml ppx_deriving and ppx_type_conv to interoperate","long_description":"Allow OCaml ppx_deriving and ppx_type_conv to interoperate when linked as part of the same ocaml-migrate-parsetree driver.","active":true,"categories":["devel","ocaml"],"maintainers":[{"name":"landonf","github":"landonf","ports_count":83}],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-15"]},{"type":"lib","ports":["ocaml","ocaml-findlib"]}],"depends_on":[{"type":"lib","ports":["ocaml-ppx_deriving","ocaml-ppxlib","ocaml-migrate-parsetree"]}]},{"name":"ocaml-ppx_deriving","portdir":"ocaml/ocaml-ppx_deriving","version":"6.0.2","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/ocaml-ppx/ppx_deriving","description":"Type-driven code generation for OCaml","long_description":"Common infrastructure for generating OCaml code based on type definitions, and a set of useful plugins for common tasks.","active":true,"categories":["devel","ocaml"],"maintainers":[{"name":"landonf","github":"landonf","ports_count":83}],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-cppo","ocaml-dune","clang-16"]},{"type":"lib","ports":["ocaml","ocaml-ppxlib","ocaml-findlib","ocaml-ppx_derivers"]}],"depends_on":[{"type":"lib","ports":["ocaml-ppx_deriving_yojson","ocaml-jingoo","geneweb","ocaml-visitors","fstar","kremlin","stanc3"]}]},{"name":"ocaml-ppx_deriving_yojson","portdir":"ocaml/ocaml-ppx_deriving_yojson","version":"3.7.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/whitequark/ppx_deriving_yojson","description":"OCaml ppx_deriving plugin for Yojson","long_description":"An OCaml ppx_deriving plugin that generates JSON serializers and deserializers using the Yjoson library.","active":true,"categories":["devel","ocaml"],"maintainers":[{"name":"landonf","github":"landonf","ports_count":83}],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-15"]},{"type":"lib","ports":["ocaml-ppx_deriving","ocaml-result","ocaml","ocaml-ppxlib","ocaml-yojson","ocaml-findlib"]}],"depends_on":[{"type":"lib","ports":["fstar","kremlin"]}]},{"name":"ocaml-ppx_disable_unused_warnings","portdir":"ocaml/ocaml-ppx_disable_unused_warnings","version":"0.16.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/janestreet/ppx_disable_unused_warnings","description":"Extension that disables many OCaml compiler warnings","long_description":"Extension that disables many OCaml compiler warnings","active":true,"categories":["devel","ocaml"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-18"]},{"type":"lib","ports":["ocaml","ocaml-base","ocaml-findlib","ocaml-ppxlib"]}],"depends_on":[{"type":"lib","ports":["ocaml-ppx_jane"]}]},{"name":"ocaml-ppx_enumerate","portdir":"ocaml/ocaml-ppx_enumerate","version":"0.16.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/janestreet/ppx_enumerate","description":"Generate a list containing all values of a finite type","long_description":"Generate a list containing all values of a finite type","active":true,"categories":["ocaml"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-18"]},{"type":"lib","ports":["ocaml","ocaml-base","ocaml-findlib","ocaml-ppxlib"]}],"depends_on":[{"type":"lib","ports":["ocaml-ppx_base"]}]},{"name":"ocaml-ppx_expect","portdir":"ocaml/ocaml-ppx_expect","version":"0.16.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/janestreet/ppx_expect","description":"Expect-test is a framework for writing tests in OCaml, similar to Cram","long_description":"Expect-test is a framework for writing tests in OCaml, similar to Cram","active":true,"categories":["devel","ocaml"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-18"]},{"type":"lib","ports":["ocaml-findlib","ocaml-stdio","ocaml-ppxlib","ocaml","ocaml-ppx_here","ocaml-ppx_inline_test","ocaml-re","ocaml-base"]}],"depends_on":[{"type":"lib","ports":["ocaml-ppx_jane"]},{"type":"test","ports":["ocaml-spawn"]}]},{"name":"ocaml-ppx_fields_conv","portdir":"ocaml/ocaml-ppx_fields_conv","version":"0.16.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/janestreet/ppx_fields_conv","description":"Generation of accessor and iteration functions for OCaml records","long_description":"Generation of accessor and iteration functions for OCaml records","active":true,"categories":["devel","ocaml"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-18"]},{"type":"lib","ports":["ocaml-findlib","ocaml","ocaml-fieldslib","ocaml-ppxlib","ocaml-base"]}],"depends_on":[{"type":"lib","ports":["ocaml-base_quickcheck","ocaml-bin_prot","ocaml-ppx_jane"]}]},{"name":"ocaml-ppxfind","portdir":"ocaml/ocaml-ppxfind","version":"1.3","license":"BSD","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/diml/ppxfind","description":"Apply OCaml PPX rewriters from the command line","long_description":"A command line tool that supports applying PPX rewriters.","active":true,"categories":["devel","ocaml"],"maintainers":[{"name":"landonf","github":"landonf","ports_count":83}],"variants":[],"dependencies":[{"type":"build","ports":["clang-9.0","ocaml-dune"]},{"type":"lib","ports":["ocaml","ocaml-findlib","ocaml-migrate-parsetree"]}],"depends_on":[]},{"name":"ocaml-ppx_fixed_literal","portdir":"ocaml/ocaml-ppx_fixed_literal","version":"0.16.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/janestreet/ppx_fixed_literal","description":"Simpler notation for fixed point literals","long_description":"Simpler notation for fixed point literals","active":true,"categories":["ocaml"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-18"]},{"type":"lib","ports":["ocaml","ocaml-base","ocaml-findlib","ocaml-ppxlib"]}],"depends_on":[{"type":"lib","ports":["ocaml-ppx_jane"]}]},{"name":"ocaml-ppx_globalize","portdir":"ocaml/ocaml-ppx_globalize","version":"0.16.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/janestreet/ppx_globalize","description":"ppx rewriter that generates functions to copy local values to the global heap","long_description":"ppx rewriter that generates functions to copy local values to the global heap","active":true,"categories":["devel","ocaml"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-18"]},{"type":"lib","ports":["ocaml","ocaml-base","ocaml-findlib","ocaml-ppxlib"]}],"depends_on":[{"type":"lib","ports":["ocaml-ppx_base"]}]},{"name":"ocaml-ppx_hash","portdir":"ocaml/ocaml-ppx_hash","version":"0.16.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/janestreet/ppx_hash","description":"ppx writer that generates hash functions from type expressions and definitions","long_description":"ppx writer that generates hash functions from type expressions and definitions","active":true,"categories":["ocaml"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-18"]},{"type":"lib","ports":["ocaml-findlib","ocaml-ppxlib","ocaml","ocaml-ppx_sexp_conv","ocaml-ppx_compare","ocaml-base"]}],"depends_on":[{"type":"lib","ports":["ocaml-core","ocaml-ppx_base"]}]},{"name":"ocaml-ppx_here","portdir":"ocaml/ocaml-ppx_here","version":"0.16.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/janestreet/ppx_here","description":"ppx rewriter that defines an extension node whose value is its source position","long_description":"ppx rewriter that defines an extension node whose value is its source position","active":true,"categories":["devel","ocaml"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-18"]},{"type":"lib","ports":["ocaml","ocaml-base","ocaml-findlib","ocaml-ppxlib"]}],"depends_on":[{"type":"lib","ports":["ocaml-ppx_assert","ocaml-ppx_bin_prot","ocaml-ppx_expect","ocaml-ppx_jane","ocaml-ppx_let","ocaml-ppx_log","ocaml-ppx_sexp_message","ocaml-ppx_sexp_value"]}]},{"name":"ocaml-ppx_ignore_instrumentation","portdir":"ocaml/ocaml-ppx_ignore_instrumentation","version":"0.16.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/janestreet/ppx_ignore_instrumentation","description":"Ignore Jane Street specific instrumentation extensions","long_description":"Ignore Jane Street specific instrumentation extensions","active":true,"categories":["ocaml"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-18"]},{"type":"lib","ports":["ocaml","ocaml-findlib","ocaml-ppxlib"]}],"depends_on":[{"type":"lib","ports":["ocaml-ppx_jane"]}]},{"name":"ocaml-ppx_import","portdir":"ocaml/ocaml-ppx_import","version":"1.11.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/ocaml-ppx/ppx_import","description":"A syntax extension for importing declarations from interface files","long_description":"A syntax extension for importing declarations from interface files","active":true,"categories":["devel","ocaml"],"maintainers":[{"name":"pguyot","github":"pguyot","ports_count":156}],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-16"]},{"type":"lib","ports":["ocaml","ocaml-findlib","ocaml-ppxlib"]}],"depends_on":[{"type":"lib","ports":["geneweb"]}]},{"name":"ocaml-ppx_inline_test","portdir":"ocaml/ocaml-ppx_inline_test","version":"0.16.1","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/janestreet/ppx_inline_test","description":"Syntax extension for writing in-line tests in OCaml code","long_description":"Syntax extension for writing in-line tests in OCaml code","active":true,"categories":["devel","ocaml"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-18"]},{"type":"lib","ports":["ocaml-findlib","ocaml","ocaml-time_now","ocaml-ppxlib","ocaml-base"]}],"depends_on":[{"type":"lib","ports":["ocaml-core","ocaml-ppx_bench","ocaml-ppx_expect","ocaml-ppx_jane","ocaml-splittable_random"]},{"type":"test","ports":["ocaml-sqlite3"]}]},{"name":"ocaml-ppx_jane","portdir":"ocaml/ocaml-ppx_jane","version":"0.16.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/janestreet/ppx_jane","description":"ppx_driver including all standard ppx rewriters","long_description":"ppx_driver including all standard ppx rewriters","active":true,"categories":["devel","ocaml"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-18"]},{"type":"lib","ports":["ocaml-ppxlib","ocaml-ppx_assert","ocaml-ppx_custom_printf","ocaml-ppx_fixed_literal","ocaml-ppx_here","ocaml-ppx_ignore_instrumentation","ocaml-ppx_let","ocaml-ppx_optional","ocaml-ppx_pipebang","ocaml-ppx_sexp_message","ocaml-ppx_sexp_value","ocaml-ppx_stable","ocaml-ppx_stable_witness","ocaml","ocaml-ppx_bench","ocaml-ppx_bin_prot","ocaml-ppx_disable_unused_warnings","ocaml-ppx_fields_conv","ocaml-ppx_inline_test","ocaml-ppx_log","ocaml-ppx_module_timer","ocaml-ppx_string","ocaml-ppx_typerep_conv","ocaml-ppx_variants_conv","ocaml-base_quickcheck","ocaml-ppx_expect","ocaml-ppx_tydi","ocaml-ppx_base","ocaml-findlib"]}],"depends_on":[{"type":"lib","ports":["ocaml-async","ocaml-async_kernel","ocaml-async_rpc_kernel","ocaml-async_unix","ocaml-base_bigstring","ocaml-core","ocaml-core_extended","ocaml-core_kernel","ocaml-core_unix","ocaml-expect_test_helpers_core","ocaml-expect_test_helpers_kernel","ocaml-int_repr","ocaml-patdiff","ocaml-patience_diff","ocaml-protocol_version_header","ocaml-record_builder","ocaml-shell","ocaml-textutils","ocaml-textutils_kernel","ocaml-timezone"]}]},{"name":"ocaml-ppx_let","portdir":"ocaml/ocaml-ppx_let","version":"0.16.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/janestreet/ppx_let","description":"ppx rewriter for monadic and applicative let bindings, match expressions and if expressions","long_description":"ppx rewriter for monadic and applicative let bindings, match expressions and if expressions","active":true,"categories":["devel","ocaml"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-18"]},{"type":"lib","ports":["ocaml-findlib","ocaml","ocaml-ppx_here","ocaml-ppxlib","ocaml-base"]}],"depends_on":[{"type":"lib","ports":["ocaml-base_quickcheck","ocaml-ppx_jane"]}]},{"name":"ocaml-ppxlib","portdir":"ocaml/ocaml-ppxlib","version":"0.32.1","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/ocaml-ppx/ppxlib","description":"Standard library for ppx rewriters","long_description":"Ppxlib is the standard library for ppx rewriters and other programs that manipulate the in-memory reprensation of the OCaml parsetree.","active":true,"categories":["devel","ocaml"],"maintainers":[{"name":"landonf","github":"landonf","ports_count":83}],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-16"]},{"type":"lib","ports":["ocaml-ppx_derivers","ocaml-sexplib0","ocaml","ocaml-stdlib-shims","ocaml-compiler-libs","ocaml-findlib"]}],"depends_on":[{"type":"lib","ports":["ocaml-ppx_deriving_yojson","ocaml-ppx_import","ocaml-ppx_blob","ocaml-ppx_deriving","ocaml-js_of_ocaml","ocaml-sedlex","ocaml-js_of_ocaml-compiler","ocaml-lwt_ppx","ocaml-ppx_tydi","ocaml-visitors","fstar","ocaml-ppx_cold","ocaml-ppx_compare","ocaml-ppx_custom_printf","ocaml-ppx_disable_unused_warnings","ocaml-ppx_hash","ocaml-ppx_here","ocaml-ppx_ignore_instrumentation","ocaml-ppx_pipebang","ocaml-ppx_stable_witness","ocaml-base_quickcheck","ocaml-bisect_ppx","ocaml-ppx_assert","ocaml-ppx_base","ocaml-ppx_bench","ocaml-ppx_bin_prot","ocaml-ppx_enumerate","ocaml-ppx_expect","ocaml-ppx_fields_conv","ocaml-ppx_fixed_literal","ocaml-ppx_globalize","ocaml-ppx_inline_test","ocaml-ppx_jane","ocaml-ppx_let","ocaml-ppx_log","ocaml-ppx_module_timer","ocaml-ppx_optcomp","ocaml-ppx_optional","ocaml-ppx_sexp_conv","ocaml-ppx_sexp_message","ocaml-ppx_sexp_value","ocaml-ppx_stable","ocaml-ppx_string","ocaml-ppx_typerep_conv","ocaml-ppx_variants_conv"]}]},{"name":"ocaml-ppx_log","portdir":"ocaml/ocaml-ppx_log","version":"0.16.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/janestreet/ppx_log","description":"ppx rewriter that defines extension nodes for logging","long_description":"ppx rewriter that defines extension nodes for logging","active":true,"categories":["ocaml"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-18"]},{"type":"lib","ports":["ocaml-findlib","ocaml-ppxlib","ocaml-ppx_here","ocaml","ocaml-ppx_sexp_message","ocaml-sexplib","ocaml-ppx_sexp_conv","ocaml-base"]}],"depends_on":[{"type":"lib","ports":["ocaml-async","ocaml-ppx_jane"]}]},{"name":"ocaml-ppx_module_timer","portdir":"ocaml/ocaml-ppx_module_timer","version":"0.16.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/janestreet/ppx_module_timer","description":"Extension to record module start-up times","long_description":"Extension to record module start-up times","active":true,"categories":["devel","ocaml"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-18"]},{"type":"lib","ports":["ocaml-findlib","ocaml-stdio","ocaml","ocaml-ppx_base","ocaml-time_now","ocaml-ppxlib","ocaml-base"]}],"depends_on":[{"type":"lib","ports":["ocaml-ppx_jane"]}]},{"name":"ocaml-ppx_optcomp","portdir":"ocaml/ocaml-ppx_optcomp","version":"0.16.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/janestreet/ppx_optcomp","description":"Optional compilation for OCaml","long_description":"Optional compilation for OCaml","active":true,"categories":["devel","ocaml"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-18"]},{"type":"lib","ports":["ocaml-findlib","ocaml","ocaml-ppxlib","ocaml-stdio","ocaml-base"]}],"depends_on":[{"type":"lib","ports":["ocaml-bin_prot","ocaml-core","ocaml-core_kernel","ocaml-core_unix","ocaml-time_now"]}]},{"name":"ocaml-ppx_optional","portdir":"ocaml/ocaml-ppx_optional","version":"0.16.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/janestreet/ppx_optional","description":"ppx rewriter that rewrites simple match statements with an if-then-else expression","long_description":"ppx rewriter that rewrites simple match statements with an if-then-else expression","active":true,"categories":["devel","ocaml"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-18"]},{"type":"lib","ports":["ocaml","ocaml-base","ocaml-findlib","ocaml-ppxlib"]}],"depends_on":[{"type":"lib","ports":["ocaml-ppx_jane"]}]},{"name":"ocaml-ppx_pipebang","portdir":"ocaml/ocaml-ppx_pipebang","version":"0.16.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/janestreet/ppx_pipebang","description":"ppx rewriter that inlines reverse application operators |> and |!","long_description":"ppx rewriter that inlines reverse application operators |> and |!","active":true,"categories":["devel","ocaml"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-18"]},{"type":"lib","ports":["ocaml","ocaml-findlib","ocaml-ppxlib"]}],"depends_on":[{"type":"lib","ports":["ocaml-ppx_jane"]}]},{"name":"ocaml-ppx_sexp_conv","portdir":"ocaml/ocaml-ppx_sexp_conv","version":"0.16.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/janestreet/ppx_sexp_conv","description":"ppx syntax extension that generates code for converting OCaml types to and from s-expressions","long_description":"ppx syntax extension that generates code for converting OCaml types to and from s-expressions","active":true,"categories":["devel","ocaml"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-18"]},{"type":"lib","ports":["ocaml-findlib","ocaml","ocaml-ppxlib","ocaml-sexplib0","ocaml-base"]}],"depends_on":[{"type":"lib","ports":["ocaml-ppx_custom_printf","ocaml-ppx_hash","ocaml-bin_prot","ocaml-core","ocaml-ppx_assert","ocaml-ppx_base","ocaml-ppx_log","ocaml-ppx_sexp_message","ocaml-ppx_sexp_value"]}]},{"name":"ocaml-ppx_sexp_message","portdir":"ocaml/ocaml-ppx_sexp_message","version":"0.16.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/janestreet/ppx_sexp_message","description":"ppx rewriter for easy construction of s-expressions","long_description":"ppx rewriter for easy construction of s-expressions","active":true,"categories":["devel","ocaml"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-18"]},{"type":"lib","ports":["ocaml-findlib","ocaml-ppxlib","ocaml","ocaml-ppx_sexp_conv","ocaml-ppx_here","ocaml-base"]}],"depends_on":[{"type":"lib","ports":["ocaml-base_quickcheck","ocaml-core","ocaml-ppx_jane","ocaml-ppx_log","ocaml-splittable_random"]}]},{"name":"ocaml-ppx_sexp_value","portdir":"ocaml/ocaml-ppx_sexp_value","version":"0.16.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/janestreet/ppx_sexp_value","description":"ppx rewriter that simplifies building s-expressions from OCaml values","long_description":"ppx rewriter that simplifies building s-expressions from OCaml values","active":true,"categories":["devel","ocaml"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-18"]},{"type":"lib","ports":["ocaml-findlib","ocaml-ppxlib","ocaml","ocaml-ppx_sexp_conv","ocaml-ppx_here","ocaml-base"]}],"depends_on":[{"type":"lib","ports":["ocaml-base_quickcheck","ocaml-ppx_jane"]}]},{"name":"ocaml-ppx_stable","portdir":"ocaml/ocaml-ppx_stable","version":"0.16.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/janestreet/ppx_stable","description":"Stable types conversions generator","long_description":"ppx extension for easier implementation of conversion functions between almost identical types","active":true,"categories":["devel","ocaml"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-18"]},{"type":"lib","ports":["ocaml","ocaml-base","ocaml-findlib","ocaml-ppxlib"]}],"depends_on":[{"type":"lib","ports":["ocaml-ppx_jane"]}]},{"name":"ocaml-ppx_stable_witness","portdir":"ocaml/ocaml-ppx_stable_witness","version":"0.16.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/janestreet/ppx_stable_witness","description":"ppx extension for deriving a witness that a type is intended to be stable","long_description":"ppx extension for deriving a witness that a type is intended to be stable","active":true,"categories":["devel","ocaml"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-18"]},{"type":"lib","ports":["ocaml","ocaml-base","ocaml-findlib","ocaml-ppxlib"]}],"depends_on":[{"type":"lib","ports":["ocaml-bin_prot","ocaml-ppx_jane"]}]},{"name":"ocaml-ppx_string","portdir":"ocaml/ocaml-ppx_string","version":"0.16.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/janestreet/ppx_string","description":"Extension providing a syntax for string interpolation","long_description":"Extension providing a syntax for string interpolation","active":true,"categories":["devel","ocaml"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-18"]},{"type":"lib","ports":["ocaml-findlib","ocaml","ocaml-ppx_base","ocaml-ppxlib","ocaml-base"]}],"depends_on":[{"type":"lib","ports":["ocaml-ppx_jane"]}]},{"name":"ocaml-ppx_tools","portdir":"ocaml/ocaml-ppx_tools","version":"6.6","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/ocaml-ppx/ppx_tools","description":"Tools for authors of OCaml syntactic tools","long_description":"Tools for authors of OCaml syntactic tools, including OCaml PPX rewriters.","active":true,"categories":["devel","ocaml"],"maintainers":[{"name":"landonf","github":"landonf","ports_count":83}],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-cppo","ocaml-dune","clang-16"]},{"type":"lib","ports":["ocaml","ocaml-findlib"]}],"depends_on":[]},{"name":"ocaml-ppx_tools_versioned","portdir":"ocaml/ocaml-ppx_tools_versioned","version":"5.2.3","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/ocaml-ppx/ppx_tools_versioned","description":"A variant of ppx_tools based on ocaml-migrate-parsetree.","long_description":"A variant of ppx_tools based on ocaml-migrate-parsetree, providing tools for authors of OCaml syntactic tools.","active":true,"categories":["devel","ocaml"],"maintainers":[{"name":"landonf","github":"landonf","ports_count":83}],"variants":[],"dependencies":[{"type":"build","ports":["clang-9.0","ocaml-dune"]},{"type":"lib","ports":["ocaml","ocaml-findlib","ocaml-migrate-parsetree"]}],"depends_on":[]},{"name":"ocaml-ppx_tydi","portdir":"ocaml/ocaml-ppx_tydi","version":"0.16.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/janestreet/ppx_tydi","description":"Let expressions, inferring pattern type from expression","long_description":"Let expressions, inferring pattern type from expression","active":true,"categories":["devel","ocaml"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-16"]},{"type":"lib","ports":["ocaml","ocaml-base","ocaml-findlib","ocaml-ppxlib"]}],"depends_on":[{"type":"lib","ports":["ocaml-ppx_jane"]}]},{"name":"ocaml-ppx_typerep_conv","portdir":"ocaml/ocaml-ppx_typerep_conv","version":"0.16.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/janestreet/ppx_typerep_conv","description":"Automatic generation of runtime types from type definitions","long_description":"Automatic generation of runtime types from type definitions","active":true,"categories":["devel","ocaml"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-18"]},{"type":"lib","ports":["ocaml-findlib","ocaml","ocaml-typerep","ocaml-ppxlib","ocaml-base"]}],"depends_on":[{"type":"lib","ports":["ocaml-ppx_jane"]}]},{"name":"ocaml-ppx_variants_conv","portdir":"ocaml/ocaml-ppx_variants_conv","version":"0.16.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/janestreet/ppx_variants_conv","description":"Generation of accessor and iteration functions for OCaml variant types","long_description":"Generation of accessor and iteration functions for OCaml variant types","active":true,"categories":["devel","ocaml"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-18"]},{"type":"lib","ports":["ocaml-findlib","ocaml","ocaml-variantslib","ocaml-ppxlib","ocaml-base"]}],"depends_on":[{"type":"lib","ports":["ocaml-bin_prot","ocaml-ppx_jane"]}]},{"name":"ocaml-process","portdir":"ocaml/ocaml-process","version":"0.2.1","license":"ISC","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/dsheets/ocaml-process","description":"Easy process control library for OCaml","long_description":"A process control library for OCaml that makes it easy to use external commands like functions.","active":true,"categories":["devel","ocaml"],"maintainers":[{"name":"landonf","github":"landonf","ports_count":83}],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-ocamlbuild","clang-17"]},{"type":"lib","ports":["ocaml","ocaml-findlib"]}],"depends_on":[{"type":"lib","ports":["fstar","kremlin"]}]},{"name":"ocaml-protocol_version_header","portdir":"ocaml/ocaml-protocol_version_header","version":"0.16.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/janestreet/protocol_version_header","description":"Protocol-aware version negotiation","long_description":"Protocol-aware version negotiation","active":true,"categories":["devel","ocaml"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-18"]},{"type":"lib","ports":["ocaml","ocaml-findlib","ocaml-core","ocaml-ppx_jane"]}],"depends_on":[{"type":"lib","ports":["ocaml-async_rpc_kernel"]}]},{"name":"ocaml-ptime","portdir":"ocaml/ocaml-ptime","version":"1.2.0","license":"ISC","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://erratique.ch/software/ptime","description":"POSIX time for OCaml","long_description":"POSIX time for OCaml","active":true,"categories":["devel","ocaml"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-ocamlbuild","ocaml-topkg","opam","clang-18"]},{"type":"lib","ports":["ocaml-findlib","ocaml-cmdliner","ocaml"]}],"depends_on":[{"type":"lib","ports":["ocaml-crunch"]}]},{"name":"ocaml-re","portdir":"ocaml/ocaml-re","version":"1.11.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/ocaml/ocaml-re","description":"Regular expression library for OCaml","long_description":"A pure OCaml regular expression library with support for Perl, POSIX extended, and Emacs-style regular expressions as well as shell-style file globbing.","active":true,"categories":["devel","ocaml"],"maintainers":[{"name":"landonf","github":"landonf","ports_count":83}],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-16"]},{"type":"lib","ports":["ocaml","ocaml-findlib","ocaml-seq"]},{"type":"test","ports":["ocaml-ounit"]}],"depends_on":[{"type":"build","ports":["everparse"]},{"type":"lib","ports":["ocaml-camlp5-buildscripts","ocaml-jingoo","ocaml-alcotest","ocaml-ocamlformat","abella","ocaml-core_extended","ocaml-expect_test_helpers_core","ocaml-expect_test_helpers_kernel","ocaml-patdiff","ocaml-ppx_expect","camlp5","ocaml-sexp_pretty"]}]},{"name":"ocaml-react","portdir":"ocaml/ocaml-react","version":"1.2.2","license":"ISC","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://erratique.ch/software/react","description":"Functional reactive progreamming for OCaml","long_description":"React is an OCaml module for functional reactive programming (FRP). It provides support to program with time varying values : applicative events and signals. React doesn't define any primitive event or signal, this lets the client chooses the concrete timeline.","active":true,"categories":["devel","ocaml"],"maintainers":[{"name":"landonf","github":"landonf","ports_count":83}],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-ocamlbuild","ocaml-topkg","opam","clang-15"]},{"type":"lib","ports":["ocaml","ocaml-findlib"]}],"depends_on":[{"type":"lib","ports":["ocaml-lwt_react","ocaml-lambda-term","ocaml-mew_vi","ocaml-utop","ocaml-zed"]}]},{"name":"ocaml-record_builder","portdir":"ocaml/ocaml-record_builder","version":"0.16.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/janestreet/record_builder","description":"Library which provides traversal of records with an applicative","long_description":"Library which provides traversal of records with an applicative","active":true,"categories":["devel","ocaml"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-18"]},{"type":"lib","ports":["ocaml","ocaml-base","ocaml-findlib","ocaml-ppx_jane"]}],"depends_on":[{"type":"lib","ports":["ocaml-core_extended"]}]},{"name":"ocaml-result","portdir":"ocaml/ocaml-result","version":"1.5","license":"BSD","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/janestreet/result","description":"A backwards-compatible Result module for OCaml","long_description":"Provides backwards compatibility for projects that want to use the new result type defined in OCaml >= 4.03 while staying compatible with older version of OCaml.","active":true,"categories":["devel","ocaml"],"maintainers":[{"name":"landonf","github":"landonf","ports_count":83}],"variants":[],"dependencies":[{"type":"build","ports":["ocaml-dune","clang-15"]},{"type":"lib","ports":["ocaml","ocaml-findlib"]}],"depends_on":[{"type":"lib","ports":["ocaml-ppx_deriving_yojson","ocaml-visitors","ocaml-ocamlformat-lib","ocaml-mew","ocaml-zed"]}]}]}