Newsgroups: alt.lang.design,comp.lang.c,comp.lang.c++,comp.lang.lisp,zer.z-netz.sprachen.algorithmen
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!howland.reston.ans.net!spool.mu.edu!torn!nott!cunews!dfs
From: dfs@doe.carleton.ca (David F. Skoll)
Subject: Re: Reference Counting (was Re: Searching Method for Incremental Garbage Collection)
Message-ID: <CzoCo6.FEB@cunews.carleton.ca>
Followup-To: alt.lang.design,comp.lang.c,comp.lang.c++,comp.lang.lisp,zer.z-netz.sprachen.algorithmen
Sender: news@cunews.carleton.ca (News Administrator)
Organization: Carleton University
X-Newsreader: TIN [version 1.2 PL2]
References: <3ai2ol$3ua@gate.fzi.de> <CzHCvp.9rM@rheged.dircon.co.uk> <AST.178.785265972@postman.hsn.no> <CzKAnH.D3@rheged.dircon.co.uk>
Date: Tue, 22 Nov 1994 15:07:18 GMT
Lines: 26
Xref: glinda.oz.cs.cmu.edu comp.lang.c:117479 comp.lang.c++:99877 comp.lang.lisp:15742

In article <CzKAnH.D3@rheged.dircon.co.uk>, Simon Brooke
(simon@rheged.dircon.co.uk) wrote:

> After all, circular data structures hit most (all?) garbage collecting
> strategies.

No, they don't.  A simple mark-sweep GC will properly handle circular
structures.

> Mark-and-sweep would fail in just the same circumstances, and so, if I
> understand it at all, would a conventional generational strategy.

Nope.

> Furthermore, programs which habitually create circular structures and
> then forget about them are (in my expreience) rare.

How about a binary tree where for convenience each node stores a pointer
to its parent as well as pointers to its children?  Pretty common.
How about doubly-linked lists?  Pretty common.

--
David F. Skoll
<a HREF="http://www.doe.carleton.ca/students/dfs/">
Click here for my home page</a> "Query two pi" on typewriter.

