This is a brief introduction to Python for Lisp programmers. (Although it wasn't my intent, Python programers have told me this page has helped them learn Lisp.) Basically, Python can be seen as a dialect of Lisp with "traditional" syntax (what Lisp people call "infix" or "m-lisp" syntax). One message on comp.lang.python said "I never understood why LISP was a good idea until I started playing with python." Python supports all of Lisp's essential features except macros, and you don't miss macros all that much because it does have eval, and operator overloading, and regular expression parsing, so you can create custom languages that way.
CL-XML is a collection of Common LISP modules for data stream parsing and serialization according to the "Extensible Markup Language" and anscilliary standards. The modules perform parsing and serialization between XML, XML Query, and XML Path expressions and DOM-compatible CLOS instances.
FReT is a common lisp package for testing common lisp software. Version 0.3 is at present at least as functional as any such software publically available, but still far from complete.
I take you on a simple stroll through Lisp's basic constructs and then ramp up quickly. You'll see Lambda expressions, recursion, and macros. This quick tour should give you an appreciation of Lisp's productivity and flexibility.
What should you learn first, Lisp or Haskell? It depends entirely on your personality. One thing is certain - if you want to be a great developer eventually you'll have to learn both.
In analyzing my data I wanted to classify it with a naive Bayesian classifier. I wasn't sure I had the math right, so I wrote a tiny abstract classifier to test with. The code is pretty cool:
A. Newell, and H. Simon. Communications of the ACM, 19 (3):
113-126(March 1976)p. 116:
"The Physical Symbol System Hypothesis. A physical
symbol system has the necessary and sufficient
means for general intelligent action."
p. 120:
"Heuristic Search Hypothesis. The solutions to
problems are represented as symbol structures.
A physical symbol system exercises its intelligence
in problem solving by search--that is, by
generating and progressively modifying symbol
structures until it produces a solution structure."
p. 121:
"To state a problem is to designate (1) a test
for a class of symbol structures (solutions of the
problem), and (2) a generator of symbol structures
(potential solutions). To solve a problem is
to generate a structure, using (2), that satisfies
the test of (1).".