M-expressions==LISP in "normal syntax"-kills LISP?
http://en.wikipedia.org/wiki/M-expression
if i understand it right M-expressions would make it possible to have a LISP without parenthesis?
well what a lot of people love about LISP is macros and that code is data and data is code.
if someone rewrote LISP to have "normal" syntax and notation could you write
defun sq(x)
x*x
or somehing along those lines?would that then make it very hard to do macros and do write programs that write programs?
3 comments
[ 4.1 ms ] story [ 9.8 ms ] threadi dont personally have a problem with it but id prefer the same language with normal syntax/notation.
That said, you really only need parentheses (or other grouping operators) in situations where you don't know how many arguments there are; in most function calls, for instance, you know exactly how many parameters are needed, so the parentheses can be eliminated. This is effectively how Logo and Forth work.
However, eliminating parentheses in this manner means that the syntax tree interpretation of any given code depends on the function definitions currently in memory -- which is not the case with Lisp code, whose structure is explicit. I assume this would complicate a macro system.