On Mon, Apr 18, 2016 at 6:20 AM, Rasmus Schultz <ras...@mindplay.dk> wrote:
> Hello internals,
>
> I'd like to introduce an RFC proposing the addition of generic types
> and functions:
>
> https://wiki.php.net/rfc/generics
>
> Ben Scholzen started this RFC as a quick draft with a few code samples
> in August last year, and I have since then worked with Dominic and
> Ben towards a more complete, detailed RFC.
>
> There are a few holes still, which is why it hasn't moved from Draft
> to Under Discussion yet, but we feel that it's complete enough that
> we can start a discussion about this feature and try to iron out
> the remaining details.
>
> The RFC was previously "unofficially" announced on reddit - this
> thread generated some good questions and may answer some of the
> most immediate questions:
>
> https://www.reddit.com/r/PHP/comments/3zx8qs/php_rfcgenerics_update_03_please_comment/
>
> One of the most common criticisms we've heard, is that the syntax
> would be hard to implement, a few have said "impossible" - but we feel
> that, if generics are introduced, it's important that the syntax and
> features be as familiar as possible to developers who are experienced
> with other mainstream web industry languages, such as C# and Java.
>
> To that end, Dominic Grostate has worked through most of the tokenizer/parser
> issues - save for one very exotic edge case, his fork demonstrates that the
> proposed syntax can be parsed:
>
> https://github.com/orolyn/php-src/commits/generics
>
> Note that this fork is by no means an implementation of generics - it is proof
> of concept as far as being able to parse the syntax.
>
> We're hoping to find someone, with more experience working on the php 
> codebase,
> who is willing to collaborate on further implementation - and we do also have
> a partial test-suite, defining the big picture expectations for most of the
> proposed language features:
>
> https://github.com/orolyn/php-src/tree/generics-tests/Zend/tests/generics
>
> We look forward to your comments, questions and (I'm sure) criticisms of
> this proposal!
>
> Thank You,
>
> Regards,
>    Rasmus Schultz
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>

Nice work.

I think you there's a typo in one of your examples:

write(new Entry<int, int>(1, 2)); // throws a TypeError

Presumably this should be <int, string> or something similar?

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to