I’ve been working on an AOT transpiler, provisionally called Flux, though I’m open to better name ideas!
It takes Inform 6 source, including the auto.inf generated by Inform 7, and compiles it through C to native code or WebAssembly.
Inform routines become compiled functions, calls go directly to them where possible, and object/property checks get specialised fast paths. Static strings are already uncompressed too, so no Huffman decoding when printing. Then the C compiler gets a go at optimising the whole thing.
I’ve been testing with Counterfeit Monkey, Kerkerkruip, Hadean Lands and Blue Lacuna. Startup and turn timings are currently 10-50× faster than Git (when it doesn’t crash).
It needs the I6 source rather than an existing .ulx. Still developing it, and I’m not doing a public release just yet, but thought I’d put it out there and see if there’s any interest.