hi frank
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)
do you know the difference between refinements and 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?
no
(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?
In the implementation of alex it was mainly a couple of classes generating special byte codes. (in fact at the beginning he got a different vms and after he did not needed it). Now I would really like to see if we do not prefer to have selector namespaces = each symbol is prefixed with the namespace it is compiled in.
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.
No ask alex for the code it was really simple. Now the fact that an expression was different when executed a different class boxes made me uncomfortable. I would love to have a real case study showing the advantage because we have extesnions: adding method overriding methods. then what is the visibility of the extension - global - local = selector namespace - classboxes
Thanks!
frank