On Fri, 28 Jan 2005, Austin Ziegler wrote: > ...I hate any language that requires me to type stuff just to help > the compiler... Me too. This is why I'm proposing that we have systems where the compiler figures this out for us. > static typing and such type checking is NOT for us, > the programmers, but for the compiler. I'm not quite sure what you mean by "static typing," but type checking is for us, the programmers. One of the things that is good about Ruby is that it does thorough type checking--it is a strongly typed language. > ...the moment that some fool library writer decides that they want > something that *is* an IO object, it will no longer be possible to > pass in a StringIO object (it doesn't inherit from IO, and IO isn't > a module) or even a specially modified Array or String or some other > object. Any "fool library writer" can do that now: raise "wrong type" unless arg.class <= SomeClass I agree doing that would be silly. But this has no relevance; I'm talking about types, not classes. Given that you are objecting to the direction I'm proposing whilst being unaware that you're agreeing with me on key points and possibly even unaware that you're already using type checking, I would suggest you go do some research on type systems before commenting further. Here's the start on your research: find out why Class.class method is deprecated in favour of Class.type. It's quite common that someone who doesn't understand an advanced langauge feature (usually because it's not in any of the languages he uses) will object to it through ignorance, only to be unable to live without that feature once he starts using it. Garbage collection was once considered slow, inefficient and unreliable. Would you like to take GC out of Ruby? cjs -- Curt Sampson <cjs / cynic.net> +81 90 7737 2974 http://www.NetBSD.org Make up enjoying your city life...produced by BIC CAMERA