···
2
+
synopsis: "PPX Rewriters for Ocaml, written using Camlp5"
5
+
This is a collection of PPX rewriters, re-implementing those based on ppxlib
6
+
and other libraries, but instead based on Camlp5. Included is also a collection
7
+
of support libraries for writing new PPX rewriters. Included are:
9
+
pa_assert: ppx_assert
10
+
pa_ppx.deriving, pa_ppx.deriving_plugins (enum, eq, fold, iter, make, map, ord, sexp, show, yojson):
11
+
ppx_deriving, plugins, ppx_sexp_conv, ppx_deriving_yojson
12
+
pa_ppx.expect_test: ppx_expect_test
13
+
pa_ppx.here: ppx_here
14
+
pa_ppx.import: ppx_import
15
+
pa_ppx.inline_test: ppx_inline_test
17
+
pa_ppx.undo_deriving: pa_ppx.deriving expands [@@deriving ...] into code; this rewriter undoes that.
18
+
pa_ppx.unmatched_vala: expands to match-cases (support library for camlp5-based PPX rewriters)
19
+
pa_ppx.hashrecons: support for writing AST rewriters that automatically fills in hash-consing boilerplate
20
+
pa_dock: implements doc-comment extraction for camlp5 preprocessors
22
+
Many of the reimplementations in fact offer significant enhanced
23
+
function, described in the pa_ppx documentation. In addition, there
24
+
is an extensive test-suite, much of it slightly modified versions of
25
+
the tests for the respective PPX rewriters.
29
+
x-maintenance-intent: [ "(latest)" ]
30
+
maintainer: "Chet Murthy <chetsky@gmail.com>"
31
+
authors: ["Chet Murthy"]
32
+
homepage: "https://github.com/camlp5/pa_ppx"
33
+
license: "BSD-3-Clause"
34
+
bug-reports: "https://github.com/camlp5/pa_ppx/issues"
35
+
dev-repo: "git+https://github.com/camlp5/pa_ppx.git"
36
+
doc: "https://github.com/camlp5/pa_ppx/doc"
37
+
x-ci-accept-failures: [ "opensuse-tumbleweed" ]
40
+
"ocaml" { >= "4.10.0" & < "5.4.0" }
42
+
"camlp5-buildscripts" { >= "0.03" }
43
+
"camlp5" { >= "8.03.01" }
44
+
"not-ocamlfind" { >= "0.10" }
46
+
"result" { >= "1.5" }
47
+
"yojson" { >= "1.7.0" }
49
+
"bos" { >= "0.2.0" }
51
+
"uint" { >= "2.0.1" }
54
+
"sexplib" { with-test & >= "v0.14.0" }
55
+
"ppx_import" { with-test & >= "1.7.1" & <= "1.11.0" }
56
+
"ppx_deriving" { with-test & >= "6.0.2" }
57
+
"ppx_deriving_yojson" { with-test & >= "3.5.2" & >= "3.8.0" }
58
+
"ppx_here" { with-test & >= "v0.13.0" }
59
+
"ppx_sexp_conv" { with-test & >= "v0.13.0" }
60
+
# "expect_test_helpers" { with-test & >= "v0.13.0" }
63
+
"ocaml-option-bytecode-only"
66
+
[make "get-generated"]
67
+
[make "-j%{jobs}%" "DEBUG=-g" "sys"]
68
+
[make "DEBUG=-g" "test"] {with-test}
70
+
install: [make "install"]
72
+
src: "https://github.com/camlp5/pa_ppx/archive/refs/tags/0.17.tar.gz"
74
+
"sha512=2cf78681f647bfca058fe0fa82ff91078c7aaee82e2a44f7988d3a0d858bdefc1e8b51c04e4904eb2d1a9f1867688eb55334a32d62120f1a9d3f514ff17e97b0"