On Thursday, 27 February 2014 at 17:02:02 UTC, Robert Clipsham wrote:
On Thursday, 27 February 2014 at 16:32:18 UTC, Chris Williams wrote:
On Thursday, 27 February 2014 at 16:08:26 UTC, Robert Clipsham wrote:
D doesn't need this, you can implement monadic null checking in the library:

By that argument, I can implement anything that D can do in assembler, hence I don't need D.

I'm not sure I understand your point. I'm simply stating that in D, right now, without adding any complexity to the language, you can do:

just(myObject).method1().method2().method3()

You can't do that. You're reducing your example code - which was several dozen lines and only applied to objects for which you had added the special handler code - to the end result. After you've laid the framework for doing this, yes, you can do it. But there's a bunch of work that has to go into it before you get to that point. (Also, your implementation is far less efficient than something which rewrites the code as a bunch of nested "if (not null)" checks.)

If your argument was that there are more important things for the compiler team to work on, or that the syntax of the language was already large enough without adding more things for people to remember, then sure. But if we lived under the premise that there's no reason to add features to a compiler that abstract code down into a simpler syntax, then we'd have never developed variables or functions.

Reply via email to