Marko Rauhamaa <[email protected]> writes: > [...] However, since Scheme can do everything C can without static > type information, the principal justification for its existence is > performance. [...]
I think that's a wrong way to look at it. Scheme has a type system too; a dynamic/run-time one. The "default" situation would be to have no type system at all, where you can add 5 to "foo" and use the result in a floating-point operation where it counts as 1.8142093e-316. That's confusing if you do it by accident, so we use type systems to prevent us from it, which is the principal justification for their existence. The choice between a static and a dynamic one is then influenced by their performance characteristics, the time at which they can tell you your mistake (compile time vs. run time), how readable they make the code (some say manifest types make code clearer), etc. Sorry for being pedantic. :) Taylan
