package ppxlib

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

Install

dune-project
 Dependency

Authors

Maintainers

Sources

ppxlib-0.28.0.tbz
sha256=d87ae5f9a081206308ca964809b50a66aeb8e83d254801e8b9675448b60cf377
sha512=03270d43e91485e63c7dc115a71933ffd8cb2910c273d605d2800fa69f523dcd4de1fbe31fd6c2f6979675c681343bcf4e35be06934565bf28edf4ea03f5da8e

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.

Published: 06 Oct 2022

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.1.0"
  6. dune >= "2.7"

Dev Dependencies (7)

  1. odoc with-doc
  2. stdio with-test
  3. base with-test & < "v0.16.0"
  4. cinaps with-test & >= "v0.12.1"
  5. re with-test & >= "1.9.0"
  6. ocamlfind with-test
  7. sexplib0 with-test & >= "v0.15"

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