ocaml-trace/ppxlib/index.html
2025-09-15 14:25:35 +00:00

2 lines
4.3 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>index (ppxlib.index)</title><meta charset="utf-8"/><link rel="stylesheet" href="../_odoc-theme/odoc.css"/><meta name="generator" content="odoc 3.1.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../index.html">Index</a> &#x00BB; ppxlib</nav><header class="odoc-preamble"><h1 id="package-ppxlib"><a href="#package-ppxlib" class="anchor"></a>Package ppxlib <nav><a type="text/plain; charset=UTF-8" href="_doc-dir/CHANGES.md">changes</a> <a href="#package_info">more…</a></nav></h1></header><div class="odoc-tocs"><nav class="odoc-toc odoc-local-toc"><ul><li><a href="#overview">Overview</a></li><li><a href="#manual">Manual</a></li><li><a href="#api">API</a></li><li><a href="#package_info">Package info</a></li></ul></nav></div><div class="odoc-content"><h2 id="overview"><a href="#overview" class="anchor"></a>Overview</h2><p>This is the user manual and API for <code>ppxlib</code>, the core of the PPX meta-programming system for <a href="https://ocaml.org/">OCaml</a> and its derivatives, such as <a href="https://reasonml.github.io/">Reason</a>. For a good introduction on PPXs, what they are, and how to use them, see the <a href="https://ocaml.org/docs/metaprogramming">OCaml official guide</a> on PPXs. This manual is mostly aimed at authors of PPX rewriters and contains everything one should know in order to write PPX rewriters.</p><h2 id="manual"><a href="#manual" class="anchor"></a>Manual</h2><p>The manual consists of several sections. It can be read linearly, but you can also jump directly to your section of interest:</p><ol><li><a href="quick_intro.html" title="quick_intro">An introduction to <code>ppxlib</code></a></li><li><a href="driver.html" title="driver">How <code>ppxlib</code> works internally</a></li><li><a href="writing-ppxs.html" title="writing-ppxs">Registering a transformation</a></li><li><a href="generating-code.html" title="generating-code">Generating AST nodes</a></li><li><a href="matching-code.html" title="matching-code">Destructing AST nodes</a></li><li><a href="ast-traversal.html" title="ast-traversal">Traversing the AST</a></li><li><a href="good-practices.html" title="good-practices">Good practices</a></li><li><a href="examples.html" title="examples">Examples</a></li></ol><h2 id="api"><a href="#api" class="anchor"></a>API</h2><p>The API exposes the following modules:</p><ul class="modules"><li><a href="Ppxlib/index.html"><code>Ppxlib</code></a> <span class="synopsis">Standard library for ppx rewriters</span></li><li><a href="Ppxlib_ast/index.html"><code>Ppxlib_ast</code></a> </li><li><a href="Astlib/index.html"><code>Astlib</code></a> </li><li><a href="Ppxlib_metaquot/index.html"><code>Ppxlib_metaquot</code></a> </li><li><a href="Ppxlib_metaquot_lifters/index.html"><code>Ppxlib_metaquot_lifters</code></a> </li><li><a href="Ppxlib_print_diff/index.html"><code>Ppxlib_print_diff</code></a> </li><li><a href="Ppxlib_runner/index.html"><code>Ppxlib_runner</code></a> </li><li><a href="Ppxlib_runner_as_ppx/index.html"><code>Ppxlib_runner_as_ppx</code></a> </li><li><a href="Stdppx/index.html"><code>Stdppx</code></a> </li><li><a href="Ppxlib_traverse/index.html"><code>Ppxlib_traverse</code></a> </li><li><a href="Ppxlib_traverse_builtins/index.html"><code>Ppxlib_traverse_builtins</code></a> </li></ul><h2 id="package_info"><a href="#package_info" class="anchor"></a>Package info</h2><table class="package info"><tr id="info-changes-files"><td><a href="#info-changes-files" aria-hidden="true" class="anchor"></a>changes-files</td><td><ul><li><a type="text/plain; charset=UTF-8" href="_doc-dir/CHANGES.md">CHANGES.md</a></li><li><a type="text/plain; charset=UTF-8" href="_doc-dir/HISTORY.md">HISTORY.md</a></li></ul></td></tr><tr id="info-license-files"><td><a href="#info-license-files" aria-hidden="true" class="anchor"></a>license-files</td><td><ul><li><a type="text/plain; charset=UTF-8" href="_doc-dir/LICENSE.md">LICENSE.md</a></li></ul></td></tr><tr id="info-readme-files"><td><a href="#info-readme-files" aria-hidden="true" class="anchor"></a>readme-files</td><td><ul><li><a type="text/plain; charset=UTF-8" href="_doc-dir/README.md">README.md</a></li></ul></td></tr></table></div></body></html>