package ppx_tools_versioned

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

Install

Dune Dependency

Authors

Maintainers

Sources

ppx_tools_versioned-5.3.0.tbz
md5=c285c0524fc05f27cd642591d951a48d
sha512=26be7b3b2d112718fd44f82de6296c58ec7c341b7261e984d5a762daa89cee4b6df61ce60e757482e5e0980da64555fa0d3e9b6d4bbe3437255ee837343995fe

Description

Tags

syntax

Published: 05 Mar 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.5.0" & < "2.0.0"
  2. dune >= "1.0"
  3. ocaml >= "4.02.0"

Dev Dependencies

None

Used by (38)

  1. bisect_ppx >= "1.3.0" & < "2.4.1"
  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. ocaml-monadic >= "0.4.0" & < "0.5"
  15. pgocaml >= "3.1" & < "4.0"
  16. pgocaml_ppx < "4.3.0"
  17. ppx_bitstring >= "2.0.0" & < "4.0.0"
  18. ppx_cstruct >= "3.0.1" & < "5.2.0"
  19. ppx_cstubs < "0.4.1"
  20. ppx_defer >= "0.3.0" & < "0.5.0"
  21. ppx_dotbracket
  22. ppx_dryunit
  23. ppx_hardcaml = "1.3.0"
  24. ppx_implicits >= "0.2.0"
  25. ppx_import >= "1.5-3-gbd627d5" & < "1.8.0"
  26. ppx_integer
  27. ppx_monadic >= "1.1.0"
  28. ppx_monoid = "0.3.2"
  29. ppx_orakuda >= "3.1.0"
  30. ppx_regexp >= "0.3.1" & < "0.5.0"
  31. ppx_sqlexpr
  32. ppx_tyre
  33. ppx_wideopen
  34. ppxx >= "2.0.0" & < "2.5.0"
  35. sedlex >= "2.0" & < "2.3"
  36. tyxml-jsx < "4.5.0"
  37. tyxml-ppx >= "4.3.0" & < "4.5.0"
  38. tyxml-syntax < "4.5.0"

Conflicts

None

OCaml

Innovation. Community. Security.