Get the latest tech news

Bril: An Intermediate Language for Teaching Compilers


I created a new intermediate language, called Bril, for teaching my funky open-source, hands-on compilers course. Because it’s for education, Bril prioritizes simplicity and regularity over more typical compiler priorities like performance and concision. This is an overview of Bril’s design, its quirks, and the ecosystem that has grown up around it since 2019.

Beyond that practical matter, this constraint is valuable as a complexity limiter: students can get started with simple stuff without learning any APIs. But the trade-off is that the Bril ecosystem comprises a large number of small pieces, loosely joined and infinitely remixable on the command line. For instance, print is a core opcode in Bril; I don’t think this would be a good idea in most compilers, but it makes it easy to write small examples.

Get the Android app

Or read this on Hacker News

Read more on:

Photo of compilers

compilers

Photo of bril

bril

Related news:

News photo

Driving Compilers

News photo

What are the ways compilers recognize complex patterns?

News photo

Hash-based bisect debugging in compilers and runtimes