Jochen Schmidt <email@example.com> wrote:
| I personally prefer calling it "object-references" instead of simply
| "pointers" because one easily confuses people when talking about "pointers"
| (C) and "pointers" (Lisp) at the same time.
When trying to avoid "pointer", I usually talk about "object identifiers"
rather than "object references", since the latter still has substantial
pointer connotations to it. (IMHO.)
Also remember that there have been implementations of GC'd languages in
the past -- classic Smalltalk comes to mind -- where the object identifiers
were *NOT* pointers at all, but fairly-small indices into a global "object
table" (which then may or may not have contained pointers to objects too
large to fit in an object table slot). This allowed large objects to be
moved during GC compaction *without* changing the values of their object
identifiers held in variables or in other objects.
But I agree that for tutorial purposes in Lisp & other languages with
a copying GC, terms like "object identifier" or "object reference" or
"object cookie" (whatever) are probably better than "pointer".
(Even though in most Lisps the object identifiers do usually look an
awful lot like pointers... except for immediates, of course!) ;-}
Rob Warnock, PP-ASEL-IA <firstname.lastname@example.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607