Hi Frank, It would be cool to have Classboxes back on track. The original version of Classbox requires a new method lookup. This can be achieved either by modifying the VM or wrapping the method to intercept a call (using method wrapper for example). Interesting variants of classboxes could be realized by: - having a lookup for classes: when you write "Morph new", then the name "Morph" is looked up, pretty much as methods are - having a class Selector that get evaluated into a symbol. You can then achieved selector namespaces, which does not incur a cost at execution. Cheers, Alexandre On Jun 1, 2012, at 10:55 AM, Frank Shearar wrote:
I mused with a colleague about how I'd like to see "lexically scoped monkey patching", and he pointed me to some guys that want to add that to Ruby (http://timelessrepo.com/refinements-in-ruby). Note the inspiration for their work: ClassBoxes! (http://scg.unibe.ch/research/classboxes)
I remember reading the paper years ago, and started working through it again now. Something that's not clear to me is this: does ClassBoxes require VM-side changes? (Because it changes the method lookup, after all, searching packages for methods before working up the inheritance tree.) If so, how invasive are they? If not, do we have a ball-park estimate of how much work it would be to update ClassBoxes to a more recent Squeak/Pharo?
I'm more than happy to do the dogwork. I'd just like to know whether I'm signing up for months of work or not.
Thanks!
frank
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.