One big problem of dynamically typed languages is type mismatch errors only 
pop up at run time. When I say "type mismatch" I refer to the case when the 
compiler/interpreter cannot reasonably guess a conversion, therefore e.g. 
assigning an integer value to a double variable does not count.

It'll be nice to allow quick coding leaving out type annotations for fast 
prototyping; later on to reach production, the programmer can improve 
reliability and reduce run-time errors by annotating types as much as 
possible.

Is there an option or separate tool that can perform a best-effort type 
check on the source code *before *it starts running? I heard that type 
mismatch may be caught by JIT compiler early if all parameters of a 
function have been type annotated; however JIT compilation happens at run 
time in user's perspective. I think it's desirable to be able to catch 
problems even before running anything. And the option / tool does not (and 
will not be able to) catch all type mismatch problems; but it should be 
able to flag clear violations.

Thanks,
-Zhong

Reply via email to