On Sat, 11 Aug 2012, Nikita Popov wrote:
> Hi internals!
>
> I think there already was a lot of discussion on the generators, so
> it's time to move to the next step. I'd like to vote on the feature in
> two weeks, so this the "announce[ment] on internals@, by the author,
> with the intention of voting on it".
>
> https://wiki.php.net/rfc/generators
>
> If you have any further feedback, now would be a good time to raise
> it. If there is something you previously posted, but which I didn't
> yet address, please let me know. There were around 150 mails and I
> sure missed some of them.
I've some comments how that I've read the RFC:
> Recognition of generator functions
>
> 1. Any function which contains a yield statement is automatically a
> generator function.
>
> 2. The initial implementation required that generator functions are
> marked with an asterix modifier (function*). This method has the
> advantage that generators are more explicit and also allows for
> yield-less coroutines.
>
> The automatic detection was chosen over the asterix modifier for the
> following reasons:
I am against this. This is even more magic in PHP. Is it really that
difficult to have to mark the function with a different keyword, such as
"generator":
> generator function getLinesFromFile($fileName) {
> if (!$fileHandle = fopen($fileName, 'r')) {
> return;
> }
> There is an existing generator implementation in HipHop PHP, which
> uses automatic-detection. Using the asterix modifier would break
> compatibility.
This should not be a concern, sure, it's annoying for the hiphop
developers but they chose to copy and then *chance* the PHP language for
their own effect.
> yield: Yields the value null with an auto-incrementing integer key.
What is the usecase for this?
cheers,
Derick
--
http://derickrethans.nl | http://xdebug.org
Like Xdebug? Consider a donation: http://xdebug.org/donate.php
twitter: @derickr and @xdebug
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php