At 18:32 01/03/2006, Lukas Smith wrote:
Zeev Suraski wrote:
I actually don't recall there was consensus on even adding this
feature in the Paris meeting, let alone how to name it.
To quote the meeting results as linked in Mike's original post:
1. We re-use the "static::" keyword to do runtime evaluation of statics.
2. Marcus prepares an implementation suggestion.
Atleast back then nobody who attended the meeting seemed to complain
about this seemingly definitive decision noted in Dericks summary.
Well, I am complaining to some degree :) A bunch of decisions were
in fact 'if we do it, we'll do it this way', even though there was no
decision to actually do them.
Also note the notes on the discussion itself:
"Discussion: Currently there is no way do "runtime evaluating" of
static members so that we can call B::static2() from A::staticA()
and this is a useful feature. In order to implement this we need a
new keyword to allow for this. As we do not want to introduce yet
another reserved word the re-use of "static" was suggested for this."
Again it does not seem like there was any complaints about the
usefulness of the feature, yet both you and Dimitry attended the
meeting. So have you guys changed your mind on the need for this?
Was the summary incorrect?
Yes.
It seems to me you are torpedoing a feature you agreed on as useful
because if technical concerns about one possible implementation.
I never was in favour of adding it (every feature is useful, it
doesn't mean we should add all features we can think of). So no, I'm
not torpedoing something I agreed was useful; I actually recall
arguing with Marcus for quite some time about whether we should add it or not.
To make a long story short(er):
1. I don't think it's a very important feature, even though like
any other feature we could possibly think of, we can come with use
cases where it would be useful. In terms of complexity vs.
usefulness, I think it's more complex than useful.
2. I don't feel like fighting over this. Looks like convincing
people we can finally give the language syntax a rest instead of
trying to reinvent it all the time appears is a very tough and
continuous job, and there are better fronts to fight it over (this is
a very extreme edge case, unlikely to cause too much havoc).
3. If we are to implement it, we need to come up with a way that
does not modify zend_function and/or op_array structures at runtime,
because that's out of the question by design of the engine.
Zeev
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php