On 4/11/2017 4:39 AM, rjframe wrote:
I have no problem with this specific change, but this method of solving
problems is going to turn D into a horrible language with all kinds of
weird edge cases. I left Python for D mostly because the language was
becoming one hack built on top of another; it would be nice if D could
avoid that path. The occasional kludge may be necessary, but it shouldn't
be normal or the first thought.

On the other hand, overly principled languages tend to not be as successful, because what people need to do with programs is often dirty.

Monads, and "functional reactive programming", are obtuse things that come about when a functional programming language requires 100% purity and immutability.

Back in the 80's, like everyone else, I went about creating a GUI user interface library. I discovered something interesting - what is orthogonal and consistent to a computer is anything but when dealing with people. What people view as orthogonal and consistent is a rat's nest of exceptions in the code to implement it. This is what makes a user interface library fiendishly difficult to pull off.

Language design is like that, too.

I hear what you're saying, and agree in principle. That is why this feature comes with no new syntax, and existing code should "just work" with it to the largest extent possible.

Reply via email to