version: multiple conditions
Jonathan M Davis via Digitalmars-d
digitalmars-d at puremagic.com
Wed Jun 17 05:28:34 PDT 2015
On Wednesday, 17 June 2015 at 06:23:15 UTC, Jacob Carlborg wrote:
> On 2015-06-16 22:36, Jonathan M Davis wrote:
>
>> Sounds like it's preventing an abuse of operator overloading
>> to me... :)
>
> Sounds like it's preventing a perfectly good use case. Or do
> you prefer AST macros instead :)
I prefer that operators actually do what they're supposed to do
per how they work with the built-in types and that they not be
redefined to do something else. An operator which is overloaded
specifically do something other than what occurs with the
built-in types is just begging for problems. Sure, we can't
prevent all operator overloading abuses, and they can be
misimplemented just like any other function, but the whole point
of having operator overloading is to make it so that user-defined
types can look and operate like built-in types, not to invent new
syntax, and I think that inventing new syntax via operator
overloading is a _very_ clear abuse of it. And I really don't
think that folks should be trying to add syntax to the language
for DSLs or anything of the sort, and I'm very glad that D
prevents that in many cases while still allowing us to have
useful features such as operator overloading.
- Jonathan M Davis
More information about the Digitalmars-d
mailing list