ppx_core

Standard library for ppx rewriters
README

Ppx_core is a standard library for OCaml AST transformers. It
contains:

  • various auto-generated AST traversal using an open recursion scheme

  • helpers for building AST fragments

  • helpers for matching AST fragments

  • a framework for dealing with attributes and extension points

When used in combination with
ppx_driver, it features:

  • spellchecking and other hints on misspelled/misplaced attributes and
    extension points

  • checks for unused attributes (they are otherwise silently dropped by
    the compiler)

Ast version

Ppx_core uses the specific version of the OCaml Abstract Syntax Tree
as defined by Ppx_ast.

Compatibility

If you want to write code that works with several versions of
Ppx_core using different AST versions, you can use the versionned
alternatives for Ast_builder and Ast_pattern. For instance:

open Ppx_core
module Ast_builder = Ast_builder_403
module Ast_pattern = Ast_pattern_403
Install
Published
15 Dec 2017
Sources
ppx_core-v0.10.0.tar.gz
md5=40c20d1696b703536e2503e5b5d0688a
Dependencies
jbuilder
>= "1.0+beta12"
stdio
>= "v0.10" & < "v0.11"
ppx_traverse_builtins
>= "v0.10" & < "v0.11"
ppx_ast
>= "v0.10" & < "v0.11"
ocaml-compiler-libs
>= "v0.10" & < "v0.11"
base
>= "v0.10" & < "v0.11"
ocaml
>= "4.04.1"
Reverse Dependencies
frenetic
>= "5.0.0" & < "5.0.3"
ppx_assert
= "v0.10.0"
ppx_bench
= "v0.10.0"
ppx_bin_prot
= "v0.10.0"
ppx_bitstring
>= "1.3.0" & < "2.0.0"
ppx_compare
= "v0.10.0"
ppx_conv_func
= "v0.10.0"
ppx_csv_conv
= "v0.10.0"
ppx_driver
>= "v0.10.0" & < "v0.11.0"
ppx_enumerate
= "v0.10.0"
ppx_expect
>= "v0.10.0" & < "v0.11.0"
ppx_fail
= "v0.10.0"
ppx_fields_conv
= "v0.10.0"
ppx_hardcaml
< "1.1.0"
ppx_hash
= "v0.10.0"
ppx_here
= "v0.10.0"
ppx_inline_test
>= "v0.10.0" & < "v0.11.0"
ppx_js_style
= "v0.10.0"
ppx_jsobject_conv
< "0.2.1" | >= "0.4.2" & < "0.6.0"
ppx_let
= "v0.10.0"
ppx_metaquot
= "v0.10.0"
ppx_optcomp
= "v0.10.0"
ppx_optional
= "v0.10.0"
ppx_pipebang
= "v0.10.0"
ppx_sexp_conv
= "v0.10.0"
ppx_sexp_message
= "v0.10.0"
ppx_sexp_value
= "v0.10.0"
ppx_traverse
= "v0.10.0"
ppx_type_conv
= "v0.10.0"
ppx_typerep_conv
= "v0.10.0"
ppx_xml_conv
= "v0.10.0"