[m-dev.] .NET back-end test results
Fergus Henderson
fjh at cs.mu.OZ.AU
Thu Nov 7 09:57:15 AEDT 2002
On 06-Nov-2002, Peter Ross <pro at missioncriticalit.com> wrote:
>
> This is the start of my fix for the problem B3 (FAILED.UNDEFINED)
> class by trying to expand out the equivalence types for the special
> predicates when producing the special predicates.
I was thinking of doing this expansion at a later stage of the compilation,
shortly before code generation, rather than in make_hlds.m.
> Anyone see problems with this approach or can think of another
> approach?
There may be problems with "non-transparent" equivalent types:
those where a type parameter on the LHS does not occur on the RHS,
e.g.
:- type foo(T) == int.
If you do the expansion before polymorphism, then the type_info for the
type parameter T won't get inserted in the arguments, but it needs to be.
I think there will also be some issues with specialization and/or inlining of
unification procedures; the code there is probably assuming that the
argument types of the procedure will unify with the argument types in
the caller.
--
Fergus Henderson <fjh at cs.mu.oz.au> | "I have always known that the pursuit
The University of Melbourne | of excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh> | -- the last words of T. S. Garp.
--------------------------------------------------------------------------
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