Blog

List of all postsAtom feed

WebAssembly text format: LESv3

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).

(read more)

The six week hole

(read more)

A potential new LES

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.

(read more)

Corruption News

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.

(read more)

If I could change the world...

I’m a foundations guy. The thread that unifies all my interests in life is “fixing the foundations”, or more accurately and with less alliteration, “improving the foundations of the world”. Here are some of the things I have in mind.

(read more)

Adding "quick binding" to Enhanced C#, part 1

The Common Subexpression Problem

(read more)

Why don't you use a parser generator?

This is my response to “Why I Don’t Use a Parser Generator”.

(read more)

Putting the `#` back in operator names?

A while ago I removed the # that LES/EC# adds at the beginning of all operator names. Having written quite a few macros now, I am starting to think that was sort-of a mistake. The reasons for removing it seemed good, but one of the reasons turned out to be kind of bogus.

(read more)