package ppxlib

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

Install

Dune Dependency

Authors

Maintainers

Sources

ppxlib-0.34.0.tbz
sha256=d77d97165a158d7ae56b7c0387cd04e9927d7e7e797ca1039ffb5bb17a6661a7
sha512=84954f375b0c3ed063c874c47cc2597cceea338de0f567f64f340bd4e3569ef88421369b92bd5830701216bcdb88d78f50f3896c8edeb13250f0e7337c106b7d

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: 08 Jan 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.04.1" & < "5.4.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. bam-ppx
  4. base_quickcheck = "v0.13.0" | >= "v0.14.1"
  5. bisect_ppx >= "2.8.3"
  6. bistro >= "0.6.0"
  7. bonsai >= "v0.16.0"
  8. bytestring
  9. clangml >= "4.7.0"
  10. cmdlang-to-base
  11. comby < "1.3.0"
  12. commons
  13. config
  14. diff
  15. dream-html >= "3.9.5"
  16. dune >= "3.17.0"
  17. ego
  18. eliom >= "8.9.0"
  19. elpi >= "1.11.0" & < "1.11.3" | >= "1.13.2"
  20. embedded_ocaml_templates < "0.3.1" | >= "0.7"
  21. extunix >= "0.3.1"
  22. flow_parser >= "0.229.1"
  23. fsml
  24. GT = "0.5.1"
  25. gen_js_api >= "1.0.6" & < "1.0.8" | >= "1.1.1"
  26. genprint = "0.3"
  27. goblint >= "2.5.0"
  28. gospel >= "0.2.0"
  29. graphql_ppx >= "1.2.2"
  30. hack_parallel >= "1.0.1"
  31. hardcaml >= "v0.14.1"
  32. html_of_jsx >= "0.0.2"
  33. http_async
  34. js_of_ocaml >= "3.8.0"
  35. js_of_ocaml-compiler >= "3.8.0"
  36. js_of_ocaml-lwt >= "3.10.0"
  37. js_of_ocaml-ocamlbuild >= "3.10.0" & < "5.0"
  38. js_of_ocaml-ppx >= "3.8.0"
  39. js_of_ocaml-ppx_deriving_json >= "3.7.1"
  40. js_of_ocaml-toplevel >= "3.10.0"
  41. js_of_ocaml-tyxml >= "3.10.0"
  42. jsoo-react
  43. lablqml >= "0.7"
  44. landmarks-ppx
  45. lascar >= "0.7.0"
  46. learn-ocaml >= "0.13.0"
  47. learn-ocaml-client >= "0.13.0"
  48. lens >= "1.2.5"
  49. logs-ppx
  50. lwt_ppx >= "2.0.2"
  51. MlFront_Cli >= "2.1.4~prerel2"
  52. melange >= "1.0.0"
  53. melange-json >= "1.2.0"
  54. melange-json-native
  55. merlin >= "4.7-412"
  56. metapp >= "0.4.4"
  57. metaquot >= "0.5.0"
  58. mlt_parser = "v0.13.0" | >= "v0.14.1"
  59. mlx
  60. mutaml >= "0.2"
  61. neural_nets_lib
  62. noCanren >= "0.3.0~alpha1"
  63. node_of_ocaml
  64. nuscr >= "2.0.0"
  65. OCanren-ppx = "0.2.0" | >= "0.3.0"
  66. obus >= "1.2.5"
  67. ocaml-monadic >= "0.5"
  68. ocamlmerlin-mlx
  69. ocf_ppx
  70. ocsigen-i18n >= "4.0.0"
  71. ocsigen-ppx-rpc
  72. octez-internal-libs
  73. ojs_base_ppx
  74. ometrics = "0.2.0"
  75. ortac-core
  76. ortac-qcheck-stm
  77. override = "0.2.2"
  78. pacomb
  79. pancake
  80. pgocaml_ppx >= "4.3.0"
  81. pla >= "2.0"
  82. ppx-owl-opt
  83. ppx_accessor >= "v0.14.3"
  84. ppx_assert >= "v0.13.0"
  85. ppx_bap
  86. ppx_base >= "v0.13.0"
  87. ppx_bench >= "v0.15.1"
  88. ppx_bin_prot >= "v0.13.0"
  89. ppx_bitstring >= "4.1.0"
  90. ppx_blob >= "0.7.2"
  91. ppx_camlrack
  92. ppx_catch
  93. ppx_cold
  94. ppx_compare >= "v0.13.0"
  95. ppx_compose >= "0.2.1"
  96. ppx_const >= "2.0.1"
  97. ppx_conv_func >= "v0.13.0"
  98. ppx_counters
  99. ppx_css
  100. ppx_cstruct >= "6.0.0"
  101. ppx_cstubs >= "0.6.1"
  102. ppx_csv_conv >= "v0.13.0"
  103. ppx_custom_printf >= "v0.14.1"
  104. ppx_decimal
  105. ppx_default
  106. ppx_defer >= "0.5.0"
  107. ppx_demo
  108. ppx_derive_at_runtime
  109. ppx_deriving >= "5.2"
  110. ppx_deriving_cad
  111. ppx_deriving_decoders
  112. ppx_deriving_encoding >= "0.2"
  113. ppx_deriving_ezjsonm
  114. ppx_deriving_hardcaml >= "v0.13.0"
  115. ppx_deriving_hash
  116. ppx_deriving_json_schema
  117. ppx_deriving_jsonschema
  118. ppx_deriving_jsoo >= "0.2"
  119. ppx_deriving_madcast >= "0.2"
  120. ppx_deriving_popper
  121. ppx_deriving_protobuf >= "3.0.0"
  122. ppx_deriving_qcheck
  123. ppx_deriving_rpc >= "8.1.0"
  124. ppx_deriving_scad
  125. ppx_deriving_variant_string
  126. ppx_deriving_yaml
  127. ppx_deriving_yojson >= "3.7.0"
  128. ppx_diff
  129. ppx_disable_unused_warnings
  130. ppx_distr_guards >= "0.3"
  131. ppx_dream_eml
  132. ppx_embed_file
  133. ppx_enumerate >= "v0.13.0"
  134. ppx_expect >= "v0.13.0" & != "v0.14.0"
  135. ppx_factory = "0.1.0" | >= "0.2.0"
  136. ppx_fail >= "v0.13.0"
  137. ppx_fields_conv >= "v0.14.2"
  138. ppx_fixed_literal
  139. ppx_fun >= "0.0.9"
  140. ppx_gen_rec >= "2.0.0"
  141. ppx_getenv >= "2.1"
  142. ppx_globalize
  143. ppx_hardcaml >= "v0.17.0"
  144. ppx_hash >= "v0.13.0"
  145. ppx_here >= "v0.13.0"
  146. ppx_ignore_instrumentation
  147. ppx_import >= "1.7.0" & < "1.8.0" | >= "1.11.0"
  148. ppx_inline_alcotest
  149. ppx_inline_test >= "v0.15.1"
  150. ppx_interact
  151. ppx_irmin >= "3.0.0"
  152. ppx_jane >= "v0.13.0"
  153. ppx_js_style >= "v0.13.0"
  154. ppx_jsobject_conv = "0.8.0" | >= "0.9.3"
  155. ppx_jsonaf_conv >= "v0.15.1"
  156. ppx_let >= "v0.13.0"
  157. ppx_log
  158. ppx_lun
  159. ppx_make
  160. ppx_map
  161. ppx_matches
  162. ppx_mica
  163. ppx_minidebug
  164. ppx_module_timer >= "v0.13.0"
  165. ppx_monad
  166. ppx_monoid >= "0.3.3"
  167. ppx_mysql >= "1.1.3"
  168. ppx_open
  169. ppx_optcomp >= "v0.14.2"
  170. ppx_optint
  171. ppx_optional >= "v0.13.0"
  172. ppx_parser
  173. ppx_partial
  174. ppx_pattern_bind >= "v0.13.1"
  175. ppx_pipebang >= "v0.13.0"
  176. ppx_protocol_conv >= "5.1.3"
  177. ppx_pyformat
  178. ppx_python >= "v0.15.0"
  179. ppx_quick_test
  180. ppx_rapper < "1.0.1"
  181. ppx_regexp >= "0.5.1"
  182. ppx_repr >= "0.6.0"
  183. ppx_seq
  184. ppx_sexp_conv >= "v0.15.1"
  185. ppx_sexp_message >= "v0.14.1"
  186. ppx_sexp_value >= "v0.13.0"
  187. ppx_show >= "0.2.0"
  188. ppx_stable >= "v0.14.1"
  189. ppx_stable_witness
  190. ppx_string >= "v0.14.1"
  191. ppx_string_conv
  192. ppx_string_interpolation
  193. ppx_subliner
  194. ppx_system
  195. ppx_trace
  196. ppx_ts
  197. ppx_tydi
  198. ppx_type_directed_value
  199. ppx_typed_fields
  200. ppx_typerep_conv >= "v0.14.2"
  201. ppx_units
  202. ppx_update
  203. ppx_variants_conv >= "v0.14.2"
  204. ppx_viewpattern
  205. ppx_xml_conv >= "v0.13.0"
  206. ppx_yojson >= "1.3.0"
  207. ppx_yojson_conv >= "v0.15.1"
  208. ppxlib-tools
  209. ppxlib_jane
  210. ppxx >= "2.5.0"
  211. qcow >= "0.11.0"
  212. rdf_ppx
  213. reactjs-jsx-ppx
  214. reason >= "3.9.0"
  215. reason-react-ppx
  216. refl >= "0.4.1"
  217. repr-fuzz >= "0.2.1"
  218. res_tailwindcss
  219. rescript-syntax
  220. sedlex >= "2.6"
  221. serde_derive
  222. server-reason-react
  223. speed
  224. spin >= "0.8.0"
  225. spoc_ppx
  226. stdint-literals
  227. stk_ppx
  228. streamable
  229. styled-ppx
  230. togglelog
  231. toplevel_expect_test >= "v0.14.1"
  232. tyxml-jsx >= "4.5.0"
  233. tyxml-ppx >= "4.5.0"
  234. tyxml-syntax >= "4.5.0"
  235. visitors >= "20210608"
  236. vlt
  237. wtr < "3.0.0"
  238. wtr-ppx
  239. 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.