> The part that affects us is that we can't tell at
> compiletime whether 
> assignment is rebinding or is a get/set, because we
> could have code 
> like:
> 
>      kitchentemp = new('kitchenroom');
>      bedroomtemp = new('bedroom');
>      bedroomtemp = kitchentemp;
> 
> 
> which is typeless, and yet should still respect the
> fact that the 
> objects bound to the name intercept assignment
> (basically overloading 
> it) rather than having the compiler or runtime doing
> the rebinding 
> for you.
> 
> Since, of course, we're dealing with basically
> typeless languages we 
> have to do all the checking at runtime (lucky us)
> which is why the 
> PMCs have generic get and set methods so they can
> decide whether 
> we're doing rebinding or something more funky.

Humm. Are you saying that whether 'set' does binding
or 'morphing' on a PMC will not be known at compile
time at the PASM level? So we don't know exactly what

  set Px, Py

will do?

> (Whether this affects languages where = is an
> explicit binding rather than assignment is up
> in the air, but neither python nor ruby is truly
> that way, though they're close. But we can fake
> it so that things do what they ought when they
> ought)

Maybe there should be 3 'set' ops: 'assign'
which changes the object, 'bind' which
replaces it, and 'set' which does whatever
the heck the object wants it to do... It'd be
good for compilers that like to know what's
going on.

__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com

Reply via email to