Subject: Re: Servlets in CL From: Erik Naggum <erik@naggum.no> Date: 2000/06/08 Newsgroups: comp.lang.lisp Message-ID: <3169485410773760@naggum.no> * David Bakhash | But I'd like to know more about how people use them, since I | very seldom use them. * Joe Marshall <jmarshall@alum.mit.edu> | Nor should you. What nonsense! | Plists are a `poor man's 2-d table'. Well, that's _one_ view. | The problem is that this table is not first class, the key pairs | come from a global namespace, and the table shared with every | function that uses a 2-d table. Firstclassitude is _so_ overrated. Don't listen to Schemers! Property lists exist in many objects, not just symbols. They are very convenient ways to store _incidental_ information with the object when the object itself is vastly more important than the _property_ you want to associate with it. Take symbols. If the symbol has it's very own, very good raison d'être, you'd be a fool to set up an eq hash table to store some particular properties on them, and particular to set up a whole bunch of them, probably named by their own symbols, to hold on to each one. You already have the symbol in hand, so it's a wanton waste of resources to use an expensive external mechanism to avoid being criticized by Schemers. However, if you don't use symbols for the many good reasons for which you _should_ use symbols, but for some of the more numerous good reasons to _avoid_ using symbols, it's just stupid to waste resources on symbols only for their property lists. Remember, symbols are _expensive_ little things. If you gotta have them, you might as well exploit that fact, but if don't have to for some other reason, property lists is not a reason to use them. Scheme exposure damages your brain if you want to program in Common Lisp in your real life. Scheme doesn't have symbols, so they're _envious_ of our very useful property lists! (Or whatever, they simply don't _get_¹ the symbol as a first-class object, no matter how much they otherwise rant and rave about firstclassitude².) #:Erik ------- ¹ pun intended ² this really should be a word -- If this is not what you expected, please alter your expectations.