Panicz Maciej Godek <[email protected]>: > The fact that C compiler performs static type checking has nothing to > do with its performance. It's only about detecting type errors. So for > example if you have code like: > > short f(); > > long g() { > return f(); > } > > the compiler will generate an error.
(It actually doesn't. Try it.) You are right that C compilation would simply not be possible without static type information present. However, since Scheme can do everything C can without static type information, the principal justification for its existence is performance. That's why Guido van Rossum is tempted to add optional static type annotation to Python: it would make it possible replace Java/C# with Python. Marko
