GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - ocaml-ppx/ppxlib: Base library and tools for ppx rewriters

BranchesTags
Open more actions menu

Latest commit

 

History

1,192 Commits
1,192 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
ast
ast
 
 
astlib
astlib
 
 
bench
bench
 
 
bin
bin
 
 
dev
dev
 
 
doc
doc
 
 
examples
examples
 
 
metaquot
metaquot
 
 
metaquot_lifters
metaquot_lifters
 
 
old_rtd_doc
old_rtd_doc
 
 
print-diff
print-diff
 
 
runner
runner
 
 
runner_as_ppx
runner_as_ppx
 
 
src
src
 
 
stdppx
stdppx
 
 
test
test
 
 
traverse
traverse
 
 
traverse_builtins
traverse_builtins
 
 
.git-blame-ignore-revs
.git-blame-ignore-revs
 
 
.gitignore
.gitignore
 
 
.ocamlformat
.ocamlformat
 
 
.ocamlformat-ignore
.ocamlformat-ignore
 
 
.ocp-indent
.ocp-indent
 
 
CHANGES.md
CHANGES.md
 
 
CODE_OF_CONDUCT.md
CODE_OF_CONDUCT.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
HISTORY.md
HISTORY.md
 
 
LICENSE.md
LICENSE.md
 
 
Makefile
Makefile
 
 
README.md
README.md
 
 
RELEASING.md
RELEASING.md
 
 
appveyor.yml
appveyor.yml
 
 
bench.Dockerfile
bench.Dockerfile
 
 
dune
dune
 
 
dune-project
dune-project
 
 
dune-workspace.dev
dune-workspace.dev
 
 
ppxlib-bench.opam
ppxlib-bench.opam
 
 
ppxlib-tools.opam
ppxlib-tools.opam
 
 
ppxlib-tools.opam.template
ppxlib-tools.opam.template
 
 
ppxlib.opam
ppxlib.opam
 
 
ppxlib.opam.template
ppxlib.opam.template
 
 

Repository files navigation

Ppxlib - Meta-programming for OCaml

ocaml-ci status trunk-build-status AppVeyor status

Ppxlib documentation

Overview

Ppxlib is the standard library for ppx rewriters and other programs that manipulate the in-memory representation of OCaml programs, a.k.a. the "Parsetree".

It also comes bundled with two ppx rewriters that are commonly used to write tools that manipulate and/or generate Parsetree values: ppxlib.metaquot, which allows constructing Parsetree values using the OCaml syntax directly, and ppxlib.traverse, which provides various ways of automatically traversing values of a given type, in particular allowing to inject a complex structured value into generated code.

For more information about ppxlib and how to use it, please consult the documentation.

What is the relation between ppxlib and other ppx libraries?

The ppx world has a long and storied history, and if you look around, you may find other projects that offer functionalities similar to ppxlib. The following blog post gives a good overview of the various libraries that have been developed over time. At this point, ppxlib is considered the de facto library for writing ppx rewriters.

History of the project

This repository was created by merging several older smaller projects that were developed at Jane Street. See the history for more details.

About

Base library and tools for ppx rewriters

Resources

Readme
MIT license

Code of conduct

Code of conduct

Contributing

Contributing
Activity
Custom properties

Stars

301 stars

Watchers

13 watching

Forks

107 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.