None of this addresses the "climbing the meta ladder" observation/ objection from Waldemar. The mirages approach based on mirrors may -- Mark cited this paper:

http://prog.vub.ac.be/Publications/2007/vub-prog-tr-07-16.pdf


In a nutshell: mirages mitigate some of the issues with meta-regress by requiring the 'catch-all handler' to be attached to an object when the object is defined. Think of a mirage as an object with a statically-known catch-all handler. Hence, it is known at compile-time whether or not an object's property access should be intercepted and even which specific operations (has,get,set,invoke,...) are redefined. Primitive actions performed on mirages can still run arbitrary code, but the scope of the problem is restricted to mirages, not to arbitrary objects.

While there are uses of catch-all handlers for which the static binding of the handler is not an issue, for other use cases it probably is. Statically binding the catch-all handler to an object requires foresight on behalf of the creator of the object: it's not possible to bind a catch-all handler to an object after it has been created.

For those that would still be interested in reading the paper: it is largely superseded by the following journal article: dx.doi.org/ 10.1002/spe.909 (if you are interested in the full-text pdf, I can send it to you)

Kind regards,
Tom
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to