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:
https://wiki.dlang.org/DIP88
I'd like to see DIP88 (Named Parameters) revived. Was this proposal
rejected or is it just stale and needs a refresh? Named parameters
can be implemented in a library, however, in my opinion they are
useful enough to warrant a clean syntax with language support. I'd
be willing to refresh the DIP so long as I know the idea has not
already been rejected.
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();
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.