Is there any background material one can read about these things? TIA Phil
On Mon, Mar 2, 2015 at 9:38 AM, Marcus Denker <marcus.den...@inria.fr> wrote: > Hi, > > The tiny progress of today: I reviewed the code for the MetaLink from Clara’s > Breakpoints > and added it to Pharo4. I has as state: > > metaObject the target > selector what to call > arguments which args? > condition true, false or [block evaluating to a boolean] > control before, after, replace… > level active at base or meta level? (to stop meta-recursion) > nodes where it is installed. > > > ------ Examples ----- > > MetaLink new > metaObject: Halt; > selector: #now. > > MetaLink new > metaObject: [ self halt ]; > selector: #value. > > MetaLink new > metaObject: #node; > selector: tagExecuted > > or one that can only be installed on Message send: > > MetaLink > metaObject: #object; > selector: perform:withArguments; > arguments: #(selector arguments); > control: #replace > > > Of course, the real core of the whole things is next: An AST transforming > compiler plugin > that takes these links into account. > Of course, exact details might change (e.g. control using symbols or classes > (ControlBefore)”, > do we call it instead, replace or even AOP-style “around”? > > The first will be just a #before with no arguments, as this is what we need > for simple breakpoints. > > Marcus