LVTI Style Guide

Stuart Marks stuart.marks at
Fri Mar 23 21:35:10 UTC 2018

On 3/23/18 3:34 AM, Kevin Bourrillion wrote:
> This document is amazing and should emulated for every future language feature.

You've picked up on the idea that we've been kicking around internally, which is 
to publish style information about a feature at more-or-less the same time as 
the feature is delivered.

We didn't do this for Java 8, for example. Things eventually settled down, with 
most people preferring short expression lambdas, refactoring longer bits of code 
into methods and using method references, etc. But I still see people trying to 
replace abstract classes with interfaces and default methods, and I still see 
people misusing Optional. Publishing some style-related information on those 
topics earlier probably would have helped things to settle down sooner.

Most design discussions of language features seems to involve dialog of the form,

     "Is it reasonable to use it this way?"
     "Well that depends."
     "What if you did it that other way?"
     "That's probably wrong. Don't do that."
     "How about this way instead?"
     "Yes, it works in that case, because...."

Eventually this could lead to style guidelines, but usually it just bounces 
around the mailing list and is forgotten. Occasionally some enterprising soul 
will dig things out of the mailing list and post them on Stack Overflow, but 
that's pretty rare, and in any case such information is still relatively 

So yes, the idea is to try to get usage guidelines out there at the same as the 
feature is delivered. Can't promise anything, but it's certainly something I'm 

Same for design rationale, but that's a different topic.


More information about the amber-dev mailing list