For this "problem" at least it is documented in http://rmod.lille.inria.fr/web/pier/software/Fuel/Version1.7/Hooks in the section "Substitutes on Serialization" On Fri, Nov 25, 2011 at 8:46 PM, Yanni Chiu <yanni@rogers.com> wrote:
On 25/11/11 5:26 PM, Martin Dias wrote:
Hi Yanni
This is a feature or a known issue, I am not sure yet!
It makes sense why it is the way it is (as you've noted below). Once you know this is what's happening. But, when first encountered, it's a bit scary to see your image not respond. I'm not sure whether it's a bug or feature, either. However, I suspect any infinite recursion should be classified as a bug.
In serialization, when you substitute an object by another, such
substitution(*) is then serialized using the same rules, so you might need the guard condition to avoid the infinite loop.
This was the simpler implementation, but maybe it's undesirable or it's too error prone. Do you think we should change this?
Probably, the right answer is to allow a choice of whether or not the substituted object(s) are subject to further substitution. And, no matter which choice is made, no infinite loop should occur -- a tall order.
*: note the substitution can be not just an object but a graph of
objects, some of them able to be substituted too.
Good to know this.
-- Mariano http://marianopeck.wordpress.com