From: ··········@tfeb.org
Subject: Re: Is Lisp "syntaxless"? (was: Paul Graham's teaching style is bad)
Date: 
Message-ID: <cfsl0n$pg9@odah37.prod.google.com>
Stefan Ram wrote:
>
>   But in Common Lisp, e.g., the loop structure, as being
>   described by, e.g.,
>
> http://www.cs.washington.edu/ai/cltl/clm/node241.html
>
>   seems to have much more syntax, than just { <s-expression> }
>   inside the parentheses.
>
>   What is left, is not a syntaxless parse tree, but a parse tree
>   in a well-documented and accessible form.

That's what it looks like, doesn't it?  But in fact LOOP is just a
macro, of course, so you can macroexpand it away. Where is the syntax
now?

In fact this whole `syntaxless' thing is pretty much a red herring.
Imagine sonme linguistic purists got together and defined a Lisp wth no
construct which weren't just (op arg*).  Well, I'm a LOOP fan, so the
first thing I'd do, if someone were to force me to use such a Lisp,
would be to implement a macro called LOOP, which would have pretty much
the syntax of the CL LOOP.  Other people would implement macros with
names like FORMAT which, would have arguments which were *strings* with
obscure syntax in, horrors!  This process would continue until the
linguistic purists heads exploded, and the world became a better place.
In other words: if you want to be anal about your language (lack of)
syntax, don't have macros.

--tim
From: Pascal Bourguignon
Subject: Re: Is Lisp "syntaxless"? (was: Paul Graham's teaching style is bad)
Date: 
Message-ID: <874qn199o4.fsf@thalassa.informatimago.com>
···········@tfeb.org" <··········@tfeb.org> writes:
> In fact this whole `syntaxless' thing is pretty much a red herring.
> Imagine sonme linguistic purists got together and defined a Lisp wth no
> construct which weren't just (op arg*).  Well, I'm a LOOP fan, so the
> first thing I'd do, if someone were to force me to use such a Lisp,
> would be to implement a macro called LOOP, which would have pretty much
> the syntax of the CL LOOP.  Other people would implement macros with
> names like FORMAT which, would have arguments which were *strings* with
> obscure syntax in, horrors!  This process would continue until the
> linguistic purists heads exploded, and the world became a better place.
> In other words: if you want to be anal about your language (lack of)
> syntax, don't have macros.

And don't have more than one argument:

    (if cond then else) 

is not the same thing as:

    (if else cond then)



-- 
__Pascal Bourguignon__                     http://www.informatimago.com/

Our enemies are innovative and resourceful, and so are we. They never
stop thinking about new ways to harm our country and our people, and
neither do we.