----- 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