Could add some tiny fire drops to this flame, I'd say that the readability and error-proneness of scheme programs really depends on what you're doing (and on how you're doing it)
I don't have any experience with any industrial application of scheme and I am using it only for the purpose of fun and cheerful hacking, and what I find really great about it is that it really allows the top-bottom approach, so that you can write a sentence that really resembles a sentence of a natural language (and is therefore amazingly readable) and then explain all the notions involved, until you reach the level of some data representation (which could be really chosen differently). And this is a true joy to read. I don't know much about ML nor Ocaml, but I thought the flame was supposed to be about scheme vs. C ;-) And I think that, to some extent, C imposes on the programmer a certain style of thinking -- that you really have to focus on the data representation before you consider the logics of the program. On the other hand, scheme also allows this scheme, and some solutions for type checking indeed do pop out (like the aforementioned racket, or bigloo, or -- not to look too far -- GOOPS and COOPS) I think it was Peter Norvig who stated that C is a specialized language for memory management and computer hardware stuff, and lisp is actually a general-purpose programming language. The development of UNIX proves, that there are some domains where C is irreplaceable, basically because it gives you a fair abstraction over the existing computer hardware. Lisp, on the other hand (and scheme particularly) is a fair abstraction over the concept of programming. And still, there are cetrain things that are best done in perl and which I would find annoying if I was supposed to do them in scheme. Yet Another Troll