opam-version: "2.0" maintainer: "Jane Street developers" authors: ["Jane Street Group, LLC"] homepage: "https://github.com/ocaml-ppx/ppxlib" bug-reports: "https://github.com/ocaml-ppx/ppxlib/issues" dev-repo: "git+https://github.com/ocaml-ppx/ppxlib.git" doc: "https://ocaml-ppx.github.io/ppxlib/" license: "MIT" build: [ ["dune" "subst"] {dev} ["dune" "build" "-p" name "-j" jobs] ] run-test: [ ["dune" "runtest" "-p" name "-j" jobs] { ocaml:version >= "4.10" } ] depends: [ "ocaml" {>= "4.04.1" & < "4.12"} "dune" {>= "1.11"} "ocaml-compiler-libs" {>= "v0.11.0"} "ocaml-migrate-parsetree" {>= "2.0.0"} "ppx_derivers" {>= "1.0"} "sexplib0" {>= "v0.12"} "sexplib0" {with-test & < "v0.15"} # Printexc.register_printer in sexplib0 changed "stdlib-shims" "ocamlfind" {with-test} "cinaps" {with-test & >= "v0.12.1"} "base" {with-test} "stdio" {with-test} ] synopsis: "Standard library for ppx rewriters" description: """ Ppxlib is the standard library for ppx rewriters and other programs that manipulate the in-memory reprensation 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. """ x-commit-hash: "8b4221588f6ec5e60d750d74ce037e2975e9d044" url { src: "https://github.com/ocaml-ppx/ppxlib/releases/download/0.18.0/ppxlib-0.18.0.tbz" checksum: [ "sha256=9d483c36467ae061c70df7166ed1465eadcc3442aefa760fb5c5439bf8047dc3" "sha512=b1a9faff8f190f78600fe33762a32362eae457a09dbcb35b58eb897dc7915d1c228df818a3e698a8cca19d40a2ec422a860620d3468dfa1feeee78eb0b2e8445" ] }