Re:Facebook Launches Flow, Static Type Checker for JavaScript
by xixixao on Wednesday November 19, 2014 @04:43AM
(#8629065)
Google Closure:
function hello(a){alert("Hello, "+a)}hello(3);
Compilation was a success!
No warnings
No errors
+ it's not incremental hence unusably slow, requires Java. No, Closure is not the same as Flow even from a brief look at both.
Re:Facebook Launches Flow, Static Type Checker for JavaScript
by Cthulhu_ on Wednesday November 19, 2014 @06:50AM
(#8629493)
That's because it's all valid Javascript - concatenating a string with a number is normal practice even in strongly typed languages (implicit type conversion). So, I don't see your point. If the argument 'a' had an annotation saying it should be a string, then I could understand an error from some checker tool, but then it wouldn't be vanilla JS anymore.
The Google Closure Compiler (https://developers.google.com/closure/compiler/) has been around for years and years.
It does everything you mentioned (100% optional type annotations, type inference), plus more (dead code removal, inlining, compiler-time constants).