package ppxlib

  1. Overview
  2. No Docs

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.

Published: 27 Jan 2022

Dependencies (5)

  1. stdlib-shims
  2. ppx_derivers >= "1.0"
  3. ocaml-compiler-libs >= "v0.11.0"
  4. ocaml >= "5.0" & < "5.1"
  5. dune >= "2.7"

Dev Dependencies (6)

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

  1. arrayjit
  2. base_quickcheck = "v0.13.0" | >= "v0.14.1" & < "v0.16.0"
  3. bisect_ppx >= "2.6.0" & < "2.8.2"
  4. bistro >= "0.6.0"
  5. clangml >= "4.5.0"
  6. comby < "1.3.0"
  7. ego
  8. eliom >= "8.9.0"
  9. elpi >= "1.11.0" & < "1.11.3" | >= "1.13.2"
  10. embedded_ocaml_templates < "0.3.1" | >= "0.7"
  11. extunix >= "0.3.1"
  12. fsml
  13. fstar >= "2021.06.06"
  14. GT >= "0.5.1"
  15. gen_js_api >= "1.0.6" & < "1.1.1"
  16. genprint = "0.3"
  17. gospel < "0.2.0"
  18. graphql_ppx >= "1.2.2"
  19. hack_parallel >= "1.0.1"
  20. hardcaml >= "v0.14.1" & < "v0.16.0"
  21. html_of_jsx
  22. http_async
  23. js_of_ocaml >= "3.8.0"
  24. js_of_ocaml-compiler >= "3.8.0"
  25. js_of_ocaml-lwt >= "3.10.0"
  26. js_of_ocaml-ocamlbuild >= "3.10.0" & < "5.0"
  27. js_of_ocaml-ppx >= "3.8.0"
  28. js_of_ocaml-ppx_deriving_json >= "3.7.1"
  29. js_of_ocaml-toplevel >= "3.10.0"
  30. js_of_ocaml-tyxml >= "3.10.0"
  31. jsoo-react
  32. lablqml >= "0.7"
  33. landmarks-ppx
  34. lascar >= "0.7.0"
  35. learn-ocaml >= "0.13.0"
  36. learn-ocaml-client >= "0.13.0"
  37. lens >= "1.2.5"
  38. let-if >= "0.2.0"
  39. logs-ppx
  40. lwt_ppx >= "2.0.2"
  41. melange = "1.0.0"
  42. merlin >= "4.7-412"
  43. metapp >= "0.4.0"
  44. metaquot >= "0.5.0"
  45. mlt_parser = "v0.13.0" | >= "v0.14.1" & < "v0.16.0"
  46. neural_nets_lib
  47. noCanren >= "0.3.0~alpha1"
  48. node_of_ocaml
  49. nuscr >= "2.0.0"
  50. OCanren-ppx = "0.2.0" | >= "0.3.0"
  51. obus = "1.2.3"
  52. ocaml-in-python
  53. ocaml-monadic >= "0.5"
  54. ocamlformat = "0.19.0~4.13preview"
  55. ocf_ppx
  56. ocsigen-i18n >= "4.0.0"
  57. ocsigen-ppx-rpc
  58. ojs_base_ppx
  59. ometrics >= "0.2.1"
  60. override = "0.2.2" | >= "0.4.0"
  61. pacomb
  62. pgocaml_ppx >= "4.3.0"
  63. pla >= "2.0"
  64. ppx-owl-opt
  65. ppx_accessor >= "v0.14.3" & < "v0.16.0"
  66. ppx_assert >= "v0.13.0" & < "v0.16.0"
  67. ppx_bap
  68. ppx_base >= "v0.13.0" & < "v0.16.0"
  69. ppx_bench >= "v0.14.1" & < "v0.16.0"
  70. ppx_bin_prot >= "v0.13.0" & < "v0.16.0"
  71. ppx_bitstring >= "4.1.0"
  72. ppx_blob >= "0.7.2"
  73. ppx_camlrack
  74. ppx_cold < "v0.16.0"
  75. ppx_compare >= "v0.13.0" & < "v0.16.0"
  76. ppx_compose >= "0.2.1"
  77. ppx_const >= "2.0.1"
  78. ppx_conv_func >= "v0.13.0" & < "v0.16.0"
  79. ppx_counters
  80. ppx_css < "v0.16.0"
  81. ppx_cstruct >= "6.0.0"
  82. ppx_cstubs >= "0.6.1"
  83. ppx_csv_conv >= "v0.13.0" & < "v0.16.0"
  84. ppx_custom_printf >= "v0.14.1" & < "v0.16.0"
  85. ppx_default
  86. ppx_defer >= "0.5.0"
  87. ppx_deriving >= "5.2"
  88. ppx_deriving_cad
  89. ppx_deriving_cmdliner >= "0.6.0"
  90. ppx_deriving_encoding >= "0.2"
  91. ppx_deriving_hardcaml >= "v0.13.0" & < "v0.16.0"
  92. ppx_deriving_hash
  93. ppx_deriving_jsoo >= "0.2"
  94. ppx_deriving_madcast >= "0.2"
  95. ppx_deriving_popper
  96. ppx_deriving_protobuf >= "3.0.0"
  97. ppx_deriving_qcheck
  98. ppx_deriving_rpc >= "8.1.0"
  99. ppx_deriving_scad
  100. ppx_deriving_yaml < "0.2.2"
  101. ppx_deriving_yojson = "3.6.1"
  102. ppx_disable_unused_warnings < "v0.16.0"
  103. ppx_distr_guards >= "0.3"
  104. ppx_dream_eml
  105. ppx_enumerate >= "v0.13.0" & < "v0.16.0"
  106. ppx_expect >= "v0.13.0" & != "v0.14.0" & < "v0.16.0"
  107. ppx_factory = "0.1.0" | >= "0.2.0"
  108. ppx_fail >= "v0.13.0"
  109. ppx_fields_conv >= "v0.14.2" & < "v0.16.0"
  110. ppx_fixed_literal < "v0.16.0"
  111. ppx_fun >= "0.0.9"
  112. ppx_gen_rec >= "2.0.0"
  113. ppx_getenv >= "2.1"
  114. ppx_hash >= "v0.13.0" & < "v0.16.0"
  115. ppx_here >= "v0.13.0" & < "v0.16.0"
  116. ppx_ignore_instrumentation < "v0.16.0"
  117. ppx_import >= "1.7.0" & != "1.8.0" & < "1.10.0"
  118. ppx_inline_alcotest
  119. ppx_inline_test >= "v0.14.1" & < "v0.16.0"
  120. ppx_irmin >= "3.0.0"
  121. ppx_jane >= "v0.13.0" & < "v0.16.0"
  122. ppx_js_style >= "v0.13.0" & < "v0.16.0"
  123. ppx_jsobject_conv >= "0.8.0" & < "0.9.3"
  124. ppx_jsonaf_conv < "v0.16.0"
  125. ppx_let >= "v0.13.0" & < "v0.16.0"
  126. ppx_log < "v0.16.0"
  127. ppx_make
  128. ppx_matches
  129. ppx_module_timer >= "v0.13.0" & < "v0.16.0"
  130. ppx_monad
  131. ppx_mysql >= "1.1.3"
  132. ppx_open
  133. ppx_optcomp >= "v0.14.2" & < "v0.16.0"
  134. ppx_optint
  135. ppx_optional >= "v0.13.0" & < "v0.16.0"
  136. ppx_pattern_bind >= "v0.13.1" & < "v0.16.0"
  137. ppx_pipebang >= "v0.13.0" & < "v0.16.0"
  138. ppx_protocol_conv >= "5.1.3"
  139. ppx_pyformat
  140. ppx_python = "v0.15.0"
  141. ppx_rapper
  142. ppx_regexp >= "0.5.0"
  143. ppx_repr >= "0.6.0"
  144. ppx_seq
  145. ppx_sexp_conv = "v0.13.0" | >= "v0.14.3" & < "v0.15.1"
  146. ppx_sexp_message >= "v0.14.1" & < "v0.16.0"
  147. ppx_sexp_value >= "v0.13.0" & < "v0.16.0"
  148. ppx_show >= "0.2.0"
  149. ppx_stable >= "v0.14.1" & < "v0.16.0"
  150. ppx_string >= "v0.14.1" & < "v0.16.0"
  151. ppx_string_interpolation
  152. ppx_subliner
  153. ppx_system
  154. ppx_ts
  155. ppx_type_directed_value
  156. ppx_typed_fields < "v0.16.0"
  157. ppx_typerep_conv >= "v0.14.2" & < "v0.16.0"
  158. ppx_units
  159. ppx_variants_conv >= "v0.14.2" & < "v0.16.0"
  160. ppx_viewpattern
  161. ppx_xml_conv >= "v0.13.0" & < "v0.16.0"
  162. ppx_yojson >= "1.1.0" & < "1.3.0"
  163. ppx_yojson_conv >= "v0.13.0" & < "v0.16.0"
  164. ppxx >= "2.5.0"
  165. qcow >= "0.11.0"
  166. rdf_ppx < "1.0.0"
  167. refl >= "0.4.0"
  168. repr-fuzz >= "0.2.1"
  169. res_tailwindcss
  170. scaml < "1.2.0"
  171. sedlex >= "2.3" & < "2.6"
  172. server-reason-react
  173. spin >= "0.8.0"
  174. spoc_ppx
  175. stdint-literals
  176. togglelog
  177. toplevel_expect_test >= "v0.14.1" & < "v0.16.0"
  178. tyxml-jsx >= "4.5.0"
  179. tyxml-ppx >= "4.5.0"
  180. tyxml-syntax >= "4.5.0"
  181. visitors >= "20210608"
  182. wtr < "3.0.0"
  183. wtr-ppx
  184. xtmpl_ppx