Le 05/12/2020 à 00:24, Larry Garfield a écrit :
Greetings, denizens of Internals!

Ilija Tovilo and I have been working for the last few months on adding support 
for enumerations and algebraic data types to PHP.  This is a not-small task, so 
we've broken it up into several stages.  The first stage, unit enumerations, 
are just about ready for public review and discussion.

The overarching plan (for context, NOT the thing to comment on right now) is 
here: https://wiki.php.net/rfc/adts

The first step, for unit enumerations, is here:

https://wiki.php.net/rfc/enumerations

There's still a few bits we're sorting out and the implementation is mostly 
done, but not 100% complete.  Still, it's far enough along to start a 
discussion on and get broader feedback on the outstanding nits.

I should note that while the design has been collaborative, credit for the 
implementation goes entirely to Ilija.  Blame for any typos in the RFC itself 
go entirely to me.

*dons flame-retardant suit*

Another question, about match() behavior:

> This usage requires no modification of |match|. It is a natural implication of the current functionality.

May be this could be the time to have a "strict match", using enums, we can "statically" guess if branches are missing (of course, whenever you use default it valid to miss branches) - one thing I'd love is PHP to throw a fatal error when compiling a match expression whose missing branches, and not wait until runtime to fail.

Regards,

Pierre

Reply via email to