Yes 13 сент. 2017 г. 18:59 пользователь "Stephane Ducasse" < stepharo.s...@gmail.com> написал:
> I imagine that you imply keeping the cGlobalVariable binding for the > real global variable. > > On Wed, Sep 13, 2017 at 4:52 PM, Denis Kudriashov <dionisi...@gmail.com> > wrote: > > So after discussion the solution would be: > > - ClassBinding for instance side method literals and globals dictionary > > (instead of GlobalVariable) > > - MetaclassBinding for the last literal of class side methods. It will > > include proper comment about where it is used and how, with description > of > > current trick > > > > 2017-09-13 16:45 GMT+02:00 Marcus Denker <marcus.den...@inria.fr>: > >> > >> > >> > On 12 Sep 2017, at 17:33, Guillermo Polito <guillermopol...@gmail.com > > > >> > wrote: > >> > > >> > I don't know... I found the idea of having a Metaclass binding > >> > strange... > >> > > >> > I mean, > >> > - metaclasses are not stored in any name dictionary such as Smalltalk > >> > - nobody references them directly in source code but by their direct > >> > classes > >> > > >> > The metaclass binding is there just for one thing really: methods need > >> > an association to know their class in case they have to do a super > send. And > >> > transitively this is a compiler problem also. But anybody else > accesses > >> > metaclasses' bindings. > >> > > >> yes, we need it just for the last literal. > >> > >> We added the “if there is a method, get the binding from there” we adde > as > >> else > >> we would compiler every class side method with a new Association > instance, > >> which > >> wastes lots of space. > >> > >> Marcus > > > > > >