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

Reply via email to