On Thu, Oct 17, 2002 at 01:25:57PM +0900, Edward Wilson wrote: > This is what I was getting at. Nice code. Why do you feel that this > is not needed in Ruby? See: [ruby-talk:51906] [ruby-talk:13709] [ruby-talk:03591] [ruby-talk:06405] There's probably many many more where those came from. > Whoever said *contract* gets the point that I'm after. Think JDBC, > for those of you who know Java, you know that JDBC is nothing but a > *contract* that all vendors must implement in exactly the same way > from the API, internally they are free to do as the wish. I think I read it somewhere on a wiki. > Paul's code is great, but I was hoping for something `sorta' > built-into Ruby already. I think contract support is needed in large > scall applications, somethig which Ruby could be used for more and > more given the effects of More's Law and Ruby's clean OO model. > Abstract Classes in C++, and Java's Inerfaces are neccessary for > building large scale applications. My shop uses C++ Abstract classes > all the time to enforce contracts; it would be difficult without them. The argument I see over and over is that unit testing is an acceptable and preferable alternative to contracts. I'm not sure whether I agree. Paul