Robert Widmann

@cfi
845 Followers
106 Following
490 Posts
Desktop developer. Programming language enthusiast. reenignE. Aspiring Type Theorist. λΠω Lover. Math@CMU 2019. Swift@Apple.
Bluesky@cfi.bsky.social
@kitchens_sync yeah, baking soda, salt, brown sugar. Marinate for 10 minutes. Put mix on HIGH heat and stir until the onions are a brown paste. Deglaze with sherry vinegar.
I have yet to find a recipe that Alton Brown’s onion dip prep method didn’t improve. Make the onions up to the end of the browning step, then mix them in a quiche, in a dressing, in a stew. So much improved by a sweet onion bomb.

@whitequark @cliffle with statement expressions, you can mix in UB from indefinite argument evaluation order and construct Duff's Russian Roulette

switch (rand())
foo(({ case 0: a; }), ({ case 1: b; }), ({ case 2: c; }), ...);

@cliffle that's my favorite way to print a comma-separated list

switch (i = 0, count) for (; i < count; ++i) {
printf(", ");
default:
printf("%d", elements[i]);
case 0:;
}

@pozorvlak I composed Appel’s Compiling with Continuations with Thorin https://ieeexplore.ieee.org/abstract/document/7054200 to see how to get out of elaborated Type Theory and ultimately into LLVM IR.
@samir @jrose I actually do wanna try to overlay the `pips` constraints on this and require certain fields. It's basically the same game at that point.
@samir @jrose You play this game every time you stare at something in LLVM land and imagine how intrusive bitfields could make everything slightly tighter

since NYT games has revealed people like constraint solving, i figured i'd pitch them a struct packing game

it'll just cost them a copy of libclang - a measly half a gigabyte of text

@jonmsterling @olynch @AndrasKovacs I say play this card whenever and wherever you can. Parser: produce a parse tree with missing/partial syntax but as much structure as possible. Elaborator: Product a term with type holes. Codegen: Trap (ideally to a higher-level context like an editor or a debugger).

If you want to diagnose these things at compile time write a traversal that pretty-prints the holes.

@steve curiously schenker is not so salty about this g flat