Results 802 comments of Julian Rohrhuber

Also, just to note, `tryPerform` may possibly change (and break) state, which can't be undone.

Just for reference, I copy here the new implementation of `tryPerform` which should replace `respondsTo`: ```supercollider tryPerform { |...args, kwargs| var r; try { r = this.performArgs(args[0], args[1..], kwargs) }...

> One example is something like `Maybe`, where the value isn't assigned until later and the result of `respondsTo` cannot be known.... which takes us back to control flow! Yes,...

> My point is that it is _impossible_ to implement. You need to reflect on what the code will do, which requires simulating the program, the external interfaces it is...

> Thinking about this a bit more.... it should also compare the receiver via identity. > Then, some `AbstractObject` should implement `tryPerform` by comparing it (with equality) against what ever...

It would be better if the two kinds of changes you made were in separate pull requests. Changing this zero to RootNode is unproblematic, but should anyone have an issue...

> By default, this is the default group 1. This means, the recorder comes _after_ the group 1, and in fact the default is that it will be added to...

This is great! I like that you reduced the "stupidity" of the object and also included the class, that was my intention, too, I just had tried to make the...

One (optional) feature that would make this even more useful would be to have a primitive that forwards a method call to another object one-to-one. Then layers of delegations cost...