From: Csaba Henk Date: 2005-01-26T23:20:56+09:00 Subject: Re: Self and Ruby Comparisons On 2005-01-25, Trans wrote: > Even so, like I said, your approach does have merits, and is certainly > a good way to give prototype-based OOP some play in Ruby. If your are > interested I would enjoy developing a dedicated library together. We > can work on it over at suby-ruby (keep in mind I can't devote too muh > time on it at the moment, but I willl certainly be happy to help/get > started.) I neither have much time, but we could try. But before writing a word of ruby, a plan should be made and goals should be made clear. Three different things to achieve: 1) Extend ruby's OO kit with prototype-like techniques. 2) Create a class Prototype within which you can play full prototype-based OO. 3) If 2) is done, create "bridges" between conventional ruby world and prototype-based (eg., extend Object with a method which creates a Prototype proxy) Also it would be useful to get some insight where this stuff could be used. Do you have any idea? (Personal opinion: prototype-based oo [poo] is most useful where object initialization doesn't require some special resource. (Poo advocates insist on the intuitiveness of poo, but for me its quite contraintuitive to clone a File object; or, if there is a special constructor for the given type because of this, it's also contraintuitive that any instance of that type can give rise to a new copy where the only thing shared with the parent and the children is the type. If there is a special object bearing the constructor method that's so close to being a class that I don't see the point in poo for this type.) Parsers might be a good example. There the class is really such an abstraction which has no use.) You should give me a sketch what kind of object model do you think of and what capabilities should the citizens of poo country have. As a recent post pointed out, there is no module method like "uninclude" (I always tought there is one). That's pretty sad, it weakens ruby's oo. Is there a reason for being so, or just there was no reason to make one? Csaba