From ... Path: archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!news.tele.dk!small.news.tele.dk!128.39.3.168!uninett.no!Norway.EU.net!news01.chello.no!not-for-mail Newsgroups: comp.lang.lisp Subject: Re: looking for a language with any of the following 4 charachteristics (all 4 would be nice). References: <42e37222.0202111748.77f8a64a@posting.google.com> <3C697B24.9D1A372@alltel.net> <3222540975992591@naggum.net> <863d04es3m.fsf@cs.uga.edu> <87vgd0m5us.fsf@orion.bln.pmsf.de> <3222747467111424@naggum.net> Mail-Copies-To: never From: Erik Naggum Message-ID: <3222828389147771@naggum.net> Organization: Naggum Software, Oslo, Norway Lines: 19 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.1 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sat, 16 Feb 2002 06:06:26 GMT X-Complaints-To: abuse@chello.no X-Trace: news01.chello.no 1013839586 212.186.234.171 (Sat, 16 Feb 2002 07:06:26 MET) NNTP-Posting-Date: Sat, 16 Feb 2002 07:06:26 MET Xref: archiver1.google.com comp.lang.lisp:26656 * gat@jpl.nasa.gov (Erann Gat) | 2. Having "all those nice list functions" is only an advantage insofar as | they let you do something useful. Being able to operate on an alist as a | list is not in and of itself a feature, and can lead to problems if you're | not careful. I can't offhand think of anything useful you can do with an | alist that is fundamentally more difficult with a hashmap. Suppose it is a special variable. (let ((*alist* *alist*)) ...) allows you to push key-value pairs on the list and have them work in a manner very similar to scoping. You may temporarily push a single key-value element to shadow another and then delete it when you are done, with a simple (delete :key #'car). Alists are also just as efficient from key to value as from value to key. /// -- 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.