Proposal: Object/?? Destruction
Timon Gehr
timon.gehr at gmx.ch
Thu Oct 5 06:42:14 UTC 2017
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.
More information about the Digitalmars-d
mailing list