tuple-syntax

ryuukk_ ryuukk.dev at gmail.com
Tue Mar 19 15:33:09 UTC 2024


On Tuesday, 19 March 2024 at 14:06:21 UTC, Lance Bachmeier wrote:
> On Tuesday, 19 March 2024 at 10:04:06 UTC, Dom DiSc wrote:
>> On Monday, 18 March 2024 at 23:52:22 UTC, Basile B. wrote:
>>> On Sunday, 17 March 2024 at 20:20:52 UTC, Dom DiSc wrote:
>>>> So, how about _always_ requiring a trailing comma?
>>>> This would make for a consistent syntax: (,) empty tuple, 
>>>> (x,) one-element tuple, (x,y,) two element tuple ...
>>>
>>> That works but I dont like that. In my opinion that would be 
>>> a case where the syntax would serve as a hint for the 
>>> semantic analysis. That does not break the principle of 
>>> "context-free grammar" however; just a bit odd to me.
>>>
>>> What about a property. Just `.tupleof`
>> [...]
>> ::lots of other proposals by others::
>> [...]
>>
>> Most of these were discussed in the talk, and all have cases 
>> where they become ambiguous or require new keywords / long 
>> syntax.
>> What I like about the trailing comma is that it's short, no 
>> new keyword, and always unambiguous.
>> Of course you could replace the comma by any other unused 
>> symbol ('EOT' or '-' are bad ideas as the one is a new keyword 
>> and the other produces some ambiguous cases, but we could use 
>> ' or : or $ or whatever), but why?
>> Comma is an obvious choice and much less ugly than most of 
>> what I've seen else.
>
> The comma is used as a separator. A trailing comma isn't used 
> that way, so it looks weird to me. The spec says, "void has no 
> value", so we already have a way to represent something that 
> doesn't have a value: `(void)` and `(1, void)`. Although that's 
> more verbose, I'm not convinced there's enough benefit to 
> warrant the introduction of new syntax.

void? everyone went with `_`

even java.. https://openjdk.org/jeps/456  .. java.. who would 
have thought



More information about the Digitalmars-d mailing list