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

Reply via email to