From: Henning VON ROSEN Date: 2001-04-27T20:28:53+09:00 Subject: [ruby-talk:14313] SV: Re: how change instances class [[ruby-talk:14287] Shugo Maeda:] > > Say, that a instance at first is known as belonging to a fairly > > general class,�and when > > we gather more information, it turns out to belong more > > precisely to a subclass. ... > I think it is dangerous to change classes of instances. > Do you really need it? Don't know yet. I'm just extending Ruby with natural-language/human-cognition similar behaviour (for later use in powering language learning with the same interactivity you get when learning Python, Ruby and peers), and since VHLL's, including Ruby, in some areas seem to allow a close mapping, I'm just exploiting that fact. Of course there is a huge difference between natural language and even VHLL's, and for good reasons. But there are also some striking similaritis, that makes you think that language developers found some of the same principles valuable, as did the human language capacity in evolution. > You can extend objects with mixin modules. Yes, that's nice for more dynamic things. again: > I think it is dangerous to change classes of instances. > Do you really need it? Let me give an example of a (maybe) natural class-change operation, in human dialog context: (This is purely fictional. I include it only in case that someone might be interested) Language input .......Human Language Interpreter does: I see something => instance of Something It is a person => change class of the instance to Human It is a woman => mix-in Female No, it is a man => un-mix Female and mix-in Male He looks Asian => mix in Asian He is smiling => indicate that smile is active It is Haruki Murakami! => check if there is merge viloations, if not then merge the instance into the Haruki Murakami instance, which does already exist in the knowledge bank. Is the smiling person an author? => Yes. And a famous one too. [references to the mentioned person are changed to Haruki Murakami instance, which has an Author mix-in] Is Haruki Murakami smiling? => Yes, he is smiling. [information merged from the temporary instance into the Haruki instance] Does Haruki Murakami exist? => Yes, [in the knowledge base, he is represented by an instance of subclass of Something] This is purly fictional, but I think there is a lession to be learnt from such an experiment: (1) Human language and thinking is extremely dynamic and ready to accept new information. VHLL's is much less far away from this than system languages. (2) The basic similaritis, when they do exist, between VHLL's and human languages are largely hidden by human language irregularities and taxonomic non-functional traditional grammar descriptions.