On Thursday, 5 October 2017 at 06:42:14 UTC, Timon Gehr wrote:
On 04.10.2017 12:03, aberba wrote:
  Upon reading this, It triggered an idea.

On Saturday, 30 September 2017 at 16:10:44 UTC, Jonathan Marler wrote:
[...]

DIP reminds me of object destruction.

/* extracts success & message from returned type. Could be tuple or structure, etc. May even eliminate use of tuples for multiple return
*/

auto {success, message} = callVoldermortFunction();

 This is concept is used in Kotlin. JavaScript es6 takes it even further (function parameters and arguments support object destruction)



Why curly braces? Multiple function arguments are a form of built-in tuple, so the syntax should be consistent:

auto (success, message) = callVoldemortFunction();


I think I can state the opinion of many D users here: I don't mind whether it will be curly braces or round parentheses - the important thing is that we will be able to use it in the foreseeable future :)

The only unresolved question is (as using the result of the comma operator has been deprecated already): How to write a unary tuple. My favourite is what python does: "(3,)". This is however already accepted as a function argument list. I think it is worth breaking though. Maybe we should deprecate it.

+1

Reply via email to