Why do not have `0o` prefix for octal numbers?

monarch_dodra monarchdodra at gmail.com
Wed Sep 19 09:15:19 PDT 2012


On Wednesday, 19 September 2012 at 16:02:41 UTC, Hauleth wrote:
> Some time ago I've asked on SO why most languages have `0` 
> prefix for octal numbers. My opinion is the same as D designers 
> that it cause a lot of bugs, but why octal numbers are avaible 
> only by using `std.conv.octal`?

AFAIK: It is experimental. "The $(D octal) facility is intended 
as an experimental facility to replace _octal literals starting 
with $(D '0'), which many find confusing."

The reason for deprecating "0" prefix was indeed because of bugs. 
Then it was noticed that a library solution was available, and as 
a rule of thumb, if the library can do it, it is moved from the 
language to the library.

You'll see a lot of threads talking about "scope", which went the 
same way (which is now a library feature, not a language feature).

IMO, deprecating "0765" was a good move. Personally, I'd rather 
have had "0o765" instead of "octal!765" (if only for 
highlighting). But I don't think it is a big deal.


More information about the Digitalmars-d mailing list