From: matz@... (Yukihiro Matsumoto) Date: 2003-11-20T04:14:47+09:00 Subject: Re: "stereotyping" (was: Re: Strong Typing (Re: Managing metadata about attribute types) ) Hi, In message "Re: "stereotyping" (was: Re: Strong Typing (Re: Managing metadata about attribute types) )" on 03/11/20, "Sean O'Dell" writes: |Listen, I don't mean to be obtuse, but declaring Ruby's flexibility is not a |guarantee of flexibility. It's flexible until a library requires certain |methods and parameters. Then you're stuck. It's better to get a nice, |descriptive message like "your object does not conform to the :memorymap |interface" than to get a message that says "in line 45,289 of a file you know |nothing about in the middle of a bunch of code you didn't write, a call was |made to some object whose name you have to trace to find out where it came |from and that call didn't have the right number of parameters. Figure it out |for yourself, bubba." I don't mean "type checking is bad", but "type checking based on class inheritance hierarchy is bad", and we don't have any other better type checking schema in Ruby (yet). |See what I'm getting at? Your flexibility is already gone at this point. I'm |not advocating taking away any more. I'm just advocating a mechanism for |reporting these incompatibilities, so when you are hit with this problem, you |can very quickly assess what went wrong and make an adjustment. It's good to have the mechanism like that, I agree, even I put the feature in my latest slides. But there's still long way to design and implement it efficiently, if I am right. matz.