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