ppxlib is the standard library for writing PPX rewriters in OCaml—compile-time preprocessors that transform the OCaml abstract syntax tree (AST). It provides a unified framework for defining extension points (`[%...]`), deriving generators (`[@@deriving ...]`), context‑free rewrite rules, and global transformations. The library abstracts over multiple OCaml compiler versions (4.08 through 5.06) via its own frozen AST definitions and bidirectional migration modules, insulating PPX authors from version-specific parsetree changes. The core architecture consists of a driver that orchestrates transformation phases (lint, preprocess, instrument, context‑free, global, last instrument) and can be compiled into standalone executables or used as a Dune build plugin. The codebase is actively maintained with extensive documentation, benchmark infrastructure (including a vendored ppx_sexp_conv for comparison), and a comprehensive test suite covering error embedding, code path tracking, and AST round‑tripping. Despite the complexity of cross‑version AST support, the internal APIs are cleanly separated into reusable components such as typed attribute handlers, composable deriving arguments, and a GADT‑based DSL for context‑free rules.
Harp is a zero-configuration static web server and static site generator. It serves Jade, Markdown, EJS, Less, Stylus, Sass, and CoffeeScript files as HTML, CSS, and JavaScript without any build step. The architecture is a Connect-based middleware stack with a CLI wrapper. Key entry points are the `harp` CLI (bin/harp) and the library API (lib/index.js) which exposes `server()`, `compile()`, `mount()`, and `pipeline()`. The system reads project configuration from `harp.json` or `_harp.json`, supports layouts and partials via `_layout.jade` and `_data.json` files, and provides fallback 200/404 handling. It can compile projects to static assets for deployment. The codebase is well-structured with comprehensive tests and a smoke test for release validation. Dependencies are pinned, and the code uses modern JavaScript. It is a mature, stable project suitable for rapid prototyping and static site hosting.