People wonder what standards committees are like.
Here’s what it’s like.
“If we make the abstract declarator grammar match the declarator grammar, we can postpone or avoid the debate about whether it actually makes a difference or not.”
This is actually interesting. It’s entirely possible that the C language spec mistakenly excludes the word ‘restrict’ from appearing in a context where it probably ought to be allowed. Maybe not. Do we want to try to figure out whether we need to make a change? Probably not. In this case, the change is probably cheap, and indeed, it would have been editorial had we caught it at the time.
Or, consider the question of what we mean when we refer to a “variable” in the C standard? Obviously, we mean a named object, or something. It’s like porn; I’m not sure I could define it, but I know what it is when I see it.
This may sound trivial, but in the end, the entire internet, and the entire computer industry, depend on our ability to communicate what we mean when we say “this is a C compiler”. It sounds like hyperbole, but it isn’t. If you can’t write programs in C, and expect them to compile with a “C compiler”, how can you do anything?
It’s a very arcane business. And it’s weird having a room full of people who all laugh when someone says “well, we could just use
static for that”. But it’s fun, and it’s useful. My time and money are well-spent.