package ppx_tools_versioned

  1. Overview
  2. Docs
A variant of ppx_tools based on ocaml-migrate-parsetree

Install

Dune Dependency

Authors

Maintainers

Sources

5.4.0.tar.gz
sha256=be5fa320c73c2cdb8824fcedef54a30e3a9208a27ae847c70852afb7cd31826b
md5=3e809a11cae99f57c051d3d0100311f6

Description

Tags

syntax

Published: 02 May 2020

README

ppx_tools

Tools for authors of syntactic tools (such as ppx rewriters).

This package is licensed by LexiFi under the terms of the MIT license.

The tools are installed as a findlib package called 'ppx_tools'. Executables are thus accessible through the ocamlfind driver (e.g.: ocamlfind ppx_tools/dumpast).

Main contributors:

  • Alain Frisch

  • Peter Zotov (whitequark)

  • Gabriel Radanne (Drup)

ppx_metaquot

A ppx filter to help writing programs which manipulate the Parsetree, by allowing the programmer to use concrete syntax for expressions creating Parsetree fragments and patterns deconstructing Parsetree fragments. See the top of ppx_metaquot.ml for a description of the supported extensions.

Usage:

ocamlfind ocamlc -c -package ppx_tools.metaquot my_ppx_code.ml

Ast_mapper_class

This module implements an API similar to Ast_mapper from the compiler-libs, i.e. a generic mapper from Parsetree to Parsetree implemeting a deep identity copy, which can be customized with a custom behavior for each syntactic category. The difference with Ast_mapper is that Ast_mapper_class implements the open recursion using a class.

Dependencies (3)

  1. ocaml-migrate-parsetree >= "1.7.0" & < "2.0.0"
  2. dune >= "1.0"
  3. ocaml >= "4.02.0"

Dev Dependencies

None

Used by (39)

  1. bisect_ppx >= "1.3.0" & < "2.6.0"
  2. bitstring >= "3.0.0" & < "4.0.0"
  3. cstruct = "2.4.1"
  4. eliom >= "6.8.0" & < "8.9.0"
  5. elpi >= "1.0.5" & < "1.11.0"
  6. frenetic >= "5.0.0" & < "5.0.3"
  7. graphql_ppx >= "0.7.1" & < "1.2.2"
  8. hdf5 >= "0.1.5"
  9. js_of_ocaml >= "3.0" & < "3.8.0"
  10. js_of_ocaml-ppx < "3.8.0"
  11. learn-ocaml >= "0.13.0"
  12. lwt >= "3.1.0" & < "4.0.0"
  13. lwt_ppx < "2.0.2"
  14. memtrace_viewer < "v0.15.0"
  15. ocaml-monadic >= "0.4.0" & < "0.5"
  16. pgocaml >= "3.1" & < "4.0"
  17. pgocaml_ppx < "4.3.0"
  18. ppx_bitstring >= "2.0.0" & < "4.0.0"
  19. ppx_cstruct >= "3.0.1" & < "6.0.0"
  20. ppx_cstubs < "0.6.0"
  21. ppx_defer >= "0.3.0" & < "0.5.0"
  22. ppx_dotbracket
  23. ppx_dryunit
  24. ppx_hardcaml = "1.3.0"
  25. ppx_implicits >= "0.2.0"
  26. ppx_import >= "1.5-3-gbd627d5" & < "1.9.0"
  27. ppx_integer
  28. ppx_monadic >= "1.1.0"
  29. ppx_monoid = "0.3.2"
  30. ppx_orakuda >= "3.1.0"
  31. ppx_regexp >= "0.3.1" & < "0.5.0"
  32. ppx_sqlexpr
  33. ppx_tyre
  34. ppx_wideopen
  35. ppxx >= "2.0.0" & < "2.5.0"
  36. sedlex >= "2.0" & < "2.3"
  37. tyxml-jsx < "4.5.0"
  38. tyxml-ppx >= "4.3.0" & < "4.5.0"
  39. tyxml-syntax < "4.5.0"

Conflicts

None

OCaml

Innovation. Community. Security.