Hi, The next step: meta level support. Imagine you put a link in a method like OrderedCollection>>#add:, and then the meta level itself class that method again⦠endless loop. This e.g would happen easily if you would use a link to put a watch-point somewhere... With this Slice: https://pharo.fogbugz.com/f/cases/15447/Links-with-MetaContext <https://pharo.fogbugz.com/f/cases/15447/Links-with-MetaContext> MetaLinks now can optionally model the meta-level: when calling a link, it is increased. This happens only when setting a level explicitly with #level: like here: link := MetaLink new metaObject: <something>; selector: #someSelector level: 0. Keep in mind that it is fairly heavy, using a Process-Local variable. On the TODO: -> support for links on primitive methods (by wrapping them) -> parameters for conditions -> parameters for the method called on the meta object -> âsymbolicâ meta objects #object, #node and #class -> links on Slots -> links on Globals and of course breakpoints, we have now everything already that we need. Marcus
Yay! This is super cool :) Thanks Marcus! 2015-04-29 11:21 GMT-03:00 Marcus Denker <marcus.denker@inria.fr>:
Hi,
The next step: meta level support.
Imagine you put a link in a method like OrderedCollection>>#add:, and then the meta level itself class that method again⦠endless loop. This e.g would happen easily if you would use a link to put a watch-point somewhere...
With this Slice:
https://pharo.fogbugz.com/f/cases/15447/Links-with-MetaContext
MetaLinks now can optionally model the meta-level: when calling a link, it is increased. This happens only when setting a level explicitly with #level: like here:
link := MetaLink new metaObject: <something>; selector: #someSelector level: 0.
Keep in mind that it is fairly heavy, using a Process-Local variable.
On the TODO:
-> support for links on primitive methods (by wrapping them) -> parameters for conditions -> parameters for the method called on the meta object -> âsymbolicâ meta objects #object, #node and #class -> links on Slots -> links on Globals
and of course breakpoints, we have now everything already that we need.
Marcus
participants (2)
-
Clara Allende -
Marcus Denker