package pa_ppx

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

Install

Dune Dependency

Authors

Maintainers

Sources

0.08.tar.gz
sha512=be0d9dec53d740c5b98324c94b572d7aa264dafdd727d9e25fd35eafd5fe33c22809edb018bbb595ac0e156d1d506411c80e44ddfb7510e37fbd749819d4c864

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: 06 Aug 2021

Dependencies (13)

  1. ounit
  2. uint >= "2.0.1"
  3. bos >= "0.2.0"
  4. sexplib0
  5. yojson >= "1.7.0"
  6. result >= "1.5"
  7. pcre >= "7.4.3"
  8. not-ocamlfind >= "0.01"
  9. camlp5 = "8.00.02"
  10. conf-perl-string-shellquote
  11. conf-perl-ipc-system-simple
  12. conf-perl
  13. ocaml >= "4.10.0" & < "4.14.0"

Dev Dependencies

None

Conflicts

None