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

Reply via email to