platform-jep to this point

Glen Peterson glen at
Mon Mar 14 14:09:33 UTC 2016

I just completed the survey, then read the entire message archive for
this list.  I put most of my ideas in the survey, but I have a few
responses that I thought of after the survey (or weren't asked there).

Re: Local Variable Type Inference

> 10. What do you mean by "action at a distance"?
> var x = "Some String";
> ...
> x = 42;

Great example.  Why not just add type inference for `final` variables?  It:
 - Uses an existing language term without changing its meaning
(doesn't break old code)
 - Prevents the above re-assignment issue entirely
 - Encourages lazy programmers to prefer immutability because the
syntax is shorter (they don't have to specify any types).

"The problem with intersection types is that in the general case, when
you have a type like C & I1 & I2 ... &  In, how do you pick the 'best'
type?" - Maurizio

The compiler can't read the user's mind.  The user has to specify the
type they want the old fashioned way, or accept a potentially
complicated intersection type.  Please be as slow as possible to infer
Object as that's just not useful type inference in any situation
except `var x = new Object()`.  Scala infers Any (it's ultimate
super-type) too often and it's incredibly frustrating.

Glen K. Peterson
(828) 393-0081

11110 000
10 011111
10 011001
10 000010

More information about the platform-jep-discuss mailing list