Date: Thu, 28 Apr 2022 13:54:05 -0400
In a vacuum I would agree with you. But consider that:
1. This feature would not be mandatory on the programmer
2. This may be helpful to the ease of development
3. I’m going out on a limb here, but I think many of us can agree that the semicolon is often “mentally elided” when reading C++
Also consider that C++ gives the programmer plenty of ways to be expressive already [1]. This is in-line with the programmer’s ability to be expressive.
[1]: a function-like object in C++ could look like a class with an overloaded (), a std::function, a lambda, a regular function, some inline assembly with scope, a function pointer (smart or otherwise), etc.
WL
> On Apr 28, 2022, at 1:40 PM, Ville Voutilainen <ville.voutilainen_at_[hidden]> wrote:
>
> On Thu, 28 Apr 2022 at 20:34, William Linkmeyer via Std-Discussion
> <std-discussion_at_[hidden]> wrote:
>>
>> Some things will potentially change meaning — yes. But none of the examples here need to break existing code.
>>
>> We could optionally elide semicolons if — and only if — one or both of these conditions are meta:
>>
>> 1. A statement could end with a semicolon and be syntactically acceptable
>> 2. A statement is followed by another statement which also satisfies (1)
>>
>> Perhaps (2) could be modified as “… or by the end of the current scope.”
>
> I don't think this helps. In the status quo, it's actually easy to see
> when code structures will necessarily
> continue on the subsequent lines, and when they end. While the idea
> may seem convenient, especially
> for pascal users and javascript users etc. etc., it's actually going
> to make C++ iffier to read, whereas currently
> this part of C++ is very readable.
1. This feature would not be mandatory on the programmer
2. This may be helpful to the ease of development
3. I’m going out on a limb here, but I think many of us can agree that the semicolon is often “mentally elided” when reading C++
Also consider that C++ gives the programmer plenty of ways to be expressive already [1]. This is in-line with the programmer’s ability to be expressive.
[1]: a function-like object in C++ could look like a class with an overloaded (), a std::function, a lambda, a regular function, some inline assembly with scope, a function pointer (smart or otherwise), etc.
WL
> On Apr 28, 2022, at 1:40 PM, Ville Voutilainen <ville.voutilainen_at_[hidden]> wrote:
>
> On Thu, 28 Apr 2022 at 20:34, William Linkmeyer via Std-Discussion
> <std-discussion_at_[hidden]> wrote:
>>
>> Some things will potentially change meaning — yes. But none of the examples here need to break existing code.
>>
>> We could optionally elide semicolons if — and only if — one or both of these conditions are meta:
>>
>> 1. A statement could end with a semicolon and be syntactically acceptable
>> 2. A statement is followed by another statement which also satisfies (1)
>>
>> Perhaps (2) could be modified as “… or by the end of the current scope.”
>
> I don't think this helps. In the status quo, it's actually easy to see
> when code structures will necessarily
> continue on the subsequent lines, and when they end. While the idea
> may seem convenient, especially
> for pascal users and javascript users etc. etc., it's actually going
> to make C++ iffier to read, whereas currently
> this part of C++ is very readable.
Received on 2022-04-28 17:54:07