Why not allow empty code blocks?

Gregory Ewing greg.ewing at canterbury.ac.nz
Sun Jul 31 03:39:42 EDT 2016


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.

A language that was just like Forth except that it used
prefix rather than postfix would be just as hard to
reason about. Likewise, a postfix version of Lisp would
be just as easy.

> Perhaps it is because Lisp started as an academic language in the computer
> science department ...
> while Forth was merely a practical language invented to control telescopes,

No, it's because Lisp has just enough structure, and Forth
has too little.

If Forth had come out of a computer science department and
Lisp had been invented by an astronomer, Lisp would still
be the easier language to use.

-- 
Greg



More information about the Python-list mailing list