Visibility concerns about process for significant indentation

Having looked through the excellent stable of examples provided by @ashwinbhaskar in this repo, I’m increasingly concerned about the readability of the new syntax, and I need help understanding the review process this is undergoing and how to participate.

My understanding of the thread on Preparing for the Feature Freeze is that the previous SIP process is no longer relevant, but the actionable details on the new process are sparse.

My understanding of the status of the significant indentation proposal was that the new syntax was merged into Dotty as an experiment, based on this comment back in September:

I haven’t seen much consensus in the few discussions about it on https://contributors.scala-lang.org/, and the language used by the SIP committee seems to indicate adoption is still undecided as recently as 5 days ago:

The issue I’m having is that I can’t find any way to participate in this process. Some sort of status has been promised on the Dotty reference pages:

Unfortunately, the one for significant indentation just has a note that it’s under review and links to a page which is functionally identical to the existing one. The GitHub repo it’s connected to is the one for Dotty, and unless there’s a filter I’m missing, the issues and PRs there look to be primarily focused on the implementation rather than the design.

Worryingly, the wording on the both versions of the reference page indicates this will be the default, rather than something people opt into. Making something the default without some sort of consensus beyond “trust me” feels a bit like relying on the Default Effect to push through a controversial change.

So, in this new process, where can we see the conversation about these proposed changes, and how can we participate?

6 Likes

There will be a review process, but right now we are still in the experimental phase, so it is premature to debate it now. The experimental phase serves for gaining feedback from actual usage and fine-tuning the syntax rules accordingly. This is a continuous process - for instance, I note that the syntax in
https://github.com/ashwinbhaskar/scala-to-dotty does not yet reflect the state in the latest Dotty 0.20 release.

I encourage everyone who wishes to debate later to try out the syntax now. This means writing code in earnest as well as reading it. That’s the only way we gain a sound basis for evaluation. Judging from my own experience, one probably needs at least two weeks of daily usage before both old habit and the thrill of novelty wear off and one can judge the syntax objectively.

How long will the experimental phase last? There’s no fixed limit, but at least to the end of the current term in December. We are running a class using the new syntax for 250 students and we plan to get their feedback then.

10 Likes

Thank you for clearing up the current state of significant whitespace.

With regards to the road forward, when the experimental phase closes, where can we expect notification of this transition, and is the forum for debating it’s merits currently known or will it be specified at some future point (and if so, when should we expect clarity on this point)?

WRT trying the syntax, I certainly intend to, but having programmed in Python the concept doesn’t really hold much novelty for me, and a big part of my concern is that I don’t see anything which would mitigate the pain points I experience with Python’s version of significant indentation. I’m more than happy to hold this feedback until the appropriate time, but please understand that my concerns are rooted in more than just “this looks weird”.

4 Likes