package ppx_core

  1. Overview
  2. Docs
Standard library for ppx rewriters

Install

Dune Dependency

Authors

Maintainers

Sources

ppx_core-v0.10.0.tar.gz
sha256=d916273e9d3769d2f2b47bc4abe56d88b70855a5c435aaf357c4fd5ece7f0d3d
md5=40c20d1696b703536e2503e5b5d0688a

Description

Part of the Jane Street's PPX rewriters collection.

Published: 15 Dec 2017

README

ppx_core - a PPX standard library

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. jbuilder >= "1.0+beta12"
  2. stdio >= "v0.10" & < "v0.11"
  3. ppx_traverse_builtins >= "v0.10" & < "v0.11"
  4. ppx_ast >= "v0.10" & < "v0.11"
  5. ocaml-compiler-libs >= "v0.10" & < "v0.11"
  6. base >= "v0.10" & < "v0.11"
  7. ocaml >= "4.04.1"

Dev Dependencies

None

Used by (38)

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

Conflicts

None

OCaml

Innovation. Community. Security.