package pa_ppx

  1. Overview
  2. Docs
PPX Rewriters for Ocaml, written using Camlp5

Install

Dune Dependency

Authors

Maintainers

Sources

0.18.tar.gz
sha512=897d1fcfdc375706419523b4fe26382c77e872a6f2661ff1b878582563b299dbb71368653c547468ea67ac5532900886d576415138e34d9e86492c86b2f75de6

Description

This is a collection of PPX rewriters, re-implementing those based on ppxlib and other libraries, but instead based on Camlp5. Included is also a collection of support libraries for writing new PPX rewriters. Included are:

pa_assert: ppx_assert pa_ppx.deriving, pa_ppx.deriving_plugins (enum, eq, fold, iter, make, map, ord, sexp, show, yojson): ppx_deriving, plugins, ppx_sexp_conv, ppx_deriving_yojson pa_ppx.expect_test: ppx_expect_test pa_ppx.here: ppx_here pa_ppx.import: ppx_import pa_ppx.inline_test: ppx_inline_test

pa_ppx.undo_deriving: pa_ppx.deriving expands [@@deriving ...] into code; this rewriter undoes that. pa_ppx.unmatched_vala: expands to match-cases (support library for camlp5-based PPX rewriters) pa_ppx.hashrecons: support for writing AST rewriters that automatically fills in hash-consing boilerplate pa_dock: implements doc-comment extraction for camlp5 preprocessors

Many of the reimplementations in fact offer significant enhanced function, described in the pa_ppx documentation. In addition, there is an extensive test-suite, much of it slightly modified versions of the tests for the respective PPX rewriters.

Published: 20 Mar 2025

Dependencies (15)

  1. sexplib >= "v0.14.0"
  2. cppo
  3. ounit
  4. uint >= "2.0.1"
  5. fmt
  6. bos >= "0.2.0"
  7. sexplib0
  8. yojson >= "1.7.0"
  9. result >= "1.5"
  10. pcre2
  11. not-ocamlfind >= "0.10"
  12. camlp5 >= "8.03.02"
  13. camlp5-buildscripts >= "0.03"
  14. conf-perl
  15. ocaml >= "4.10.0" & < "5.4.0"

Dev Dependencies (6)

  1. ppx_sexp_conv with-test & >= "v0.13.0"
  2. ppx_here with-test & >= "v0.13.0"
  3. ppx_deriving_yojson with-test & >= "3.5.2" & >= "3.8.0"
  4. ppx_deriving with-test & >= "6.0.2"
  5. ppx_import with-test & >= "1.7.1" & <= "1.11.0"
  6. mdx >= "2.3.0" & with-test

Used by (12)

  1. GT >= "0.5.3"
  2. ostap >= "0.6.1"
  3. pa_ppx_ag < "0.08"
  4. pa_ppx_hashcons < "0.08" | >= "0.10"
  5. pa_ppx_migrate < "0.08" | = "0.10" | >= "0.12"
  6. pa_ppx_parsetree
  7. pa_ppx_q_ast < "0.08" | = "0.11"
  8. pa_ppx_quotation2extension
  9. pa_ppx_regexp
  10. pa_ppx_static
  11. pa_ppx_string
  12. pa_ppx_unique < "0.08" | >= "0.10"
OCaml

Innovation. Community. Security.