[m-dev.] for review: reordering for existential types [1]
Simon Taylor
stayl at cs.mu.OZ.AU
Wed Jun 23 15:26:12 AEST 1999
> > One other possible problem I noticed is that you moved the code
> > to convert higher-order pred constants into lambda expressions
> > from modecheck_unify.m into polymorphism.m. What happens if a
> > later pass (e.g. deforestation) reruns mode analysis on code which
> > constructs a higher-order pred constant?
>
> I'm not entirely sure, so I decided that in the interests of safety
> it is probably best to put that code back in modecheck_unify.m
> (as well as keeping the copy in polymorphism.m).
OK. I suspect recompute_instmap_delta_unify on the alias branch
has the same problem. I'll fix that when I finish off structure reuse.
> compiler/modecheck_unify.m:
> Put back the code for converting unifications with higher-order
> pred constants into lambda expressions, which had been moved to
> polymorphism.m, because it might be needed in case mode analysis is
> rerun after lambda.m has already been run, e.g. during deforestation.
This is a lot of duplicated code - would it be possible to factor it
out into a separate predicate?
Thanks,
Simon.
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to: mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions: mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------
More information about the developers
mailing list