From: elbows@... (Nathan Weston) Date: 2003-11-17T10:23:18+09:00 Subject: Re: Strong Typing (Re: Managing metadata about attribute types) Ryan Pavlik wrote in message news:<20031107184353.002a2059.rpav@mephle.com>... > > The problem is people seem to think that "implements String behavior" > and "is a String" are two different things. I'm not sure why. I think in the ruby world, when people say "implements String behavior", they really mean "implements some relevant subset of String behavior". This is where duck typing (which really isn't a type system at all, IMO) becomes more flexible than type systems based on the class of an object. Whether this flexibility is a good thing is up for debate. Any type system will catch some errors, and throw away some otherwise valid programs. It's a question of freedom vs. safety, and the ruby community mostly seems to come down on the side of freedom (at least where programming languages are concerned).