package ppxlib

  1. Overview
  2. No Docs
Standard infrastructure for ppx rewriters

Install

Dune Dependency

Authors

Maintainers

Sources

757f6c284b1fe748d5027eef3bbef924b6bbd7ce.tar.gz
sha256=89a98c95ddd0bfbac17b5a936f6811af7097be3258c482d5859b73e9de9b4552
sha512=b19306473d867252d382e58e9b697531c5edccdc9283b5eaf72f524803c2fca2a58a5e8f25bee198b00de82cf8ef805b43f7488791c3ac5beb0ffba938ded826

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.

Published: 27 May 2025

Dependencies (6)

  1. stdlib-shims
  2. sexplib0 >= "v0.12"
  3. ppx_derivers >= "1.0"
  4. ocaml-compiler-libs >= "v0.11.0"
  5. ocaml >= "4.08.0" & < "5.5.0"
  6. dune >= "3.8"

Dev Dependencies (6)

  1. odoc with-doc
  2. ocamlformat with-dev-setup & = "0.26.2"
  3. cinaps with-test & >= "v0.12.1"
  4. re with-test & >= "1.9.0"
  5. ocamlfind with-test
  6. sexplib0 with-test & >= "v0.15"

  1. arrayjit
  2. awsm-codegen
  3. bistro >= "0.6.0"
  4. bonsai >= "v0.16.0"
  5. bytestring
  6. clangml >= "4.7.0"
  7. cmdlang-to-base
  8. comby < "1.3.0"
  9. commons
  10. diff
  11. dream-html >= "3.9.5"
  12. dune >= "3.17.0"
  13. dunolint
  14. dunolint-lib
  15. ego
  16. eliom >= "8.9.0"
  17. embedded_ocaml_templates < "0.3.1" | >= "0.7"
  18. extunix >= "0.4.4"
  19. fsml
  20. GT = "0.5.1"
  21. gen_js_api < "1.0.8" | >= "1.1.1"
  22. genprint = "0.3"
  23. goblint >= "2.5.0"
  24. hack_parallel >= "1.0.1"
  25. hardcaml >= "v0.14.1"
  26. html_of_jsx >= "0.0.2"
  27. http_async
  28. js_of_ocaml >= "3.8.0"
  29. js_of_ocaml-lwt >= "3.10.0"
  30. js_of_ocaml-ocamlbuild >= "3.10.0" & < "5.0"
  31. js_of_ocaml-ppx_deriving_json >= "3.7.1"
  32. js_of_ocaml-toplevel >= "3.10.0"
  33. js_of_ocaml-tyxml >= "3.10.0"
  34. jsoo-react
  35. lablqml >= "0.7"
  36. lascar >= "0.7.0"
  37. learn-ocaml
  38. learn-ocaml-client
  39. lens >= "1.2.5"
  40. logs-ppx
  41. MlFront_Cli >= "2.1.4~prerel2" & < "2.3.1"
  42. MlFront_Config
  43. MlFront_Manip
  44. melange-json >= "1.2.0"
  45. melange-json-native
  46. merlin >= "4.7-412"
  47. metaquot >= "0.5.0"
  48. mlt_parser = "v0.13.0" | >= "v0.14.1"
  49. mlx
  50. mutaml >= "0.2"
  51. neural_nets_lib
  52. noCanren >= "0.3.0~alpha1"
  53. node_of_ocaml
  54. nuscr >= "2.0.0"
  55. OCanren-ppx >= "0.3.0"
  56. obus >= "1.2.5"
  57. ocaml-monadic >= "0.5"
  58. ocamlmerlin-mlx
  59. ocf_ppx
  60. ocsigen-i18n >= "4.0.0"
  61. octez-internal-libs
  62. ojs_base_ppx
  63. ometrics = "0.2.0"
  64. ortac-core
  65. ortac-qcheck-stm
  66. override = "0.2.2"
  67. pancake
  68. pgocaml_ppx >= "4.3.0"
  69. pla >= "2.0"
  70. ppx-owl-opt
  71. ppx_accessor >= "v0.14.3"
  72. ppx_assert >= "v0.13.0"
  73. ppx_bap
  74. ppx_base >= "v0.13.0"
  75. ppx_blob >= "0.7.2"
  76. ppx_catch
  77. ppx_cold
  78. ppx_compare >= "v0.13.0"
  79. ppx_compose >= "0.2.1"
  80. ppx_const >= "2.0.1"
  81. ppx_conv_func >= "v0.13.0"
  82. ppx_counters
  83. ppx_css
  84. ppx_cstruct >= "6.0.0"
  85. ppx_cstubs >= "0.6.1" & < "0.7.0"
  86. ppx_csv_conv >= "v0.13.0"
  87. ppx_custom_printf >= "v0.14.1"
  88. ppx_decimal
  89. ppx_defer >= "0.5.0"
  90. ppx_demo
  91. ppx_derive_at_runtime
  92. ppx_deriving >= "6.1.0"
  93. ppx_deriving_cad
  94. ppx_deriving_decoders < "0.2"
  95. ppx_deriving_hardcaml >= "v0.13.0"
  96. ppx_deriving_hash >= "0.1.3"
  97. ppx_deriving_json_schema
  98. ppx_deriving_jsonschema
  99. ppx_deriving_madcast >= "0.2"
  100. ppx_deriving_popper
  101. ppx_deriving_protobuf >= "3.0.0"
  102. ppx_deriving_qcheck >= "0.7"
  103. ppx_deriving_scad
  104. ppx_deriving_variant_string
  105. ppx_deriving_yojson >= "3.10.0"
  106. ppx_diff
  107. ppx_disable_unused_warnings
  108. ppx_dream_eml
  109. ppx_embed_file
  110. ppx_enumerate >= "v0.13.0"
  111. ppx_expect_nobase
  112. ppx_factory = "0.1.0" | >= "0.2.0"
  113. ppx_fail >= "v0.13.0"
  114. ppx_fields_conv >= "v0.14.2"
  115. ppx_fixed_literal
  116. ppx_fun
  117. ppx_gen_rec >= "2.0.0"
  118. ppx_getenv >= "2.1"
  119. ppx_globalize >= "v0.17.0"
  120. ppx_hardcaml
  121. ppx_hash >= "v0.13.0"
  122. ppx_here >= "v0.13.0"
  123. ppx_ignore_instrumentation
  124. ppx_import < "1.8.0" | >= "1.11.0"
  125. ppx_irmin >= "3.0.0"
  126. ppx_jane >= "v0.13.0"
  127. ppx_jsobject_conv = "0.8.0"
  128. ppx_jsonaf_conv >= "v0.15.1"
  129. ppx_log
  130. ppx_map
  131. ppx_mica
  132. ppx_minidebug
  133. ppx_module_timer >= "v0.13.0"
  134. ppx_monad
  135. ppx_monoid >= "0.3.3"
  136. ppx_mysql >= "1.1.3"
  137. ppx_open
  138. ppx_optint
  139. ppx_optional >= "v0.13.0"
  140. ppx_partial
  141. ppx_pattern_bind >= "v0.13.1"
  142. ppx_pipebang >= "v0.13.0"
  143. ppx_pyformat
  144. ppx_python >= "v0.15.0"
  145. ppx_quick_test
  146. ppx_seq
  147. ppx_sexp_message >= "v0.14.1"
  148. ppx_sexp_value >= "v0.13.0"
  149. ppx_show >= "0.2.0"
  150. ppx_stable_witness
  151. ppx_string >= "v0.14.1"
  152. ppx_string_conv
  153. ppx_string_interpolation
  154. ppx_subliner
  155. ppx_system
  156. ppx_ts
  157. ppx_type_directed_value
  158. ppx_typed_fields
  159. ppx_units
  160. ppx_update
  161. ppx_viewpattern >= "0.1.1"
  162. ppx_xml_conv >= "v0.13.0"
  163. ppx_yojson >= "1.3.0"
  164. ppx_yojson_conv >= "v0.15.1"
  165. ppxx >= "2.5.0"
  166. qcow >= "0.11.0"
  167. rdf_ppx
  168. reason >= "3.16.0"
  169. reason-react-ppx >= "0.13.0" & < "0.14.1"
  170. refl >= "0.4.1"
  171. res_tailwindcss
  172. rescript-syntax
  173. sedlex >= "3.4"
  174. serde_derive
  175. server-reason-react
  176. speed
  177. spin >= "0.8.0"
  178. stdint-literals
  179. stk_ppx
  180. streamable
  181. styled-ppx
  182. togglelog
  183. toplevel_expect_test >= "v0.14.1"
  184. tyxml-jsx >= "4.5.0"
  185. tyxml-syntax >= "4.5.0"
  186. visitors >= "20210608"
  187. vlt >= "0.2.5"
  188. wasm_of_ocaml-compiler
  189. wtr < "3.0.0"
  190. wtr-ppx
  191. xtmpl_ppx

Conflicts (3)

  1. ocaml-variants = "5.1.0~alpha1+options"
  2. ocaml-base-compiler = "5.1.0~alpha1"
  3. ocaml-migrate-parsetree < "2.0.0"
OCaml

Innovation. Community. Security.