Subject: Re: C++ briar patch (Was: Object IDs are bad)
From: rpw3@rigden.engr.sgi.com (Rob Warnock)
Date: 1997/06/03
Newsgroups: comp.lang.scheme,comp.lang.lisp,comp.lang.misc,comp.lang.functional,comp.lang.c++
Message-ID: <5n0rst$egno@tokyo.engr.sgi.com>

Erik Naggum  <erik@naggum.no> wrote:
+---------------
| it's worth noting that (cons 1 2) yields a pointer (!) to a cons cell that
| contains two fixnums, not two pointers.
+---------------

Not in all Lisps. For example, in SIOD Scheme *all* objects are boxed,
thus a cons cell is two pointers, period.


-Rob

p.s. Yes, there is a small amount of magic in the corners that avoids
allocating in the heap for the most common small numbers by preallocating
a few "inums" in fixed locations, and arranging so that arithmetic results
in that range share such an instance if it exists.

p.p.s. And yes, SIOD cons cells also have a type field. But that's not a
Lisp/Scheme requirement either, since you can always use BiBOP for typing.

-----
Rob Warnock, 7L-551		rpw3@sgi.com   http://reality.sgi.com/rpw3/
Silicon Graphics, Inc.		Phone: 415-933-1673  FAX: 415-933-4392
2011 N. Shoreline Blvd.		[after 8/2/1997 ==> 650-933-xxxx]
Mountain View, CA  94043	PP-ASEL-IA