> De: "John Rose" <[email protected]>
> À: "Remi Forax" <[email protected]>
> Cc: "Karen Kinnear" <[email protected]>, "valhalla-spec-experts"
> <[email protected]>
> Envoyé: Jeudi 31 Janvier 2019 19:05:33
> Objet: Re: An example of substituability test that is recursive

> On Jan 31, 2019, at 6:34 AM, [ mailto:[email protected] | [email protected] ]
> wrote:

>> The other solution is to say that == should do an upcall to equals (after the
>> null checking and the class checking), if equals throw a StackOverflow, it's
>> the expected behavior because the user is in control of that behavior.

> What you are doing here, I think, is exposing a requirement
> that we *don't* use the control stack for recursion on subst.
> testing (or hashing). That's a reasonable requirement.
> It leads to a worklist algorithm for doing this tricky thing,
> just like we had to do many times in the JIT.

IMO that the other solution, 
solution 1: you use a worklist (and also perhaps a marking algorithm to avoid 
to crawle the DAG) 
solution 2: you claim it's too complex and you just let the user deal with it 
by calling equals() (and provide a way for a user to call the default subst). 

Rémi 

Reply via email to