On Sun, 31 Jul 2016 05:39 pm, Gregory Ewing wrote: > Steven D'Aprano wrote: >> It has always perplexed me that Lisp's prefix notation is held up as >> the /sine qua non/ of elegance and power, while Forth is ignored if not >> ridiculed. > > The reason Lisp is easier to program in than Forth is not > because of prefix vs. postfix. It's because in Lisp a function > call is syntactically grouped together with its arguments, > whereas in Forth it's not. Forth requires you to mentally > simulate the stack to figure out what's operating on what.
That's generally not hard though, and arguably more natural than thinking about higher-order functions, especially when you have higher-order stack words (at least according to some): https://news.ycombinator.com/item?id=1681174 You do make a good point but I don't think its the full story. Forth does have variables, and constants, but only global variables. And of course more modern languages like Factor have locals and even closures: http://factor-language.blogspot.com.au/2007/08/named-local-variables-and-lexical.html as well as garbage collection, currying/partial, objects, etc. There's a real mystery why concatenative/postfix languages have received so little attention from the academic community compared to prefix languages. -- Steven “Cheer up,” they said, “things could be worse.” So I cheered up, and sure enough, things got worse. -- https://mail.python.org/mailman/listinfo/python-list
