Using a leading zero to indicate octal must be one of the most cursed language syntax decisions ever.

From DMR's copy of the B manual:

"An octal constant is the same as a decimal constant except that it begins with a zero. It is then interpreted in base 8. Note that 09 (base 8) is legal and equal to 011."

That last sentence is 😱😱😱😱

@munificent I smell a compatibility story
@munificent Dang, that sounds rough.
@munificent Does it accept 099 as 0110 + 011 = 0121 = 81?
@ekhjarta I presume so but no way I'm going to try to install a B compiler to find out.

@munificent I just had to verify that this nonsense didn't manage to make it into C.

Octals are 0-led (which leads to fun bugs if someone expects 011 to be 11 and not 9), but at least if there's a 9 in there you get an 'invalid digit’ error message.

So glad Swift decided to go with 0o for octal (matching 0x for hex and 0b for binary (the latter 2 are in modern C as well).