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