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!gatech!rutgers!njitgw.njit.edu!hertz.njit.edu!kxn3796
From: kxn3796@hertz.njit.edu (Ken Nakata)
Subject: Re: Reference Counting (was Re: Searching Method for Incremental Garbage Collection)
Message-ID: <1994Nov25.234423.17020@njitgw.njit.edu>
Sender: news@njit.edu
Nntp-Posting-Host: hertz.njit.edu
Organization: New Jersey Institute of Technology, Newark, New Jersey
References: <3ai2ol$3ua@gate.fzi.de> <CzoCo6.FEB@cunews.carleton.ca> <1994Nov22.184647.8864@njitgw.njit.edu> <LGM.94Nov25160315@polaris.ih.att.com>
Date: Fri, 25 Nov 1994 23:44:23 GMT
Lines: 38
Xref: glinda.oz.cs.cmu.edu comp.lang.c:117911 comp.lang.c++:100380 comp.lang.lisp:15806

In article <LGM.94Nov25160315@polaris.ih.att.com>,
Lawrence G. Mayka <lgm@polaris.ih.att.com> wrote:
>In article <1994Nov22.184647.8864@njitgw.njit.edu> kxn3796@hertz.njit.edu (Ken Nakata) writes:
>   It is not clear what he meant by "habitually create" "and then forget"
>   about circular structure, but IMO, your examples do not "forget" about
>   the circular structure, because usually you enforce some sort of
>   *partial order* on the graph nodes (e.g. "Before a list node can be
>   deleted, all its succeeding nodes must be deleted," or "before a tree
>   node can be deleted, all its descendant nodes must be deleted," etc).
>   A practical example would be (again) UNIX file system structure.

>You, Andrew Koenig, and others are essentially describing techniques

You must be awfully mistaken; my name by no means spells "Andrew
Koenig," nor was I by any means defending reference counting
technique.  Rather, I was trying to point out that it was a special
case where reference counting technique could be used with circular
structure existence.  Even as I read my won passage, I still cannot
get any tone that I was defending reference counting technique.

>for either =avoiding= circular, counted references or explicitly
>=breaking= circular, counted references.  The statement which remains
>fact is that reference counting cannot deal with the =general case= of
>circular references; this is quite well-known in the literature.
>
>You might call these "useful rules of sound design"; others might call
>them "cumbersome, error-prone workarounds."  The point is that if you
>believe (preferably through extensive experience with both paradigms)
>that invisible, ubiquitous, automatic memory reclamation improves the
>productivity and quality of your applications, reference-counting is
>not usually the way to get it unless other considerations (e.g.,
>choice of programming language) take precedence.

I agree.

Ken Nakata
-- 
Music is the best                                         -- Frank Zappa
