On 02/18/2015 06:07 PM, Christoph Becker wrote: > Hi internals! > > A while ago a question was asked on the php-general mailing list with > regard to digit seperators in numeric literals[1]. > > IMHO it might be a useful enhancement to allow such digit separators for > numeric (integer and float) literals in PHP for better readability; > several other languages already support them (such as Java, Perl, Ruby, > C#, Eiffel and C++14). > > Before attempting to draft a respective RFC, I'd like to get some > feedback, whether this is generally considered to be useful, which > character would be preferred (most other languages seem to allow the > underscore, but an apostroph or maybe some other character might be > reasonable as well), and which restrictions should be applied (e.g. > arbitrary use of the separator, group thousands only, etc.) > > I'm looking forward to hear your opinion. Thanks in advance. > > [1] <http://marc.info/?l=php-general&m=142143581810951&w=2>
I think it will be difficult to find a separator character that doesn't make a mess of the grammar. my_func(1,999,999) obviously doesn't work my_func(1'999'999) as per C++14 clashes with our single-quoted strings my_func(1_999_999) like in ADA might work but _999_ would need to work as well and _ is a valid char in a constant so you can have a constant named _999_. - nope # nope @ nope ~ nope ! nope % nope ^ nope We went through this for the namespace char, and there simply isn't a typable single character left to use for something like this. _ is the closest but it would require some changes and BC breaks which I am not sure is worth for what appears to me to be a not-so critical feature. Now if we went into Unicode territory, we could do it. eg. my_func(1 999 999) U+1680 (although it looks too much like a -) my_func(1 999 999) U+205F (mathematical space) my_func(1٬999٬999) U+066C (Arabic thousands separator) my_func(1·999·999) U+00B7 (middle dot) The last one looks best to me, but we'd need a team of people working in shifts to answer the, "How do I type this?" question. -Rasmus
signature.asc
Description: OpenPGP digital signature