From: "Chr. Rippel" Date: 2002-02-14T23:39:02+09:00 Subject: Re: Name resolution in Ruby "Alexander Schofield" wrote in > .... > So, again thanks for the pointer are probably in order. I am glad you liked the pointer - the sources tree of the project seems to be bit outdated however. With a bit of tinkering I could to compile Cecil on cygwin (a couple of month ago) until the build process produced the first executable in the actually Cecil source which promptly core dumps, at which point my interest subsisted .... I probably should try compiling Cecil on linux - please let know if you have any more luck. > > Anyone want to help? No I imagine not, "Alex does not play well with > others". Would be nice to be on the other end of the YPIG (You Push > I'll Grunt) system though, makes me see pair programming in a whole new > light :). If you would implement my pet multi-object(class) idea I certainly would not mind the pushing part;-) > .... > > Allow me to quote from the "Cecil" link on the page you provided: > > "Cecil has a classless object model. Objects have methods attached > > directly to them, without needing a separate > > class to hold their format & behavior. One-of-a-kind objects with > > their own behavior (e.g. true, false, nil, and other enumerated > > constants) are easy to define." > > also it is a, "simple prototype-based Object Model", which is at least > > the same terminology that Self uses. > > > > "subclasses" are only mentioned once, with the quotes. Hm, seems like my brain got used to the ``singleton type'' == ``singleton class'' (also called refinement types) equivalence in Ruby that I forgot that Cecil is called ``class-less'' (in particular meta class-less) but not ``type-less''. I guess a large part of my personal affection for Ruby comes from its clever mix of regular classes and singleton classes (refinement types) which might be rather unique in this particular incarnation(?). There is the vague idea in the back of my mind that it ought to be possible (disregarding the fact that I am utterly clueless of implementation issues) to generalize Rubys (meta)class based object model in such why that it captures Cecil greatest strength (and likely greatest weakness) of a strong multi-method support. /Christoph