Subject: Re: looking for a language with any of the following 4 charachteristics (all 4 would be nice). From: Erik Naggum <erik@naggum.net> Date: Sat, 16 Feb 2002 06:06:26 GMT Newsgroups: comp.lang.lisp Message-ID: <3222828389147771@naggum.net> * 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> <alist> :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.