(lang dune 3.8) (name ppxlib) (using cinaps 1.0) (implicit_transitive_deps false) (cram enable) (generate_opam_files true) (version 0.37.0) (source (github ocaml-ppx/ppxlib)) (license MIT) (authors "Jane Street Group, LLC ") (maintainers "opensource@janestreet.com") (documentation "https://ocaml-ppx.github.io/ppxlib/") (package (name ppxlib) (depends ;; 5.3 support is still experimental, remember to set the upper bound ;; to 5.3.0 when cutting a release and then back to 5.4.0 afterwards. (ocaml (and (and (>= 4.08.0) (< 5.5.0)))) (ocaml-compiler-libs (>= v0.11.0)) (ppx_derivers (>= 1.0)) (sexplib0 (>= v0.12)) (sexplib0 (and :with-test (>= "v0.15"))) ; Printexc.register_printer in sexplib0 changed stdlib-shims (ocamlfind :with-test) (re (and :with-test (>= 1.9.0))) (cinaps (and :with-test (>= v0.12.1))) (ocamlformat (and :with-dev-setup (= 0.26.2)))) (conflicts (ocaml-migrate-parsetree (< 2.0.0)) (ocaml-base-compiler (= 5.1.0~alpha1)) (ocaml-variants (= 5.1.0~alpha1+options))) (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. ")) (package (name ppxlib-tools) (synopsis "Tools for PPX users and authors") (description "Set of helper tools for PPX users and authors. ppxlib-pp-ast: Command line tool to pretty print OCaml ASTs in a human readable format.") (depends (ocaml (>= 4.08.0)) (ppxlib (= :version)) (cmdliner (>= 1.3.0)) (yojson (>= 2.2.2)) (cinaps (and :with-test (>= v0.12.1))))) (package (name ppxlib-bench) (allow_empty) (synopsis "Run ppxlib benchmarks") (description "Third-party code in benchmarks depends on later versions of the ocaml than ppxlib itself. Also the benchmark runner has dependencies that ppxlib doesn't have.") (depends (ocaml (>= 4.10.0)) (ppxlib (= :version)) base yojson))