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