On 16 February 2020 05:07:03 GMT+00:00, Stanislav Malyshev <smalys...@gmail.com> wrote: >Hi! > >> - The individual symbolic operators, with no intrinsic meaning - e.g. >> overloading . for concatenation on strings but dot-product for >> vectors; or a DSL overloading << and >> for "into" and "out of". > >Please no. I know it looks fancy and some languages love it, but for a >person not in on the joke reading such code is a nightmare
:) I know you're not alone in that feeling. If it turns out this is the majority view, I think it answers a couple of open questions: Overload methods should definitely be named after operations, not symbols, to remind people they are implementing addition, not giving new meaning to + They should probably be grouped into interfaces, which this RFC has so far resisted. How often does it make sense for a type to support addition but not subtraction, or multiplication but not division? Even more clearly, if a type claims to implement bitwise OR but not bitwise AND, NOT, and XOR, something is definitely fishy. You can't stop people using overloading DSL-style, but you can make it obvious that it's not the intention of the feature (if we agree that it's not the intention; maybe some people here are really hoping to use it that way?) Regards, -- Rowan Tommins [IMSoP] -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php