[m-rev.] RTTI bug & type specialization

Fergus Henderson fjh at cs.mu.OZ.AU
Wed Jan 21 19:50:06 AEDT 2004


On 19-Dec-2003, Simon Taylor <stayl at cs.mu.OZ.AU> wrote:
> On 19-Dec-2003, Fergus Henderson <fjh at cs.mu.OZ.AU> wrote:
> > Work around an RTTI bug which was causing problems for accurate gc.
> >  
> > compiler/handle_options.m:
> > 	Disable type specialization, since this can create type class
> > 	constraints on compound non-ground types, which the current
> > 	RTTI system can't handle.
> 
> I'm not sure exactly what the problem is.  Type specialization
> should only consider a typeclass-info to provide a type-info for
> a type variable if that variable occurs at the top level in the
> class constraint (see higher_order.arg_type_contains_type_info_for_tvar).

I'm not sure exactly what the problem is either.  And I don't recall all
of the details exactly anymore. But it did occur.  Type specialization
was specializing some of the code in sparse_bitset.m in the Mercury
standard library which had explicit `pragma type_spec' declarations.
It was specializing some type variable T, which was constrained by an
enum(T) constraint, with the specialization "T=var(_)".  There may also have
been a lambda procedure involved; maybe that had something do with it.

-- 
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-reviews mailing list
post:  mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------



More information about the reviews mailing list