2026-02-22

compilers · robosharp

The robot is the excuse

Most beginner stacks hide the pipeline. Lexer, parser, binder, IL, runtime. A cartoon and a green checkmark, and the interesting part is filed under magic.

RoboSharp is the opposite on purpose. The robot on the grid is the excuse. You can see the stages update while you edit. Tokens, syntax, bound tree, IL, interpreter. Boring, finicky, and real. The stuff that does not fit on a slide.

The phases are the usual ones. Characters become tokens. Tokens become a tree. The tree gets types, scopes, and a decision about whether it means anything legal. Then an intermediate form. Then the thing that runs. The Dragon book is Aho, Lam, Sethi, and Ullman, Compilers. Cooper and Torczon, Engineering a Compiler, is the same pipeline told as engineering. On .NET, Roslyn is the frontend the compiler and the IDE already share. The Roslyn wiki is the map.

If the API is the curriculum, you learn one vendor's opinion. If the pipeline is the curriculum, you learn how a language actually works. That survives the framework changing its mind next Tuesday.

It is more intimidating. Some people leave because there is no path where you build Instagram in ten minutes. Good. Instagram already exists. I would rather have fewer people, and have them stay because the machine finally clicked.

You might hate it for an hour. After that it is hard to unsee how much software was already doing this work.

All posts