Pascal J. Bourguignon wrote: > [...] > > (def revappend(list,tail) > (if (null list) > tail > else > (revappend (cdr list),(cons (car list),tail)) > end) > end) > > [...] I like how you sneaked in the parentheses. It's a clever way to get people accustomed to parens without actually using Lisp. A way-point on the road to enlightenment. The too-many-parens complex is at the same time a trivial psychological barrier and a roadblock to greater understanding of the art of programming. There comes a time when one finds oneself weary of evaling strings. What's needed is a language that can represent itself. To metaprogram in the same language of the program--when the metalanguage is the language--this is the weapon of a Lisper. Not as clumsy or random as a string eval; an elegant weapon for a more civilized age. -- Posted via http://www.ruby-forum.com/.