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.
Install
copied = false, 2000)"
:class="{ 'border-gray-700': !copied, 'text-gray-100': !copied, 'focus:ring-orange-500': !copied, 'focus:border-orange-500': !copied, 'border-green-600': copied, 'text-green-600': copied, 'focus:ring-green-500': copied, 'focus:border-green-500': copied }">
Published
17 Jun 2022
Authors
Maintainers
Sources
ppxlib-0.25.1.tbz
sha256=a51b3868029e62ff14a0f2bd8d278dacfc0c3fc5b22d484a296be90c53e4ffd7
sha512=6a6d9af49344e901cc9e6da7bcf38c2973705c8cee4cff1c64c0393e9ccc55a6abec1f58d5b56d0807939a3741bec722ee7bfc244f94619167a30438f182488a
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"
ppx_derivers
>= "1.0"
ocaml-compiler-libs
>= "v0.11.0"
ocaml
>= "4.04.1" & < "5.1.0"
dune
>= "2.7"
Reverse Dependencies
base_quickcheck
= "v0.13.0" | >= "v0.14.1"
bisect_ppx
>= "2.6.0"
bistro
>= "0.6.0"
clangml
>= "4.5.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"
fstar
>= "2021.06.06"
GT
>= "0.5.1"
gen_js_api
>= "1.0.6" & < "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-compiler
>= "3.8.0"
js_of_ocaml-lwt
>= "3.10.0"
js_of_ocaml-ocamlbuild
>= "3.10.0" & < "5.0"
js_of_ocaml-ppx
>= "3.8.0"
js_of_ocaml-ppx_deriving_json
>= "3.7.1"
js_of_ocaml-toplevel
>= "3.10.0"
js_of_ocaml-tyxml
>= "3.10.0"
lablqml
>= "0.7"
lascar
>= "0.7.0"
learn-ocaml
>= "0.13.0"
learn-ocaml-client
>= "0.13.0"
lens
>= "1.2.5"
let-if
>= "0.2.0"
lwt_ppx
>= "2.0.2"
merlin
>= "4.7-412"
metapp
>= "0.4.0"
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"
obus
>= "1.2.3"
ocaml-monadic
>= "0.5"
ocamlformat
= "0.19.0~4.13preview"
ocsigen-i18n
>= "4.0.0"
ometrics
>= "0.2.1"
override
= "0.2.2" | >= "0.4.0"
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_deriving
>= "5.2"
ppx_deriving_cmdliner
>= "0.6.0"
ppx_deriving_encoding
>= "0.2"
ppx_deriving_hardcaml
>= "v0.13.0"
ppx_deriving_jsoo
>= "0.2"
ppx_deriving_madcast
>= "0.2"
ppx_deriving_protobuf
>= "3.0.0"
ppx_deriving_rpc
>= "8.1.0"
ppx_deriving_yojson
= "3.6.1"
ppx_distr_guards
>= "0.3"
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_let
>= "v0.13.0"
ppx_module_timer
>= "v0.13.0"
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_protocol_conv
>= "5.1.3"
ppx_python
>= "v0.15.0"
ppx_regexp
>= "0.5.0"
ppx_repr
>= "0.6.0"
ppx_sexp_conv
>= "v0.14.3" & < "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
>= "1.1.0"
ppx_yojson_conv
>= "v0.13.0"
ppxx
>= "2.5.0"
qcow
>= "0.11.0"
refl
>= "0.4.0"
repr-fuzz
>= "0.2.1"
scaml
< "1.2.0"
sedlex
>= "2.3" & < "2.6"
spin
>= "0.8.0"
toplevel_expect_test
>= "v0.14.1"
tyxml-jsx
>= "4.5.0"
tyxml-ppx
>= "4.5.0"
tyxml-syntax
>= "4.5.0"
visitors
>= "20210608"
wtr
< "3.0.0"
Conflicts
ocaml-migrate-parsetree
< "2.0.0"