[mercury-users] tabling
Fergus Henderson
fjh at cs.mu.OZ.AU
Thu Nov 30 12:07:24 AEDT 2000
The topic of discussion in this thread seems to have shifted into
implementation details, so I've replied to the article quoted below on
the mercury-developers mailing list, rather than replying here on
mercury-users. (My reply will appear on the list archive at
<http://www.cs.mu.oz.au/mercury/mailing-lists/mercury-developers/list.html>
within 12 hours.)
On 30-Nov-2000, Zoltan Somogyi <zs at cs.mu.OZ.AU> wrote:
>
> Any such garbage collector would need to be aware of the tables, because they
> are roots, and may be the only root pointing to a still live data structure.
> The relevant tabling data structure is a hash table; when an address changes,
> its hash value does too. Requiring the collector to preserve the validity of
> the hash table by rehashing its elements does not seem too onerous a burden.
...
> > only the object(T) type and the tabling routines in the runtime library
> > need to know about it, not the compiler front-end.
>
> Actually, with the definitions in your mail, the tabling routines in the
> runtime do *not* need to know about object(T); they can be used unchanged.
> In fact, any approach that requires the runtime to know about object(T)
> as a special type would impose distributed fat.
>
> Your approach would seem to be the best solution to MC's current problem.
--
Fergus Henderson <fjh at cs.mu.oz.au> | "I have always known that the pursuit
| of excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh> | -- the last words of T. S. Garp.
--------------------------------------------------------------------------
mercury-users mailing list
post: mercury-users at cs.mu.oz.au
administrative address: owner-mercury-users at cs.mu.oz.au
unsubscribe: Address: mercury-users-request at cs.mu.oz.au Message: unsubscribe
subscribe: Address: mercury-users-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------
More information about the users
mailing list