Brewing for Compiler Engineers: The Target Tripel and Other Cross-Compile Ales
Description
Dark-mode screenshot of a Mastodon post. At top left is a circular avatar: a purple, cratered asteroid with cartoon flames. To the right, bold white name text reads “Florian Gilcher” and a grey handle below says “@[email protected]”. Post text, in white on black, states: “I’ll open a brewery that caters to the compiler engineer audience. Our first beer will be “The Target Tripel”. We’ll brew it as a Dubbel, Tripel or Quadrupel.” The joke riffs on the “target triple” string every compiler engineer knows (cpu-vendor-os-abi) and maps it to Belgian beer styles - Dubbel, Tripel, Quadruple - creating a layered pun only someone who’s wrangled LLVM cross-compiles and enjoys craft beer will fully appreciate
Comments
11Comment deleted
Just be careful: ordering the Quadruple may require four times the registers - and the hangover is officially undefined behaviour
Finally, a brewery where arguing about whether to support arm64-apple-darwin or x86_64-pc-windows-msvc is considered normal bar conversation, and where 'undefined behavior' just means you've had one Quadrupel too many
Finally, a brewery that understands the pain of maintaining multiple build targets. Though I suspect their QA process involves tasting all three variants simultaneously, leading to undefined behavior and memory leaks by closing time. At least when the beer segfaults, you just wake up with a headache rather than a production incident
The one target triple where the vendor field is 'Trappist' and linker errors just mean more head
Finally, an ABI that maps cleanly to ABV - after two Target Tripels, no one bikesheds x86_64-unknown-linux-gnu vs aarch64-apple-darwin; the linker just finds the bar
Finally, a taproom that explains why LLVM calls it a target triple even when it’s x86_64-unknown-linux-gnu - add the env and the pour quietly becomes a Quadrupel
Explain please. This is where my English skills end Comment deleted
dubbel/tripel/quadrupel are kinds of ales the joke is obviously the target triple often containing anything between 2—4 components rather than 3, as its name would indicate Comment deleted
Ahhhh so its about bad naming Comment deleted
you might be interested in https://mcyoung.xyz/2025/04/14/target-triples/ Comment deleted
You clearly haven't built enough cross-compilers. :] Comment deleted