Software

A flat, systematic list of my software projects (the README groups the main ones by theme; this is everything, one line each). Raw repository list: github.com/aryx?tab=repositories.

From scratch

Project Description
xix A from-scratch rewrite, in OCaml, of the Plan 9 userland.
syncweb Literate programming meets Unison.
ocaml-caps Capability types and rules for OCaml.
Semgrep Static analysis tool I created: find bugs using rules that look like the code they match.
osemgrep My personal fork of Semgrep, since leaving the Semgrep company; focused on OCaml/C improvements and LSP support.
semgrep-pfff-libs / semgrep-pfff-langs Parsing libraries behind Semgrep.
pfff A big monorepo of language parsers and tools built on them (semantic search/grep, semantic patch, refactoring, visualization, …), from my Facebook years. Ancestor of semgrep-pfff-libs/langs, Semgrep, and codemap/codegraph below.
codemap Source code visualizer (treemap).
codegraph Source code dependencies visualizer.
codequery Querying a codebase using Prolog.
codecheck A multi-language whole-program analysis code checker.
yacfe (deprecated) Yet Another C Front-End: style-preserving C/C++ transformations.
ocaml-commons OCaml standard library extensions.
ocamltarzan (deprecated) Compile-time reflection / metaprogramming for OCaml.
lfs Logic file system.
meh A small web browser (the name is a French pun: “un brouteur web”).
ocaml-elm-playground An OCaml library for pictures/animations/small games, modeled on Evan Czaplicki’s Elm playground package.

Forks / took over someone else’s work

Project Description
principia-softwarica Plan 9 (Bell Labs: Ken Thompson, Rob Pike, and others), rewritten as a teaching operating system, in C.
goken9cc Portable multi-architecture toolchain rooted in the Plan 9/Inferno toolchains (later extended by Go developers), extended further to Linux/macOS/Windows.
chidb A teaching database engine, originally by Borja Sotomayor and Adam Shaw (UChicago).
ocaml-light OCaml 1.07 (INRIA) stripped of objects and functors, for teaching.
efuns An Emacs clone, originally by Fabrice Le Fessant (INRIA); I took over maintenance in 2015.
mmm My fork of the OCaml MMM web browser (originally INRIA).
tigerc-- Fork built around the Tiger compiler (from Andrew Appel’s textbook).
quickc-- Fork of Quick C-- (Norman Ramsey), a compiler for the C-- portable assembly language.
xv6-multiarch Unifying the many architecture-specific forks of MIT’s teaching OS xv6.

← back to the main page