On Fri, 28 Jan 2005, Eric Hodel wrote:

> We've had this debate before.  Please go read the past discussions [1] before 
> trying to bring something new to the table, or saying ruby needs 'X' to be 
> successful.  Especially since we've got lots of ways to add typing to ruby 
> already [2] [3].
>
> [1] http://www.google.com/search?q=site%3Ablade.nagaokaut.ac.jp+type+check
> [2] http://people.freebsd.org/~eivind/ruby/types/
> [3] http://mephle.org/StrongTyping/

Wow, talk about missing the point.

1. Ruby already has typing, in fact it already has strong typing. There
is no way to apply an operation to (invoke a method on) an object where
the operation is not suited to the type of the object.

2. [3] Is not strong typing, it's manually declared checking of the
class of method arguments at runtime. Yuck.

3. [2] is again misnamed, it's a class checker, not a type checker. It's
not quite as misnamed as [3], but other than that it's essentially the
same. Yuck.

This is now about the third time we've gone around with people attacking
the idea of restricting how objects can be passed around based on their
class, which I'm quite happy to attack, too. We're in full agreement here!

So can we talk about TYPES, not classes, and maybe you can tell me
what you disagree with about making Ruby a bit smarter about this sort
of thing? That an unmodified standard Ruby installation, attempts to
execute the second statement of this complete program:

     a = Object
     a.not_a_method

and then throws an exception is just silly. Any bozo can just look at it
and say it's not going to work. A computer can look at much more complex
things and say it's not going to work.

cjs
-- 
Curt Sampson  <cjs / cynic.net>   +81 90 7737 2974   http://www.NetBSD.org
      Make up enjoying your city life...produced by BIC CAMERA