I think this is a great little study, and I really appreciate the attention paid to local models, and taking local models seriously. I also want to commend the 9. How this post was made section, in particular:
The AI is a tool, not an author. It cannot be accountable for the work, so it is not credited as an author; its role is disclosed here instead. The mistakes are mine; the useful parts are ours.
That level of taking ownership and responsibility is just very heartening to see. Really good writeup.
–
On an intuitive-mechanics-of-why-and-somewhat-reductionist analysis, I think the results and outcome that common style would work best for the machines since the proposed common style is sort of the ‘lenient’ style - in the common-style-world where both braces and whitespace are valid, it can output either and still be compiled, and a brute force rewrite (“let me try with braces, oh it didn’t work, let me try and remove it”) is likely to succeed in making something compilable. We could hypothesise whether that also means people are more likely to have ‘success’ with the language early on because whatever paradigm they’re used to will work, maybe that’s the selling point - “write it your way, scala won’t get in your way ™️” or something like that.
Since the current models are trained on a mixture of both brace and braceless .scala files since Scala 3, it can/could output any ‘chunk’ of code in braceless/braceful style. I think if python introduced a scala-lookalike-common style now with braces, LLMs would struggle with it since it has zero training data from python in that style (… apart from of course this classic repo which I think is satire (?) ) - so whether common style divorced from scala is better for LLMs/token-usage, or common style is better specifically because of the mixed training data is probably nearly impossible to ever quite figure out.