From ...
Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!newsfeeds.belnet.be!news.belnet.be!news2.kpn.net!news.kpn.net!nslave.kpnqwest.net!nloc.kpnqwest.net!nmaster.kpnqwest.net!nreader2.kpnqwest.net.POSTED!not-for-mail
Newsgroups: comp.lang.lisp
Subject: Re: self-hosting gc
References: <87elj5i2rf.fsf@becket.becket.net> <87elj5glx5.fsf@becket.becket.net>
Mail-Copies-To: never
From: Erik Naggum
Message-ID: <3223987471212925@naggum.net>
Organization: Naggum Software, Oslo, Norway
Lines: 21
User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.1
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Date: Fri, 01 Mar 2002 16:04:26 GMT
X-Complaints-To: newsmaster@KPNQwest.no
X-Trace: nreader2.kpnqwest.net 1014998666 193.71.199.50 (Fri, 01 Mar 2002 17:04:26 MET)
NNTP-Posting-Date: Fri, 01 Mar 2002 17:04:26 MET
Xref: archiver1.google.com comp.lang.lisp:27648
[ Not responding to comp.lang.scheme. ]
* tmoore@sea-tmoore-l.dotcast.com (Tim Moore)
| I suppose that access to macros might be a bonus when writing a collector
| in Lisp, but assuming that much Lisp functionality won't be available in
| the collector or will be available in some weird and crippled form, and
| that it's desirable for the collector not to cons itself, the Lisp you
| write for the collector ends up looking a lot like C.
Why is this? It seem obviously false to me. The first thing you would
do in a copying garbage collector would be to switch the active half of
the two-space memory organization. The GC's task is only to move live
objects from the other half to this half, right? It should be doable
with the full language available and with no real constraints on consing.
Even reorganizing old space in a generational garbage collector should be
doable while consing from the fresh memory arena.
/// 2002-03-01
--
In a fight against something, the fight has value, victory has none.
In a fight for something, the fight is a loss, victory merely relief.