Thank you all for your inputs and in particular the surveys. Amazing that we can turn a hot and opinioned debate into something that approaches empirical language design! This was actually very productive and informative.
The hardest decision was whether to go with with
or remain with :
. In the end I think we do not have enough arguments to switch. with
is theoretically cleaner, but :
seems to be more legible and appealing in practice.
I identified several other action items.
-
Try to nudge the ecosystem towards an indent margin of 3 spaces instead of 2. To make a start I have reformatted the Scala 3 reference pages with this margin.
-
Look into a tightening of the layout rules. This will have to come over time. For 3.0, the focus should be on compatibility with legacy Scala-2 code that is sometimes indented in quite peculiar ways. After all, we explicitly do not want to have a “mode switch” that turns indentation on. Indentation is significant even inside braces. So we have to be very lenient to accept a large variety of layouts for now.
-
Replace the
-Yindent-colons
scheme with new layout rules that allow to omit braces around closure arguments and after operators at the end of a line. This is also something for after 3.0.
Meanwhile, happy xmas to everyone!