Xah Lee wrote: > • A Ruby Illustration of Lisp Problems > http://xahlee.org/UnixResource_dir/writ/lisp_problems_by_ruby.html
On Jan 17, 12:30 pm, André Thieme <address.good.until. 2009.may...@justmail.de> wrote: > In the Lisp style Clojure for example one does exactly the same as > Jillian James (JJ) did in Ruby: > (map #(map (fn [s] (Integer/parseInt s)) (.split % "\\s")) (line-seq > (reader "blob.txt"))) Note that you have nested map. This is a problem of function chaning as i detailed. The other problem of cons, is commonly seen. Just about every week, we see some perhaps beginning lisper asking how to do various trivial list manipulation problem, which you don't see such question or frequency in any of modern high level lang forms. The frequently asked list manipulation question we see include how to append, prepend, or anything involving nested list such as partitioning, reordering sublists, getting leaves, interpretation of leaves, etc. This is caused by the cons. associated lisp problem compound the issue. Namely, the not exactly regular syntax, and the eval model of sometimes symbol sometimes uneval'd symbol, e.g. “'(...)”, “`(...,@ ...)” things. The clojure example you gave above, apparently inherited the irregular syntax problem. (you see the #, [], % things, which is breaks the lisp's sexp idea) Also, all modern lisp basically all get fucked up by inheriting the cons (e.g. clojure, NewLisp, Arc lisp, Liskell). Often, they change the semantic a bit apparently as a mesaure towards solving the cons problem. (and Qi Lisp creates a huge bag of ad hoc, extremely ugly, syntax soup) Advice: if you are creating a lispy lang, two things: • stick to a _pure_ nested syntax, no exception whatsoever. (e.g. no more ` ' # % shits) If you want, add a transparent layer on top to support arbitrary algeraic notation. (e.g. look at Mathematica, CGOL) • get rid of the cons. (you can still implement the so-called linked list, but no where it should be shown to the programer) Further readings: • Fundamental Problems of Lisp http://xahlee.org/UnixResource_dir/writ/lisp_problems.html Xah ∑ http://xahlee.org/ ☄ -- http://mail.python.org/mailman/listinfo/python-list