Newsgroups: comp.lang.lisp
Path: cantaloupe.srv.cs.cmu.edu!nntp.club.cc.cmu.edu!goldenapple.srv.cs.cmu.edu!das-news2.harvard.edu!cam-news-feed3.bbnplanet.com!cam-news-hub1.bbnplanet.com!news.bbnplanet.com!news.maxwell.syr.edu!ix.netcom.com!vrotney
From: vrotney@netcom.com (William Paul Vrotney)
Subject: Re: Cdr-coding
In-Reply-To: rv@erix.ericsson.se's message of 26 Mar 1997 09:02:57 GMT
Message-ID: <vrotneyE7n92s.51B@netcom.com>
Organization: Netcom On-Line Services
References: <5haoo1$rn8$2@news.du.etx.ericsson.se>
Date: Wed, 26 Mar 1997 09:30:28 GMT
Lines: 25
Sender: vrotney@netcom10.netcom.com


In article <5haoo1$rn8$2@news.du.etx.ericsson.se> rv@erix.ericsson.se
(Robert Virding) writes:

> 
> A simple question: Is cdr-coding used in modern lisp system? If so,
> why? If not, why not?
> 
> Thanks in advance for any help,
> 

Yes, cdr-coding was (is) used on the Symbolics.  But it was built into the
machine addressable word.

My guess is that you would not see cdr-coding in standard Von Neumann style
CPU Lisp implementations a lot because the two bit cdr code would have to be
included in the address space of a machine addressable word.  If at the top
the word it would eliminate 3/4 of the potential memory, which is not so bad
on large word sizes.  If at the bottom of the word it would require all lisp
objects to be on 4 byte boundaries.  In either case a masking operation is
required to get the actual address for every reference.

-- 

William P. Vrotney - vrotney@netcom.com
