On Tuesday, 27 November 2012 at 17:49:00 UTC, Rob T wrote:

Unfortunately D was modeled after C++, a legacy language built on top of an inconsistent foundation. Even though D is an improvement, I think D has inherited at its foundation a crippling affect that will be impossible to shake off fully. The language would have to fundamentally change to become consistent.

Yes, this is what I implied in my post, that the decision of handling basic types separately from user defined comes from C++ which itself is built on the ancient C. Symbol itself is a vague and legacy concept that comes from C/C++ and we must not include it in the justification for how language features should work.

No matter, as you've suggested (and I think shown), D can still be adjusted to get rid of at least some of the crippling effects of inconsistency, and even a small fix to an inconsistency can potentially create a big improvement.

I also believe that it is possible to introduce these changes in an iterative manner. Each step will provide significant improvements to the language. If everybody agrees that this proposed change is worth exploring into and has chances to be included in D, I am willing to commit my time to implement it.

Reply via email to