Union Type (singular) straw man proposal
| From: | Mike Schinkel | Date: | Thu, 05 Sep 2019 05:30:40 +0000 |
| Subject: | Union Type (singular) straw man proposal | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-106866@lists.php.net to get a copy of this message | ||
Hello all,
I'll start by saying I've been lurking for about six weeks and reading everything on the
list since then although I was on the list for a short period many years ago.
I recently took on a role as "WordPress Engineering Team Lead" and as such have gotten
much more interested in revisiting PHP's feature set hence why I rejoined the list. I've
been working with PHP for 12 years, programming professionally for 32 years and GoLang the last 1+
years. So while I specialize in WordPress and PHP/MySQL, my experience has been in other frameworks
and languages for most of my professional programming career.
I have been planning to write up an RFC regarding union types, but had not found the time. Seeing
that Nikita has started a new RFC for Union Types v2 — how do you all keep up with that guy?!? —
I realized that I better get these ideas at somewhat documented and presented or the train will have
fully left the station.
What I am proposing can be layered on top of Nikita's proposal, and was influenced by what I
have learned using Go. It is not a Go feature, but inspired by the Go interface{} type (which is a
very different concept compared to interfaces in PHP, btw.)
It is a straw man proposal which means it is not a fully-fleshed out RFC, but if I waited until I
had the time to write an RFC then PHP 8 might already be out:
Without further ado:
https://gist.github.com/mikeschinkel/50aec7094f5643223d28674639f9f117
<https://gist.github.com/mikeschinkel/50aec7094f5643223d28674639f9f117>
Since I'm effectively new to the list this time please go easy on me? :-)
Thanks in advance for all your consideration.
-Mike Schinkel