package ppx_core

  1. Overview
  2. Docs
Standard library for ppx rewriters

Install

Dune Dependency

Authors

Maintainers

Sources

v0.9.3.tar.gz
md5=344ca008fb57a09b57efb849ef90dc75

Description

Part of the Jane Street's PPX rewriters collection.

Published: 29 Nov 2017

README

title: ppx_core - a PPX standard library parent: ../README.md

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

Dependencies (7)

  1. stdio >= "v0.9.1" & < "v0.10"
  2. ppx_traverse_builtins >= "v0.9" & < "v0.10"
  3. ppx_ast >= "v0.9.0" & < "v0.10"
  4. ocaml-compiler-libs >= "v0.9" & < "v0.10"
  5. jbuilder >= "1.0+beta16"
  6. base >= "v0.9.3" & < "v0.10"
  7. ocaml >= "4.03.0"

Dev Dependencies

None

Used by (38)

  1. frenetic >= "5.0.0" & < "5.0.3"
  2. ppx_assert = "v0.9.0"
  3. ppx_bench >= "v0.9.0" & < "v0.10.0"
  4. ppx_bin_prot = "v0.9.0"
  5. ppx_bitstring >= "1.3.0" & < "2.0.0"
  6. ppx_compare = "v0.9.0"
  7. ppx_conv_func = "v0.9.0"
  8. ppx_csv_conv = "v0.9.0"
  9. ppx_custom_printf = "v0.9.0"
  10. ppx_deriving_protocol < "0.8.1"
  11. ppx_driver >= "v0.9.0" & < "v0.10.0"
  12. ppx_enumerate = "v0.9.0"
  13. ppx_expect = "v0.9.0"
  14. ppx_fail = "v0.9.0"
  15. ppx_fields_conv = "v0.9.0"
  16. ppx_fun
  17. ppx_hardcaml < "1.1.0"
  18. ppx_hash < "v0.10.0"
  19. ppx_here >= "v0.9.0" & < "v0.10.0"
  20. ppx_inline_test >= "v0.9.0" & < "v0.10.0"
  21. ppx_js_style < "v0.10.0"
  22. ppx_jsobject_conv < "0.2.1" | >= "0.4.2" & < "0.6.0"
  23. ppx_let = "v0.9.0"
  24. ppx_metaquot < "v0.10.0"
  25. ppx_optcomp = "v0.9.0"
  26. ppx_optional < "v0.10.0"
  27. ppx_pipebang = "v0.9.0"
  28. ppx_protocol_conv < "3.1.3"
  29. ppx_sexp_conv = "v0.9.0"
  30. ppx_sexp_message = "v0.9.0"
  31. ppx_sexp_value = "v0.9.0"
  32. ppx_sqlexpr
  33. ppx_traverse < "v0.10.0"
  34. ppx_type_conv = "v0.9.1"
  35. ppx_typerep_conv = "v0.9.0"
  36. ppx_variants_conv = "v0.9.0"
  37. ppx_xml_conv = "v0.9.0"
  38. toplevel_expect_test >= "v0.9.1" & < "v0.10.0"

Conflicts

None