On 27/07/12 13:23, Lester Caine wrote:
Nikita Popov wrote:
I'll ask again since no one has answered ...
>
>In a different way ...
>Is the only thing that changes the 'function' into a 'generator'
replacing
>the call to process the data with 'yield'? ( That would be
'SUSPEND' in an
>SQL procedure ) ...
>
>So how DOES an IDE work out the flow in order to correctly check that
>variables are defined?
>
>As always, my IDE provides a lot of 'sexy' stuff so that I don't
need to
>have it built in to the language, and I still can't see how a lot
of what is
>being loaded in helps with performance which is the only thing that
I am
>interested in. Performance wise why is yield better than just directly
>calling a function to handle the data?
Lester Caine and Alex Aulbach,
may I ask you to continue this discussion in a separate thread? I am
really interested in constructive responses about the generator RFC,
but your discussion is generating a lot of noise, which makes it very
hard for me to pick out the few mails that are of interest to me.
If you could open a new thread (like "Generator keyword") it would
help a lot.
Nikita - I am looking for a well reasoned argument as to why generator
has to be added at all! 'Just because it can be' is not a valid
argument, but perhaps you could add to the RFC the performance
implication or advantage of what is being proposed. That would at
least be some comparison with the current methods of doing the same
thing?
Argh. I am trying to avoid this completely ridiculous thread of
discussion that has grown well beyond any reasonable length. But I
should just say this.
Generators are being added because they make things easier. The
function-with-yield model of writing iterators is much easier, faster,
and far less verbose than manually creating a class and implementing the
iterator interface. This is why they are being added.
They also might be a bit faster than Iterator classes, I don't know. But
the main point is they are a powerful feature that greatly simplifies
creation of iterators.
I will not discuss further on this point.
--
Andrew Faulds
http://ajf.me/
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php