Pierre Joye wrote: > Many additions went through while being incomplete. > ... > For almost all recent RFCS > related to syntax, arguments/return types or properties, I don't think > it justifies being added while being incomplete.
I think you are remembering how changes were made to PHP through rose tinted glasses. Pretty much all of the improvements to PHP's type system were 'incomplete' but they were still huge chunks of work, and some of them only just got accepted. Suggesting that (other) people need to do more work to satisfy the level of quality you want in an RFC is a good way of stopping any major progress from being achieved. Seeing as a lot of RFCs that improve PHP's type system seem to be the last RFC before someone decides to not bother contributing any more, I strongly suggest not trying to make it more difficult to get improvements made. Pierre Joye wrote: > A library or framework (main users of most of these features) may or > may not implement the given addition, requiring say 8.1, and yet again > require 8.2 .... > > What is one more year then? :) If a library thinks a feature is 'incomplete' they can hold off using it, while other people who think it's useful enough can use it earlier. After all, what is one more year then? Pierre Joye wrote: > I don't think we are not able to understand complex RFCs. The intersection types RFC was pretty clear that it didn't support union types. This limitation could have been discussed as part of the RFC discussion, and George would have explained his choice, namely that implementing the RFC was going to be difficult and so he wanted to limit the scope of the RFC*. The fact that this limitation in scope apparently wasn't understood by some people who apparently have strong feelings about it, suggests that people don't always understand what is being discussed or voted on. Tobias Nyholm wrote: > then the discussion and the vote should not consider “if it is too late” > or “this is rushed”. This is a really bad idea. Previously (but not recently), some of the more heated RFC discussions moved from being about the RFC to being about what are "right" and "wrong" reasons for voting. That type of discussion very quickly descends into either name calling, or people just refusing to take part in discussions. If nothing else, how would you 'prove' that someone has voted for the 'wrong reason', and so needs to have their vote discounted? cheers Dan Ack * To be clear, the implementation was very difficult, and George spent a huge amount of time on it. I suggest reviewing the implementation if you aren't familiar with it: https://github.com/php/php-src/commit/069a9fa5e4478c7044cb6432258cfe207d10a202 and definitely before saying that leaving out union types was an 'oversight'. -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: https://www.php.net/unsub.php