p***@lib.hu
2018-10-16 13:14:37 UTC
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1274r0.html
Proposes to make $ available in identifier names. I could not locate any
justification in the paper, just the author's opinion.
As I see things there are some characters left unused, not part of the
basic set that we (IMO) are accessible everywhere. We could and maybe
should add them to the basic set. $ and @ jumps to mind, possibly others
exist.
When trigraphs were stripped from the language WG21 kinda declared that
"all world is ASCII and the others are out of luck". Following that really
the whole 7-bit ASCII set could be game, but I'd go with a more friendly
way this time, checking EBCDIC and other still used sets. As far as I see $
and @ would not create an availability problem in practice.
On the other side, extending the basic set could hose language extensions.
If someone has tools either running before the compiler or inside it now
can expect some characters not present in the grammar part of source code
so can be safely piched up for extensions. I heard Apple folks objecting
on $ for some new syntax on that ground. Such concerns are good to consider.
But in any case I would use a character extension to help adding new
operators, punctuators, language syntax. To support the magnitude of new
features we are adding, that might easier to read compared to new
multi-character operators or another overload of existing operators.
For identifiers we have no shortage of characters. I would not extend that
set even if we put away all mangling/linker related potential problems.
Proposes to make $ available in identifier names. I could not locate any
justification in the paper, just the author's opinion.
As I see things there are some characters left unused, not part of the
basic set that we (IMO) are accessible everywhere. We could and maybe
should add them to the basic set. $ and @ jumps to mind, possibly others
exist.
When trigraphs were stripped from the language WG21 kinda declared that
"all world is ASCII and the others are out of luck". Following that really
the whole 7-bit ASCII set could be game, but I'd go with a more friendly
way this time, checking EBCDIC and other still used sets. As far as I see $
and @ would not create an availability problem in practice.
On the other side, extending the basic set could hose language extensions.
If someone has tools either running before the compiler or inside it now
can expect some characters not present in the grammar part of source code
so can be safely piched up for extensions. I heard Apple folks objecting
on $ for some new syntax on that ground. Such concerns are good to consider.
But in any case I would use a character extension to help adding new
operators, punctuators, language syntax. To support the magnitude of new
features we are adding, that might easier to read compared to new
multi-character operators or another overload of existing operators.
For identifiers we have no shortage of characters. I would not extend that
set even if we put away all mangling/linker related potential problems.
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+***@isocpp.org.
To post to this group, send email to std-***@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/f06c38a8-e92d-4c99-ac15-c71e8ecc091a%40isocpp.org.
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+***@isocpp.org.
To post to this group, send email to std-***@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/f06c38a8-e92d-4c99-ac15-c71e8ecc091a%40isocpp.org.