[m-dev.] for review: tuples [1]

Fergus Henderson fjh at cs.mu.OZ.AU
Thu Aug 3 15:06:46 AEST 2000


On 03-Aug-2000, Peter Schachte <schachte at cs.mu.OZ.AU> wrote:
> On Thu, Aug 03, 2000 at 09:34:46AM +1000, Simon Taylor wrote:
> > It doesn't work well with polymorphic predicates because
> > the structures would need to be un-inlined before passing
> > them to a predicate such as io__write or std_util__deconstruct.
> 
> I don't think un-inlining is a problem:  you just take a pointer to the
> middle of the structure.

Doing that is problematic for garbage collection.
Many (most?) garbage collectors don't allow that.
For those that do (e.g. the Boehm collector with
`-DALLOW_INTERIOR_POINTERS'), it often comes at a
significant performance penalty.  I don't think we
can rely on that being possible, because it would
restrict the implementation too much.

-- 
Fergus Henderson <fjh at cs.mu.oz.au>  |  "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh>  |  of excellence is a lethal habit"
PGP: finger fjh at 128.250.37.3        |     -- 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