For several years I’ve been building a library themed “things that should be built into the .NET framework, but aren’t”. But I kept putting off writing articles about the things in there that should be built-in, but, you know, aren’t. No longer!
LESv3 was set back somewhat by the news that WebAssembly’s developers weren’t interested in going beyond s-expressions for the MVP. I wanted to suggest using a subset of LESv3 as the text format, something that could be implemented quickly; for instance instead of using syntax like this:
Merry Christmas my dear readers! Few though you may be….
Background: WebAssembly is a new technology being standardized for running native applications (e.g. C/C++/Rust) on the web. It used to be an expression-based language that was typically viewed as an abstract syntax tree (AST) — basically a high-level assembly language, moreso than C ever was. Recently, however, the design shifted into a postorder “stack machine” which supports all the code that could have been expressed as an AST, plus some “oddball” code that is not expressible as an AST (details).
I’ve proposed that WebAssembly adopt LES as the basis for its text format (or at least, to constrain the Wasm text format such that LES is a superset of it.) As part of that proposal, I’ve agreed to modify LES to suit the tastes of CG members. So far, only a couple of people have weighed in; in the meantime, I’ve been thinking preemptively about what changes to LES might make it more liked as a text format.
If, like me, you’re interested in understanding how and why the world is broken and how corruption works, there has been a spike in interesting articles about that recently. Do the world a favor and reserve some time to understand how corruption works, and what we can do about it.