Hi folks!
I had some PM discussions about the (presumably premature) death of ":"
as the namespace symbol.
Most people liked this, some liked "::" (which will definetely NOT work)
and then the opinion was very split with a lot of people saying "OK, if
it has to be" to ":::". Some folks even resigned and went for the widely
hated "". I'll recompile a table later this night with corrected
opinions (don't worry, I have redflagged all vote posts in my Thunderbird).
But now there might be a possibility to go with ":". Jessie will test
this out and I suppose he'll come out with results (hopefully positive).
Here's the idea: When the tokenizer encounters the opening "?" of the
ternary, it DEACTIVATES the namespace operator until the end of the
ternary. This way, all old code will behave as before, nothing will be
broken. Of course, this absolutely requires the use of parentheses if
one absolutely needs to use namespaces inside the ternary. As such cases
will be pretty rare, this is no big drawback. The good thing: no
whitespace magic is needed!
Comments?
OLLi
Cool. If that won't work, I'd rather have ::: over , please ;)
- David
Am 28.11.2005 um 22:52 schrieb Oliver Grätz:
Hi folks!
I had some PM discussions about the (presumably premature) death of
":"
as the namespace symbol.Most people liked this, some liked "::" (which will definetely NOT
work)
and then the opinion was very split with a lot of people saying
"OK, if
it has to be" to ":::". Some folks even resigned and went for the
widely
hated "". I'll recompile a table later this night with corrected
opinions (don't worry, I have redflagged all vote posts in my
Thunderbird).But now there might be a possibility to go with ":". Jessie will test
this out and I suppose he'll come out with results (hopefully
positive).Here's the idea: When the tokenizer encounters the opening "?" of the
ternary, it DEACTIVATES the namespace operator until the end of the
ternary. This way, all old code will behave as before, nothing will be
broken. Of course, this absolutely requires the use of parentheses if
one absolutely needs to use namespaces inside the ternary. As such
cases
will be pretty rare, this is no big drawback. The good thing: no
whitespace magic is needed!Comments?
OLLi
Oliver Grätz wrote:
Here's the idea: When the tokenizer encounters the opening "?" of the
ternary, it DEACTIVATES the namespace operator until the end of the
ternary. This way, all old code will behave as before, nothing will be
broken. Of course, this absolutely requires the use of parentheses if
one absolutely needs to use namespaces inside the ternary. As such cases
will be pretty rare, this is no big drawback. The good thing: no
whitespace magic is needed!
this adds almost the same WTF? factor as requring whitespace,
and being a pretty rare case only adds to this ...
(not to mention that maintaining a parser with special state
rules like this becomes a WTF? PITA anyway ...)
--
Hartmut Holzgraefe, Senior Support Engineer .
MySQL AB, www.mysql.com