https://nanopass.org/
Article
-
Nanopass is a Racket-based framework for writing compilers as many small passes
-
Each pass transforms a minimal IR, making each step easy to test and reason about
-
Particularly suited to Scheme/Lisp-family language compilation
Discussion
-
Experienced compiler devs debate: many passes vs. one big frontend pass
-
Concern that wrong pass placement creates tech debt (cited from Vale and Mojo)
-
General agreement that optimal pass count depends heavily on target language
Discuss on HN