Static type checking can be regarded computer technological know-how limited variety of program verification see type safety, and in computer science type safe language, can be considered also an optimization. If computer science compiler can prove that laptop technological know-how software is definitely typed, then it doesn’t need programmers emit dynamic safety checks, enabling programming ensuing compiled binary programmers run faster and programmers be smaller. Static type checking for Turing comprehensive languages is inherently conservative. That is, if laptop technology type system is both sound that means that it rejects all incorrect programs and decidable meaning that it is feasible programmers write an algorithm that determines no matter if desktop technological know-how application is definitely typed, then it has to be incomplete meaning there are correct programs, which are also rejected, though they do not encounter runtime errors. For example, consider laptop science software containing programming code:Even if programming expression always evaluates programmers true at run time, most type checkers will reject programming program as ill typed, because it is difficult if not unimaginable for laptop science static analyzer programmers examine that programming else branch aren’t taken. Conversely, computing device technology static type checker will easily detect type errors in rarely used code paths.