A Tangential Discourse on Lisp and the Lineage of Languages

Levi Pearson levi at cold.org
Sun Mar 12 23:04:47 MST 2006

On Mar 12, 2006, at 6:19 PM, Jonathan Ellis wrote:

> On Sat, 11 Mar 2006 16:07:21 -0700, "Levi Pearson" <levi at cold.org>  
> said:
>> If you read through that, you'll see that [Lisp] includes two  
>> kinds of
>> expressions, s-expressions (which are fully-parenthesized, and the
>> native data format) and m-expressions that use brackets and a more
>> math-like notation (with the operator on the outside of the
>> brackets).  In the years that followed, programmers rejected the m-
>> expressions in favor of the s-expressions that make up today's
>> Lisps.  Hmm, maybe there's some value to the 'weird' syntax after
>> all, eh?
> John McCarthy said that people essentially got used to s-expressions,
> and m-expressions were never implemented
> (http://en.wikipedia.org/wiki/M-expression), which isn't quite the  
> same
> as your spin implies. :)

I don't think I implied anything different than that Wikipedia quote  
suggests.  He said that 'a new generation of programmers appeared who  
preferred S-expressions to any FORTRAN-like or ALGOL-like notation  
that could be devised', which seems like a pretty solid rejection of  
the m-expression idea to me.  It wasn't implemented because, by the  
time people got used to s-expressions, which were the core of the  
system, no one wanted to bother with the m-expression layer on top,  
despite the fact that it was included in the original paper.

So, I say again, maybe there's some value to the 'weird' syntax after  
all, eh?

For a more modern attempt at applying Algol syntax to Lisp, see the  
Dylan language.  And take note that it's used even less than Common  
Lisp, not that I don't think it's a pretty nice language itself.  The  
syntax didn't really help it gain a significant user population, and  
it reduces the ease with which metaprogramming can be done in it.   
But if the only thing keeping you from Lisp is parentheses, it's  
certainly worth a look.


More information about the PLUG mailing list