From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=BAYES_00,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 109fba,8e3b3db66f3b0061 X-Google-Attributes: gid109fba,public X-Google-Thread: f4fd2,8e3b3db66f3b0061 X-Google-Attributes: gidf4fd2,public X-Google-Thread: fd443,8e3b3db66f3b0061 X-Google-Attributes: gidfd443,public X-Google-Thread: 1014db,8e3b3db66f3b0061 X-Google-Attributes: gid1014db,public X-Google-Thread: 103376,474d28ddf953b3c1 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 1994-12-03 19:41:12 PST Newsgroups: alt.lang.design,comp.lang.c,comp.lang.c++,comp.lang.lisp,comp.lang.ada Path: bga.com!news.sprintlink.net!pipex!uunet!psinntp!relay.lehman.com!newshost!rfb From: rfb@lehman.com (Rick Busdiecker) Subject: Re: Reference Counting (was Re: Searching Method for Incremental Garbage Collection) In-Reply-To: mg@asp.camb.inmet.com's message of Fri, 2 Dec 1994 13:38:57 GMT To: mg@asp.camb.inmet.com (Mitch Gart) Message-ID: Sender: news@lehman.com (News) Nntp-Posting-Host: cfdevx1 X-Pgp-Version: 2.6 Organization: Lehman Brothers, Inc. X-Pgp-Signed: iQCVAwUBLuEV85NR+/jb2ZlNAQFsEAP/eRZa2a3gY8oHgWs6edd0bIIDXw2geD+t 4nPSLFj6vRD2Uf4KoIznND4suVzXJa/DG+vlHdkXQE9xYet7yPJffKDKvTRFpOPF yJp+4TybU8CUO1F9ODhbN+kumUXErlpMvqa4uB39odp3Qp54ZOxg0de6/lO9U6qh Gb3YKOBTZ+I= =8odi References: Date: Sun, 4 Dec 1994 01:06:01 GMT Xref: bga.com alt.lang.design:161 comp.lang.c:33254 comp.lang.c++:39463 comp.lang.lisp:4265 comp.lang.ada:8247 Date: 1994-12-04T01:06:01+00:00 List-Id: In article mg@asp.camb.inmet.com (Mitch Gart) writes: In Lisp everything is a pointer. Ugh. This statement is simply false. You *could* implement a lisp that way, but it would be a bad idea. Which data types are direct or indirect and when data is boxed or unboxed varies across implementations, but in any real lisp implementation, considerable effort is made to manipulate certain classes of data (numbers, for example) directly rather than indirectly through a pointer. If the following points are true about a reference counting scheme: - protects against memory leaks - predictable, guaranteed to not stop a program while doing GC - costs a bit, in proportion to how heavily pointers are used, but the cost is predictable - relatively simple to implement then RC sounds like a reasonable memory reclamation scheme for Ada. Yes, if those points were true of RC then it would be a reasonable scheme. -- Rick Busdiecker Please do not send electronic junk mail! Lehman Brothers Inc. 3 World Financial Center "The more laws and order are made prominent, the New York, NY 10285-1100 more thieves and robbers there will be." --Lao Tzu