[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Flat property lists
- To: Guy.Steele at CMU-10A
- Subject: Re: Flat property lists
- From: Don Morrison <Morrison at UTAH-20>
- Date: Mon, 08 Feb 1982 19:19:00 -0000
- Cc: benson at UTAH-20, common-lisp at SU-AI
- In-reply-to: Your message of 8-Feb-82 1346-MST
Stanford LISP 1.6 (which predates "Standard" LISP) used a-lists for
instead of flat property lists. See the manual by Quam and Diffie
(SAILON 28.7), section 3.1.
It was also mentioned a message or two ago that even in implementations
without cdr-coding flat property lists are more efficient. Would
someone explain to me why? If we assume that cars and cdrs cost the
same and do not have flags (Stanford LISP 1.6 does not have flags) then
I see no difference in cost. And certainly the a-list implementation
is a bit more perspicuous. There's got to be a reason besides inertia
why nearly all LISPs use flat property lists. But in any case, Common
LISP has no business telling implementers how to implement property
lists -- simply explain the semantics of PutProp, GetProp, and RemProp,
or whatever they end up being called and leave it to the implementer to
use a flat list, a-list, hash-table, or, if he insists, a flat,
randomly ordered list of triples. It should make no difference to the
Common LISP definition.
-------