----- Original Message -----
From: <bbense+comp.lang.ruby.Sep.26.02 / telemark.stanford.edu>
>
> - - Some thing that I would like to see more support for is
>   the idea of Interfaces from Objective C. This is a kind
>   of contract of methods that you support. Modules and
>   the kind_of? method sort of support this, but not in
>   a very straightforward way. Also, I think much of the
>   demand for various kinds of "typed" Ruby could really
>   be satisfied by rethinking the structure of error objects.
>
> - - Booker C. bense

I don't know Objective C, but I presume the _interfaces_ are a similar idea as
in Java, i.e. a class full of method definitions but no implementations.  Thus
you can say something is "Comparable" because it implements (by contract) the
method "comapre".

My point: I don't see how this is missing in Ruby, given the message-sending
instead of method-calling paradigm, and especially given Mixins, which affect
the #is_a? result.  (You mix in Enumerable, then your object #is_a?
Enumerable.)

That is, you don't need to declare something as "Comparable" in order to
compare it.  You just send the message "compare" and see what happens.

So that leaves your comment "not in a very straightforward way".  I'd like to
know what you mean, given your stated objection to static typing and anything
that resembles it.

I'm also interested in what you mean and have in mind by "rethinking the
structure of error objects".

Gavin