[m-dev.] Re: common-struct / polymorphism bug

Simon TAYLOR stayl at students.cs.mu.oz.au
Tue Jun 17 18:25:33 AEST 1997


> Simplify can issue error messages. Can polymorphism and lambda make
> modifications to the HLDS that would screw up the error messages?

Error messages referring to __LambdaGoal__1 could be a bit annoying.

> 
> The root problem is that simplify is now called twice, and the different
> calls have different constraints on them. A better solution might be to
> decouple these two calls, make them independent, with the only common thing
> between them being that both call some of the same helper predicates.
> (Certainly the original code of simplify that was invoked between unique
> modes and polymorphism was quite limited in its ambitions.) Simon, is this
> feasible?
> 

It is, although you would want to change the code for the infinite recursion
warnings so that it doesn't depend on common structure elimination being
run.

For the bug that Fergus is trying to fix, I think the simplest fix is to 
clear the common_info before entering a lambda_goal, and restore it 
afterwards, so that common.m does not attempt to propagate constructions
from outside a lambda_goal to the inside.

Simon.



More information about the developers mailing list