ppxlib

Standard library for ppx rewriters
Description

Ppxlib is the standard library 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.

Install
Published
06 Oct 2022
Authors
Maintainers
Sources
ppxlib-0.28.0.tbz
sha256=d87ae5f9a081206308ca964809b50a66aeb8e83d254801e8b9675448b60cf377 sha512=03270d43e91485e63c7dc115a71933ffd8cb2910c273d605d2800fa69f523dcd4de1fbe31fd6c2f6979675c681343bcf4e35be06934565bf28edf4ea03f5da8e
Dependencies
odoc with-doc
stdio with-test
base with-test
cinaps with-test & >= "v0.12.1"
re with-test & >= "1.9.0"
ocamlfind with-test
sexplib0 with-test & >= "v0.15"
sexplib0 >= "v0.12"
ocaml >= "4.04.1" & < "5.1.0"
dune >= "2.7"
Reverse Dependencies
base_quickcheck = "v0.13.0" | >= "v0.14.1"
bistro >= "0.6.0"
clangml >= "4.7.0"
comby < "1.3.0"
eliom >= "8.9.0"
elpi >= "1.11.0" & < "1.11.3" | >= "1.13.2"
embedded_ocaml_templates < "0.3.1" | >= "0.7"
extunix >= "0.3.1"
GT >= "0.5.1"
gen_js_api >= "1.0.6" & < "1.0.8" | >= "1.1.1"
genprint = "0.3"
graphql_ppx >= "1.2.2"
hack_parallel >= "1.0.1"
hardcaml >= "v0.14.1"
js_of_ocaml >= "3.8.0"
js_of_ocaml-lwt >= "3.10.0"
js_of_ocaml-ocamlbuild >= "3.10.0" & < "5.0"
lablqml >= "0.7"
lascar >= "0.7.0"
learn-ocaml >= "0.13.0"
lens >= "1.2.5"
let-if >= "0.2.0"
lwt_ppx >= "2.0.2"
merlin >= "4.7-412"
metapp >= "0.4.4"
metaquot >= "0.5.0"
mlt_parser = "v0.13.0" | >= "v0.14.1"
noCanren >= "0.3.0~alpha1"
nuscr >= "2.0.0"
OCanren-ppx = "0.2.0" | >= "0.3.0"
ocamlformat = "0.19.0~4.13preview"
ocsigen-i18n >= "4.0.0"
ometrics = "0.2.0"
override = "0.2.2"
pgocaml_ppx >= "4.3.0"
pla >= "2.0"
ppx_accessor >= "v0.14.3"
ppx_assert >= "v0.13.0"
ppx_base >= "v0.13.0"
ppx_bench >= "v0.14.1"
ppx_bin_prot >= "v0.13.0"
ppx_bitstring >= "4.1.0"
ppx_blob >= "0.7.2"
ppx_compare >= "v0.13.0"
ppx_compose >= "0.2.1"
ppx_const >= "2.0.1"
ppx_conv_func >= "v0.13.0"
ppx_cstruct >= "6.0.0"
ppx_cstubs >= "0.6.1"
ppx_csv_conv >= "v0.13.0"
ppx_custom_printf >= "v0.14.1"
ppx_defer >= "0.5.0"
ppx_enumerate >= "v0.13.0"
ppx_expect >= "v0.13.0" & != "v0.14.0"
ppx_factory = "0.1.0" | >= "0.2.0"
ppx_fail >= "v0.13.0"
ppx_fields_conv >= "v0.14.2"
ppx_gen_rec >= "2.0.0"
ppx_getenv >= "2.1"
ppx_hash >= "v0.13.0"
ppx_here >= "v0.13.0"
ppx_import >= "1.7.0" & < "1.8.0" | >= "1.10.0"
ppx_inline_test >= "v0.14.1"
ppx_irmin >= "3.0.0"
ppx_jane >= "v0.13.0"
ppx_js_style >= "v0.13.0"
ppx_jsobject_conv = "0.8.0" | >= "0.9.3"
ppx_jsonaf_conv >= "v0.15.1"
ppx_let >= "v0.13.0"
ppx_module_timer >= "v0.13.0"
ppx_monoid >= "0.3.3"
ppx_mysql >= "1.1.3"
ppx_optcomp >= "v0.14.2"
ppx_optional >= "v0.13.0"
ppx_pattern_bind >= "v0.13.1"
ppx_pipebang >= "v0.13.0"
ppx_python >= "v0.15.0"
ppx_regexp >= "0.5.0"
ppx_repr >= "0.6.0"
ppx_sexp_conv >= "v0.15.1"
ppx_sexp_message >= "v0.14.1"
ppx_sexp_value >= "v0.13.0"
ppx_show >= "0.2.0"
ppx_stable >= "v0.14.1"
ppx_string >= "v0.14.1"
ppx_typerep_conv >= "v0.14.2"
ppx_variants_conv >= "v0.14.2"
ppx_xml_conv >= "v0.13.0"
ppx_yojson_conv >= "v0.15.1"
ppxx >= "2.5.0"
qcow >= "0.11.0"
refl >= "0.4.1"
repr-fuzz >= "0.2.1"
scaml != "1.2.0"
sedlex >= "2.6"
spin >= "0.8.0"
tyxml-jsx >= "4.5.0"
tyxml-ppx >= "4.5.0"
tyxml-syntax >= "4.5.0"
visitors >= "20210608"
wtr < "3.0.0"
Conflicts