Paul Rubin wrote: > > > a[i] = b[n] > > > (setf (aref a i) (aref b n)) > > Well, there's some similar way to look up elements in a Lisp > hashtable, but I've forgotten the keyword for it (oops, cognitive > inefficiency, having to remember separately.) Python uses the same > syntax for both.
That's true, Lisp would benefit from _standard_ homogenuous polymorphic accessor functions to list-like objects and/or low-level (macro-like) syntactic sugar. Yes, you can easily make (a i) act like (aref a i) but it is not done by default. Legacy reasons? Graham has interesting things to say about this issue: http://www.paulgraham.com/ilc03.html Most of my programs are also written in Python, however, I would say that in many cases "a[i] = b[n]" is an artefact of programming habits from C, which has no language support for list comprehension, iterators, etc. I tend to avoid such constructs; usually there is a more natural way to do the same and it's just too easy to get the indices wrong. Piotr -- http://mail.python.org/mailman/listinfo/python-list