On 12/01/2013 03:23, amzoti wrote: > Hi All, > > It is clear the Mathematica uses Lisp as one of the example programming paradigms it pulls from and I have a general question regarding this. > > Many moons ago I took a Lisp class and was awful at it (Lisp was very new), but through Mathematica, have to come to understand the great power and utility of it. > > Would it be helpful to learn Lisp in order to improve programming skills in Mathematica? > > If so, what Lisp books would you recommend? > > What variant of Lisp would you recommend using for practice - Common Lisp, Scheme, or Clojure? Would Mathematica itself be a better choice (I am not sure if it supports all the Lisp language constructs and such). > > What about Haskell? > > Any insights and guidance are appreciated. > > Regards -A > Mathematica has a vague resemblance to LISP, but there are big differences. One in particular, is that Mathematica lists are not linked lists. That means if you add an element to a list (Append or Prepend) the whole structure has to be copied, which is expensive for long lists. This was done because lists are often used to store vectors whose components need to be accessed efficiently in arbitrary order.
I'd read the Mathematica tutorial, and forget about LISP!