package ppxlib

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

Install

dune-project
 Dependency

Authors

Maintainers

Sources

ppxlib-0.33.0.tbz
sha256=ffa44ef551f23b75e21dbd698a30310431381aaf140b9fe4b81c2e70a2d2c63a
sha512=cd865efc78e85d662fab3d05de7675a46252a241db44cbf13a930017c6890da5f161fbf8511b97abd9d61bffca0cb84b3adf580b55a3820afdb4a2337e9a4a63

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.

Added to opam-repository:

Dependencies (6)

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

Dev Dependencies (5)

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

  1. arrayjit < "0.6.0"
  2. awsm-codegen
  3. bam-ppx < "0.4"
  4. base_quickcheck != "v0.14.0" & < "v0.17.1"
  5. bisect_ppx >= "2.8.3"
  6. bistro
  7. bonsai >= "v0.16.0"
  8. brisk-reconciler
  9. bytestring
  10. chatoyant
  11. clangml >= "4.7.0"
  12. cmdlang-to-base < "0.0.11"
  13. comby < "1.3.0"
  14. commons
  15. config
  16. crs < "0.0.20260307"
  17. diff
  18. dream-html >= "3.9.5" & < "3.11.2"
  19. dune = "3.17.2"
  20. ego
  21. eliom >= "8.9.0" & < "12.0.0"
  22. elpi
  23. embedded_ocaml_templates < "0.3.1" | >= "0.7"
  24. extunix >= "0.3.1" & < "0.4.4"
  25. flow_parser >= "0.229.1"
  26. frama-c >= "32.0~beta"
  27. fsml
  28. fstar >= "2025.02.17" & < "2025.06.20"
  29. GT = "0.5.1" | >= "0.5.3" & < "0.5.5"
  30. gen_js_api < "1.0.8" | >= "1.1.1" & < "1.1.6"
  31. gendarme >= "0.4.1"
  32. goblint >= "2.5.0"
  33. gospel >= "0.2.0" & < "0.3.1"
  34. graphql_ppx >= "1.2.2"
  35. hack_parallel
  36. hardcaml >= "v0.14.1" & < "v0.17.1"
  37. hegel >= "0.24.1"
  38. html_of_jsx >= "0.0.2"
  39. http_async
  40. js_of_ocaml >= "3.8.0" & < "6.1.0" | >= "6.4.0"
  41. js_of_ocaml-compiler >= "3.8.0" & < "6.1.0" | >= "6.4.0"
  42. js_of_ocaml-lwt >= "3.10.0" & < "6.1.0"
  43. js_of_ocaml-ocamlbuild >= "3.10.0" & < "5.0"
  44. js_of_ocaml-ppx >= "3.8.0" & < "6.1.0" | >= "6.4.0"
  45. js_of_ocaml-ppx_deriving_json < "6.1.0" | >= "6.4.0"
  46. js_of_ocaml-toplevel >= "3.10.0" & < "6.1.0" | >= "6.4.0"
  47. js_of_ocaml-tyxml >= "3.10.0" & < "6.1.0"
  48. jsoo-react
  49. lablqml
  50. landmarks-ppx < "1.6"
  51. lascar >= "0.7.0"
  52. learn-ocaml
  53. learn-ocaml-client
  54. lens >= "1.2.5"
  55. logs-ppx
  56. lwt_ppx >= "2.0.2" & < "5.9.2"
  57. MlFront_Cli >= "2.1.4~prerel2" & < "2.3.1"
  58. MlFront_Config
  59. MlFront_Manip
  60. melange >= "1.0.0" & < "6.0.1-51"
  61. melange-json >= "1.2.0"
  62. melange-json-native
  63. merlin >= "4.7-412"
  64. metapp >= "0.4.4"
  65. metaquot >= "0.5.0"
  66. mlt_parser != "v0.14.0"
  67. mlx < "0.11"
  68. mutaml < "0.4"
  69. neural_nets_lib < "0.6.0"
  70. noCanren
  71. node_of_ocaml
  72. nuscr >= "2.0.0"
  73. OCanren-ppx
  74. obus >= "1.2.5"
  75. ocaml-monadic >= "0.5"
  76. ocamlmerlin-mlx < "0.11"
  77. ocf_ppx < "1.0.0"
  78. ocgtk < "0.1~preview2"
  79. ocsigen-i18n >= "4.0.0"
  80. ocsigen-ppx-rpc < "1.1"
  81. ojs_base_ppx < "0.9.0"
  82. ometrics = "0.2.0"
  83. ortac-core < "0.8.0"
  84. ortac-qcheck-stm < "0.8.0"
  85. ortac-wrapper < "0.8.0"
  86. pacomb < "1.4.3"
  87. pancake
  88. pgocaml_ppx >= "4.3.0"
  89. pla >= "2.0"
  90. polymarket >= "0.2.0"
  91. ppx-owl-opt
  92. ppx_accessor >= "v0.14.3"
  93. ppx_assert
  94. ppx_bap
  95. ppx_base
  96. ppx_bench >= "v0.15.1" & < "v0.17.1"
  97. ppx_bin_prot < "v0.17.1"
  98. ppx_bin_there
  99. ppx_bitstring = "4.1.0"
  100. ppx_blob >= "0.7.2"
  101. ppx_camlrack
  102. ppx_catch
  103. ppx_cold
  104. ppx_compare
  105. ppx_compose >= "0.2.1"
  106. ppx_const >= "2.0.1"
  107. ppx_conv_func
  108. ppx_counters
  109. ppx_css
  110. ppx_cstruct >= "6.0.0"
  111. ppx_cstubs >= "0.6.1"
  112. ppx_csv_conv
  113. ppx_custom_printf >= "v0.14.1"
  114. ppx_decimal
  115. ppx_default
  116. ppx_defer >= "0.5.0"
  117. ppx_demo
  118. ppx_derive_at_runtime < "v0.17.1"
  119. ppx_deriving >= "5.2" & < "6.1.0"
  120. ppx_deriving_cad
  121. ppx_deriving_decoders
  122. ppx_deriving_encoding >= "0.2"
  123. ppx_deriving_ezjsonm < "0.4.1"
  124. ppx_deriving_hardcaml
  125. ppx_deriving_hash < "0.1.3"
  126. ppx_deriving_json_schema
  127. ppx_deriving_jsonschema < "0.0.7"
  128. ppx_deriving_jsoo >= "0.2"
  129. ppx_deriving_madcast >= "0.2"
  130. ppx_deriving_popper
  131. ppx_deriving_protobuf
  132. ppx_deriving_rpc < "10.0.0"
  133. ppx_deriving_scad
  134. ppx_deriving_variant_string
  135. ppx_deriving_yaml < "0.4.1"
  136. ppx_deriving_yojson >= "3.7.0" & < "3.10.0"
  137. ppx_diff < "v0.17.1"
  138. ppx_disable_unused_warnings
  139. ppx_distr_guards >= "0.3"
  140. ppx_dream_eml
  141. ppx_embed_file
  142. ppx_enforce
  143. ppx_enumerate
  144. ppx_expect != "v0.14.0" & < "v0.17.3"
  145. ppx_expect_nobase = "v0.17.2.2"
  146. ppx_factory >= "0.2.0"
  147. ppx_fail
  148. ppx_fields_conv >= "v0.14.2"
  149. ppx_fixed_literal
  150. ppx_forbid
  151. ppx_format
  152. ppx_fun
  153. ppx_gen_rec >= "2.0.0"
  154. ppx_getenv >= "2.1"
  155. ppx_globalize < "v0.17.2"
  156. ppx_hardcaml < "v0.17.1"
  157. ppx_hash
  158. ppx_hegel_compat
  159. ppx_hegel_generator
  160. ppx_hegel_test
  161. ppx_here
  162. ppx_ignore_instrumentation
  163. ppx_import < "1.8.0" | = "1.11.0"
  164. ppx_inline_alcotest
  165. ppx_inline_test >= "v0.15.1" & < "v0.17.1"
  166. ppx_inline_test_nobase < "v0.17.0.3"
  167. ppx_interact < "0.2.0"
  168. ppx_irmin >= "3.0.0"
  169. ppx_jane
  170. ppx_js_style < "v0.17.1"
  171. ppx_jsobject_conv != "0.9.0" & < "0.21.1"
  172. ppx_jsonaf_conv >= "v0.15.1" & < "v0.17.1"
  173. ppx_let < "v0.17.1"
  174. ppx_log
  175. ppx_lun < "0.0.2"
  176. ppx_make
  177. ppx_map
  178. ppx_marshal
  179. ppx_marshal_ext
  180. ppx_matches
  181. ppx_mica
  182. ppx_minidebug < "2.3.0"
  183. ppx_mixins
  184. ppx_module_timer
  185. ppx_monad
  186. ppx_monoid >= "0.3.3"
  187. ppx_mysql >= "1.1.3"
  188. ppx_open
  189. ppx_optcomp >= "v0.14.2" & < "v0.17.1"
  190. ppx_optint
  191. ppx_optional
  192. ppx_parser < "0.2.1"
  193. ppx_partial
  194. ppx_pattern_bind < "v0.17.1"
  195. ppx_pipebang
  196. ppx_protocol_conv >= "5.1.3" & < "5.2.3"
  197. ppx_pyformat
  198. ppx_python >= "v0.15.0"
  199. ppx_quick_test < "v0.17.1"
  200. ppx_rapper < "1.0.1"
  201. ppx_regexp = "0.5.1"
  202. ppx_repr >= "0.6.0" & < "0.8.0"
  203. ppx_seq
  204. ppx_sexp_conv >= "v0.15.1" & < "v0.17.1"
  205. ppx_sexp_message >= "v0.14.1"
  206. ppx_sexp_value
  207. ppx_show
  208. ppx_stable >= "v0.14.1" & < "v0.17.1"
  209. ppx_stable_witness
  210. ppx_string >= "v0.14.1"
  211. ppx_string_conv
  212. ppx_string_interpolation
  213. ppx_subliner
  214. ppx_system
  215. ppx_trace < "0.11"
  216. ppx_ts
  217. ppx_tydi < "v0.17.1"
  218. ppx_type_directed_value
  219. ppx_typed_fields < "v0.17.1"
  220. ppx_typerep_conv >= "v0.14.2" & < "v0.17.1"
  221. ppx_units
  222. ppx_update
  223. ppx_variants_conv >= "v0.14.2" & < "v0.17.1"
  224. ppx_viewpattern < "0.1.1"
  225. ppx_xml_conv
  226. ppx_yojson >= "1.3.0"
  227. ppx_yojson_conv >= "v0.15.1" & < "v0.17.1"
  228. ppxlib_jane < "v0.17.3"
  229. ppxx >= "2.5.0"
  230. pyro-caml-ppx
  231. qcow < "0.12.1"
  232. rdf_ppx
  233. reactjs-jsx-ppx
  234. reason >= "3.9.0" & < "3.16.0"
  235. reason-react-day-picker
  236. reason-react-ppx < "0.17.0"
  237. refl >= "0.4.1"
  238. repr-fuzz >= "0.2.1" & < "0.8.0"
  239. res_tailwindcss
  240. rescript-syntax
  241. sedlex >= "2.6"
  242. serde_derive
  243. server-reason-react >= "0.2.0" & < "0.4.1"
  244. spectrum_palette_ppx
  245. speed
  246. spin >= "0.8.0"
  247. spoc_ppx
  248. stdint-literals
  249. stk_ppx
  250. streamable < "v0.17.1"
  251. styled-ppx < "0.61.0"
  252. togglelog
  253. toplevel_expect_test >= "v0.14.1"
  254. tyxml-jsx >= "4.5.0" & < "5.0.0"
  255. tyxml-ppx >= "4.5.0" & < "5.0.0"
  256. tyxml-syntax >= "4.5.0" & < "5.0.0"
  257. validate
  258. visitors >= "20210608" & < "20251010"
  259. vlt
  260. volgo < "0.0.21"
  261. volgo-base
  262. volgo-git-backend < "0.0.21"
  263. volgo-git-eio < "0.0.21"
  264. volgo-git-unix < "0.0.21"
  265. volgo-hg-backend < "0.0.21"
  266. volgo-hg-eio < "0.0.21"
  267. volgo-hg-unix < "0.0.21"
  268. volgo-vcs < "0.0.21"
  269. wasm_of_ocaml-compiler < "6.1.0" | >= "6.4.0"
  270. wtr < "3.0.0"
  271. wtr-ppx
  272. xtmpl_ppx < "1.2.0"

Conflicts (4)

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