Michiel Helvensteijn wrote:
Andrei Alexandrescu Wrote:

What will removing it gain you?
Sancta simplicitas.

Hm.. I don't really buy that argument.

I see you and Walter removing/witholding things (incomparability
operators, logical operator overloading) from the language, because:
"I can't imagine a use for it and removing it makes the language
simpler."

I disagree, and I think "not imagining a use for X" is a very weak argument for removing X. When a feature is made to walk the plank, we have much better arguments than that. Take typedef: it was ill-defined, defining it properly would have been a major effort, and all benefits could actually be emulated with a struct simpler and cheaper.

Meanwhile, you're keeping C syntax for function-pointers around, and
I'm missing syntactic sugar for my tribool.

C syntax for pointers to functions is there for a reason, but we're considering removing it. For one thing, TDPL doesn't mention it.

The fact that you or I think there isn't a use for a feature, doesn't
mean there isn't one. Programmers keep finding new and unintended
uses for language features, which is a good thing. And if you want to
simplify the language, I wouldn't start with the unary + when you've
still got all that C stuff around.

I was mostly talking about overloading operator +. Operator + has a long history of being available for overloading in C++, which we can use to our advantage. It has been used to emulate DSLs, but I think we have much better means to define DSLs in D than to redefine all operators to mean some convention-chosen things.


Andrei

Reply via email to