Pfft, stop pretending you don't need C/C++ to run your toy language,
since it was written in C/C++.
Name:
Anonymous2011-04-20 1:35
Being static, type systems are necessarily also conservative: they can categorically prove the absence of some bad program behaviors, but they cannot prove their presence, and hence they must also sometimes reject programs that actually behave well at run time. For example, a program like if <complex test> then 5 else <type error>
will be rejected as ill-typed, even if it happens that the <complex test> will always evaluate to true, because a static analysis cannot determine that this is the case.