<?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"
	>
<channel>
	<title>Comments on: New ErlSQL Feature: Lisp-style Operator Expansion</title>
	<atom:link href="http://yarivsblog.com/articles/2006/09/19/new-erlsql-feature-lisp-style-operator-expansion/feed/" rel="self" type="application/rss+xml" />
	<link>http://yarivsblog.com/articles/2006/09/19/new-erlsql-feature-lisp-style-operator-expansion/</link>
	<description>Adventures in Open Source Erlang</description>
	<pubDate>Fri, 16 May 2008 03:46:25 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>By: Yariv</title>
		<link>http://yarivsblog.com/articles/2006/09/19/new-erlsql-feature-lisp-style-operator-expansion/#comment-92952</link>
		<dc:creator>Yariv</dc:creator>
		<pubDate>Thu, 31 Jan 2008 09:36:56 +0000</pubDate>
		<guid isPermaLink="false">#comment-92952</guid>
		<description>It is a bit late :) In designing this feature, I decided to follow Erlang's convention of using tuples where the number of elements is fixed, and lists where it's variable. I'm not too worried about the efficiency, and I recognize it may be a bit confusing to read, but if you remind yourself that think tuple = fixed and list = variable, it will be easier to digest.</description>
		<content:encoded><![CDATA[<p>It is a bit late :) In designing this feature, I decided to follow Erlang&#8217;s convention of using tuples where the number of elements is fixed, and lists where it&#8217;s variable. I&#8217;m not too worried about the efficiency, and I recognize it may be a bit confusing to read, but if you remind yourself that think tuple = fixed and list = variable, it will be easier to digest.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marcelo Cantos</title>
		<link>http://yarivsblog.com/articles/2006/09/19/new-erlsql-feature-lisp-style-operator-expansion/#comment-92895</link>
		<dc:creator>Marcelo Cantos</dc:creator>
		<pubDate>Thu, 31 Jan 2008 07:49:20 +0000</pubDate>
		<guid isPermaLink="false">#comment-92895</guid>
		<description>Sorry, for coming late to the party, but it seems to me that mixing tuples and lists isn't helping the cause. This can be remedied by converting every 2-tuple {A,B} to a list [A&#124;B].

original: {where,{'=',[{'+',[a,b,c]},{'+',[d,e,f]}]}}}
pure lists: [where,'=',['+',a,b,c],['+',d,e,f]]

Still not on par with Lisp, but quite an improvement, I think. Also, if a 2-tuple is identical to a cons cell, the storage and computational efficiency could well be the same.</description>
		<content:encoded><![CDATA[<p>Sorry, for coming late to the party, but it seems to me that mixing tuples and lists isn&#8217;t helping the cause. This can be remedied by converting every 2-tuple {A,B} to a list [A|B].</p>
<p>original: {where,{&#8217;=',[{'+',[a,b,c]},{&#8217;+',[d,e,f]}]}}}<br />
pure lists: [where,'=',['+',a,b,c],['+',d,e,f]]</p>
<p>Still not on par with Lisp, but quite an improvement, I think. Also, if a 2-tuple is identical to a cons cell, the storage and computational efficiency could well be the same.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: LoRd</title>
		<link>http://yarivsblog.com/articles/2006/09/19/new-erlsql-feature-lisp-style-operator-expansion/#comment-65270</link>
		<dc:creator>LoRd</dc:creator>
		<pubDate>Sun, 25 Nov 2007 21:52:49 +0000</pubDate>
		<guid isPermaLink="false">#comment-65270</guid>
		<description>Hi Yariv,

I am really have a problem to write a SQL func  for mnesia. Can you give me an  SQL example for mnesia  using GROUP BY  statement.?

many thanks</description>
		<content:encoded><![CDATA[<p>Hi Yariv,</p>
<p>I am really have a problem to write a SQL func  for mnesia. Can you give me an  SQL example for mnesia  using GROUP BY  statement.?</p>
<p>many thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dennis</title>
		<link>http://yarivsblog.com/articles/2006/09/19/new-erlsql-feature-lisp-style-operator-expansion/#comment-365</link>
		<dc:creator>Dennis</dc:creator>
		<pubDate>Mon, 25 Sep 2006 16:39:44 +0000</pubDate>
		<guid isPermaLink="false">#comment-365</guid>
		<description>What lisp syntax? :)</description>
		<content:encoded><![CDATA[<p>What lisp syntax? :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Yariv</title>
		<link>http://yarivsblog.com/articles/2006/09/19/new-erlsql-feature-lisp-style-operator-expansion/#comment-362</link>
		<dc:creator>Yariv</dc:creator>
		<pubDate>Fri, 22 Sep 2006 15:19:45 +0000</pubDate>
		<guid isPermaLink="false">#comment-362</guid>
		<description>It sounds like you made something interesting, but I wouldn't want you to spend much time refining it because I probably wouldn't have immediate use for it. However, other people may find it useful. It's your call.</description>
		<content:encoded><![CDATA[<p>It sounds like you made something interesting, but I wouldn&#8217;t want you to spend much time refining it because I probably wouldn&#8217;t have immediate use for it. However, other people may find it useful. It&#8217;s your call.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Polli</title>
		<link>http://yarivsblog.com/articles/2006/09/19/new-erlsql-feature-lisp-style-operator-expansion/#comment-361</link>
		<dc:creator>Polli</dc:creator>
		<pubDate>Fri, 22 Sep 2006 01:06:06 +0000</pubDate>
		<guid isPermaLink="false">#comment-361</guid>
		<description>&lt;p&gt;
No, I haven't open sourced. I guess I don't feel that its "ready" and there are a few quirky part left undone (read memory management).. nor have I looked at the code a few months.
&lt;/p&gt;
&lt;p&gt;
However, if you (or anyone else) like to try it out, I could make the code available somewhere and call it a pre-alpha release.
&lt;/p&gt;</description>
		<content:encoded><![CDATA[<p>
No, I haven&#8217;t open sourced. I guess I don&#8217;t feel that its &#8220;ready&#8221; and there are a few quirky part left undone (read memory management).. nor have I looked at the code a few months.
</p>
<p>
However, if you (or anyone else) like to try it out, I could make the code available somewhere and call it a pre-alpha release.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Yariv</title>
		<link>http://yarivsblog.com/articles/2006/09/19/new-erlsql-feature-lisp-style-operator-expansion/#comment-360</link>
		<dc:creator>Yariv</dc:creator>
		<pubDate>Thu, 21 Sep 2006 21:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-360</guid>
		<description>Hi Polli, your library sounds very cool. Did you open source it by any chance? I've never heard of a small Lispy language capable of programming Java GUIs, which in general are far from Lispy. On the mailing list, there's has been some discussion about using parse-transforms, but I haven't looked into it myself. It sounds like an approach worth exploring, though.</description>
		<content:encoded><![CDATA[<p>Hi Polli, your library sounds very cool. Did you open source it by any chance? I&#8217;ve never heard of a small Lispy language capable of programming Java GUIs, which in general are far from Lispy. On the mailing list, there&#8217;s has been some discussion about using parse-transforms, but I haven&#8217;t looked into it myself. It sounds like an approach worth exploring, though.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Polli</title>
		<link>http://yarivsblog.com/articles/2006/09/19/new-erlsql-feature-lisp-style-operator-expansion/#comment-359</link>
		<dc:creator>Polli</dc:creator>
		<pubDate>Thu, 21 Sep 2006 03:06:43 +0000</pubDate>
		<guid isPermaLink="false">#comment-359</guid>
		<description>&lt;p&gt;
I haven't looked at ErlSQL or ErlDB anything but I find this approach interesting. I have myself designed an embedded language (or what you want to call it) when implementing a GUI-lib that uses SWT[1]. 
&lt;/p&gt;
&lt;p&gt;
This micro language also had very much in common with Lisp. The language has the basic n-ary operators ('+','-', 'and', ..), a few keywords ('set', 'get', ..) and a few other operators ('call', 'new',..).
&lt;/p&gt;
&lt;p&gt;
Using these building blocks you construct large expressions that you encode and send to an external SWT Server (a running java application) that receives, decodes and interprets it.
&lt;/p&gt;
&lt;p&gt;
The result is a quite nifty micro language, that has Erlang its meta language. The result is an odd GUI-library, that makes it quite fun to write GUI applications!*
&lt;/p&gt;
&lt;p&gt;
Have you thought about using parse transforms to create your SQL-expressions? I have not given it much thought but I remember it crossing my mind a few times, while playing around with my library.
&lt;/p&gt;

&lt;p&gt;
*: Unfortunately, I think you need to know about OO and Java to use it efficiently.
&lt;/p&gt;
&lt;p&gt;
[1]: &lt;a href="http://www.eclipse.org/swt/" rel="nofollow"&gt;http://www.eclipse.org/swt/&lt;/a&gt;
&lt;/p&gt;</description>
		<content:encoded><![CDATA[<p>
I haven&#8217;t looked at ErlSQL or ErlDB anything but I find this approach interesting. I have myself designed an embedded language (or what you want to call it) when implementing a GUI-lib that uses SWT[1].
</p>
<p>
This micro language also had very much in common with Lisp. The language has the basic n-ary operators (&#8217;+',&#8217;-', &#8216;and&#8217;, ..), a few keywords (&#8217;set&#8217;, &#8216;get&#8217;, ..) and a few other operators (&#8217;call&#8217;, &#8216;new&#8217;,..).
</p>
<p>
Using these building blocks you construct large expressions that you encode and send to an external SWT Server (a running java application) that receives, decodes and interprets it.
</p>
<p>
The result is a quite nifty micro language, that has Erlang its meta language. The result is an odd GUI-library, that makes it quite fun to write GUI applications!*
</p>
<p>
Have you thought about using parse transforms to create your SQL-expressions? I have not given it much thought but I remember it crossing my mind a few times, while playing around with my library.
</p>
<p>
*: Unfortunately, I think you need to know about OO and Java to use it efficiently.
</p>
<p>
[1]: <a href="http://www.eclipse.org/swt/" rel="nofollow">http://www.eclipse.org/swt/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Markus</title>
		<link>http://yarivsblog.com/articles/2006/09/19/new-erlsql-feature-lisp-style-operator-expansion/#comment-358</link>
		<dc:creator>Markus</dc:creator>
		<pubDate>Wed, 20 Sep 2006 15:36:29 +0000</pubDate>
		<guid isPermaLink="false">#comment-358</guid>
		<description>Many Lisps allow "=" with an arbitrary number of arguments, i.e. 
(= a b c d ...) 
evaluates to #t iff all arguments are equal.
</description>
		<content:encoded><![CDATA[<p>Many Lisps allow &#8220;=&#8221; with an arbitrary number of arguments, i.e.<br />
(= a b c d &#8230;)<br />
evaluates to #t iff all arguments are equal.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Yariv</title>
		<link>http://yarivsblog.com/articles/2006/09/19/new-erlsql-feature-lisp-style-operator-expansion/#comment-357</link>
		<dc:creator>Yariv</dc:creator>
		<pubDate>Wed, 20 Sep 2006 08:41:43 +0000</pubDate>
		<guid isPermaLink="false">#comment-357</guid>
		<description>Demius, unfortunately the commas are necessary according to Erlang's syntax rules. In some cases, Lisp code looks better than Erlang code, and DSELs is apparently one of them :) Sometimes I wish Erlang were a bit more Lispy, but then again I often find Erlang code more readable than Lisp. It's a give-and-take. But I agree -- in this particular example, Lisp wins hands on.</description>
		<content:encoded><![CDATA[<p>Demius, unfortunately the commas are necessary according to Erlang&#8217;s syntax rules. In some cases, Lisp code looks better than Erlang code, and DSELs is apparently one of them :) Sometimes I wish Erlang were a bit more Lispy, but then again I often find Erlang code more readable than Lisp. It&#8217;s a give-and-take. But I agree &#8212; in this particular example, Lisp wins hands on.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
