Hacker News new | ask | show | jobs
by 1ris 1227 days ago
No, The strict aliasing part of the semantic of the memory. “syntax sugar” is, per definition, part of the syntax.
1 comments

Indeed. What the strict aliasing rule implies is that only well typed C programs have meaning. Which means that C is indeed not "just memory".

If C was just memory, the only operations allowed would be on and through memory addresses, and values wouldn't be first class.

"Memory" might not even be a concept in the C standard, rather it is what C programmers think about in practice. The culture around the language is that the language should get out of the way as much as possible while still providing a good amount of convenience, portability, and performance. The standard is a necessity, but is not the center of attention while working.
But then there's the memcpy escape hatch that lets you treat anything and everything as a raw sequence of bytes with no concern for types or aliasing. So arguably the fundamental memory model is still "just memory" (albeit not necessarily a single address space), and the rest is bolted on top and applies only to specific language constructs.