<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>
<channel>
	<title>Comments on: The parentheses of Lisp</title>
	<atom:link href="http://eli.thegreenplace.net/2006/11/10/the-parentheses-of-lisp/feed/" rel="self" type="application/rss+xml" />
	<link>http://eli.thegreenplace.net/2006/11/10/the-parentheses-of-lisp/</link>
	<description>Eli Bendersky's personal website</description>
	<pubDate>Thu, 08 Jan 2009 00:30:42 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Bill Birch</title>
		<link>http://eli.thegreenplace.net/2006/11/10/the-parentheses-of-lisp/comment-page-1/#comment-27084</link>
		<dc:creator>Bill Birch</dc:creator>
		<pubDate>Thu, 04 Jan 2007 03:09:08 +0000</pubDate>
		<guid isPermaLink="false">http://eli.thegreenplace.net/2006/11/10/the-parentheses-of-lisp/#comment-27084</guid>
		<description>Since this is probably about my post I feel I should reply. Just because Python has significant whitespace, does not mean we have to use all the rest of Python syntax.  That would be madness IMHO.

Actually the proposal does not change the best qualities of Lisp. The code-data duality is preserved. The only addition is that 'significant whitespace' can be used to lay out lists. And lists are how you write code. Read the intro here: http://www.lispin.org/wiki?page=default/IntroductionToLispin.  This is not a big change really.</description>
		<content:encoded><![CDATA[<p>Since this is probably about my post I feel I should reply. Just because Python has significant whitespace, does not mean we have to use all the rest of Python syntax.  That would be madness IMHO.</p>
<p>Actually the proposal does not change the best qualities of Lisp. The code-data duality is preserved. The only addition is that &#8217;significant whitespace&#8217; can be used to lay out lists. And lists are how you write code. Read the intro here: <a href="http://www.lispin.org/wiki?page=default/IntroductionToLispin" rel="nofollow">http://www.lispin.org/wiki?page=default/IntroductionToLispin</a>.  This is not a big change really.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Piggy Ziggy</title>
		<link>http://eli.thegreenplace.net/2006/11/10/the-parentheses-of-lisp/comment-page-1/#comment-7120</link>
		<dc:creator>Piggy Ziggy</dc:creator>
		<pubDate>Fri, 10 Nov 2006 20:01:58 +0000</pubDate>
		<guid isPermaLink="false">http://eli.thegreenplace.net/2006/11/10/the-parentheses-of-lisp/#comment-7120</guid>
		<description>Parentheses or whitespace, the uniform-representation power of lisp remains. Lisp "source" that the compiler operations on is defined in terms of lisp objects.  

It goes:
 external form (written lisp, usually sexps ) --lisp reader--&#62; lisp object tree (source form, tree/lists made of conses and atoms) --macroexpander--&#62; macroexpanded lisp object tree (like C post CPP application) --evaluator/compiler--&#62;...

The external format of lisp isn't that relevant to the raw power of lisp. I don't like whitespace because my brain doesn't key off it. But if the parens were some other character pair, I'd be happy enough.

Programmers learn that in C or Java, lots of parentheses means "big complicated expression where some, but not necessarily all, precedence rules are being overridden". 

But parens are different in Lisp, they're either just delimiters or all expressions are fully parenthesised, so there is no conflict with precedence to worry about resolving, either way, nor need to be scared.

 Changing the characters to something else might bypass that to help a non-lispers brain get over their false associations that () bring.  Whitespace is just one such strategy for that.  

Consider:

\defun fact \n/
   \if \</description>
		<content:encoded><![CDATA[<p>Parentheses or whitespace, the uniform-representation power of lisp remains. Lisp &#8220;source&#8221; that the compiler operations on is defined in terms of lisp objects.  </p>
<p>It goes:<br />
 external form (written lisp, usually sexps ) &#8211;lisp reader&#8211;&gt; lisp object tree (source form, tree/lists made of conses and atoms) &#8211;macroexpander&#8211;&gt; macroexpanded lisp object tree (like C post CPP application) &#8211;evaluator/compiler&#8211;&gt;&#8230;</p>
<p>The external format of lisp isn&#8217;t that relevant to the raw power of lisp. I don&#8217;t like whitespace because my brain doesn&#8217;t key off it. But if the parens were some other character pair, I&#8217;d be happy enough.</p>
<p>Programmers learn that in C or Java, lots of parentheses means &#8220;big complicated expression where some, but not necessarily all, precedence rules are being overridden&#8221;. </p>
<p>But parens are different in Lisp, they&#8217;re either just delimiters or all expressions are fully parenthesised, so there is no conflict with precedence to worry about resolving, either way, nor need to be scared.</p>
<p> Changing the characters to something else might bypass that to help a non-lispers brain get over their false associations that () bring.  Whitespace is just one such strategy for that.  </p>
<p>Consider:</p>
<p>\defun fact \n/<br />
   \if \</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Allen</title>
		<link>http://eli.thegreenplace.net/2006/11/10/the-parentheses-of-lisp/comment-page-1/#comment-7119</link>
		<dc:creator>Jonathan Allen</dc:creator>
		<pubDate>Fri, 10 Nov 2006 19:29:58 +0000</pubDate>
		<guid isPermaLink="false">http://eli.thegreenplace.net/2006/11/10/the-parentheses-of-lisp/#comment-7119</guid>
		<description>Having the power to express code as data doesn't mean you should always express code as data.

There is no rule that says if you have syntax A, which is easy to write code against, you cannot also have syntax B, which is easy for humans to read.</description>
		<content:encoded><![CDATA[<p>Having the power to express code as data doesn&#8217;t mean you should always express code as data.</p>
<p>There is no rule that says if you have syntax A, which is easy to write code against, you cannot also have syntax B, which is easy for humans to read.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pupeno</title>
		<link>http://eli.thegreenplace.net/2006/11/10/the-parentheses-of-lisp/comment-page-1/#comment-7115</link>
		<dc:creator>Pupeno</dc:creator>
		<pubDate>Fri, 10 Nov 2006 18:40:27 +0000</pubDate>
		<guid isPermaLink="false">http://eli.thegreenplace.net/2006/11/10/the-parentheses-of-lisp/#comment-7115</guid>
		<description>I think the matter is simple. Almost all the people that want to remove parenthesis from Lisp (like I wanted long ago) haven't yet understood that source code is data, that it is a tree expressed by lists and that you can manipulate it.
The moment I understood that I stopped wanting to get rid of parenthesis.
I think it is inevitable that newcomers want to get rid of parenthesis, my advice would be to ignore that desire and continue learning. Experienced Lispers should repeat that over and over and over to them.</description>
		<content:encoded><![CDATA[<p>I think the matter is simple. Almost all the people that want to remove parenthesis from Lisp (like I wanted long ago) haven&#8217;t yet understood that source code is data, that it is a tree expressed by lists and that you can manipulate it.<br />
The moment I understood that I stopped wanting to get rid of parenthesis.<br />
I think it is inevitable that newcomers want to get rid of parenthesis, my advice would be to ignore that desire and continue learning. Experienced Lispers should repeat that over and over and over to them.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Phil Dawes</title>
		<link>http://eli.thegreenplace.net/2006/11/10/the-parentheses-of-lisp/comment-page-1/#comment-7091</link>
		<dc:creator>Phil Dawes</dc:creator>
		<pubDate>Fri, 10 Nov 2006 14:53:28 +0000</pubDate>
		<guid isPermaLink="false">http://eli.thegreenplace.net/2006/11/10/the-parentheses-of-lisp/#comment-7091</guid>
		<description>Have you seen &lt;a href="http://www.dwheeler.com/readable/readable-s-expressions.html" rel="nofollow"&gt;this?&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>Have you seen <a href="http://www.dwheeler.com/readable/readable-s-expressions.html" rel="nofollow">this?</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Cale Gibbard</title>
		<link>http://eli.thegreenplace.net/2006/11/10/the-parentheses-of-lisp/comment-page-1/#comment-7083</link>
		<dc:creator>Cale Gibbard</dc:creator>
		<pubDate>Fri, 10 Nov 2006 13:46:33 +0000</pubDate>
		<guid isPermaLink="false">http://eli.thegreenplace.net/2006/11/10/the-parentheses-of-lisp/#comment-7083</guid>
		<description>I don't know if I feel the same way as you about this idea. The proposal you're describing wouldn't change the abstract syntax of lisp (which is what really matters for all the code-as-data stuff anyway), it's basically just a change to the lexical syntax, giving the user another way to input what are essentially trees. 

One could even make this change at the editor level -- designing an editor which hid parentheses according to some indentation rules even though it's really saving them into the file.

Really, we shouldn't be so concerned if people want to display lisp code graphically as a tree display or in any number of other ways. It's the uniformity of abstract syntax, not the concrete syntax which matters.</description>
		<content:encoded><![CDATA[<p>I don&#8217;t know if I feel the same way as you about this idea. The proposal you&#8217;re describing wouldn&#8217;t change the abstract syntax of lisp (which is what really matters for all the code-as-data stuff anyway), it&#8217;s basically just a change to the lexical syntax, giving the user another way to input what are essentially trees. </p>
<p>One could even make this change at the editor level &#8212; designing an editor which hid parentheses according to some indentation rules even though it&#8217;s really saving them into the file.</p>
<p>Really, we shouldn&#8217;t be so concerned if people want to display lisp code graphically as a tree display or in any number of other ways. It&#8217;s the uniformity of abstract syntax, not the concrete syntax which matters.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Johan Tibell</title>
		<link>http://eli.thegreenplace.net/2006/11/10/the-parentheses-of-lisp/comment-page-1/#comment-7082</link>
		<dc:creator>Johan Tibell</dc:creator>
		<pubDate>Fri, 10 Nov 2006 13:27:39 +0000</pubDate>
		<guid isPermaLink="false">http://eli.thegreenplace.net/2006/11/10/the-parentheses-of-lisp/#comment-7082</guid>
		<description>I guess one argument that could be made is that the syntax or lack of syntax is worth less than readability. Other languages might gain something by sacrificing the code-is-data property.</description>
		<content:encoded><![CDATA[<p>I guess one argument that could be made is that the syntax or lack of syntax is worth less than readability. Other languages might gain something by sacrificing the code-is-data property.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
