<?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 for Sententia cdsmithus</title>
	<atom:link href="http://cdsmith.wordpress.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://cdsmith.wordpress.com</link>
	<description>software, programming languages, and other ideas</description>
	<pubDate>Wed, 20 Aug 2008 11:14:52 +0000</pubDate>
	<generator>http://wordpress.org/?v=MU</generator>
		<item>
		<title>Comment on Why licenses don&#8217;t matter (and why they do) by liedra</title>
		<link>http://cdsmith.wordpress.com/2008/05/06/why-licenses-dont-matter-and-why-they-do/#comment-1028</link>
		<dc:creator>liedra</dc:creator>
		<pubDate>Wed, 30 Jul 2008 09:15:55 +0000</pubDate>
		<guid isPermaLink="false">http://cdsmith.wordpress.com/?p=51#comment-1028</guid>
		<description>I think you'll be surprised about how many people who choose the GPL for their project really have no idea what the actual requirements of that license are. I used to work for freshmeat.net and one of the email response boiler plates we had was one that basically said "you obviously don't understand the requirements of the GPL" (freshmeat doesn't deal solely with GPL'd software but we as staff were required to make sure the license they chose on the site matched the actual licenses, and we found so many bizarre ideas about what the GPL was that we had to make a boilerplate just for that -- one example was one that basically said that because the software was released under the GPL it meant "you can do whatever you want with it, because that's what the GPL means, freedom!" which is obviously wrong). I think a lot of those idealists really are just that, idealists! They're caught up with the GNU religion, essentially, latching on to the concept of "freedom" without understanding that the GNU version of freedom is a lot different from the normative concept of freedom! 

Anyway, I found this article really interesting :) Thanks!</description>
		<content:encoded><![CDATA[<p>I think you&#8217;ll be surprised about how many people who choose the GPL for their project really have no idea what the actual requirements of that license are. I used to work for freshmeat.net and one of the email response boiler plates we had was one that basically said &#8220;you obviously don&#8217;t understand the requirements of the GPL&#8221; (freshmeat doesn&#8217;t deal solely with GPL&#8217;d software but we as staff were required to make sure the license they chose on the site matched the actual licenses, and we found so many bizarre ideas about what the GPL was that we had to make a boilerplate just for that &#8212; one example was one that basically said that because the software was released under the GPL it meant &#8220;you can do whatever you want with it, because that&#8217;s what the GPL means, freedom!&#8221; which is obviously wrong). I think a lot of those idealists really are just that, idealists! They&#8217;re caught up with the GNU religion, essentially, latching on to the concept of &#8220;freedom&#8221; without understanding that the GNU version of freedom is a lot different from the normative concept of freedom! </p>
<p>Anyway, I found this article really interesting :) Thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on 37 Reasons to Love Haskell (playing off the Ruby article) by haskell programming</title>
		<link>http://cdsmith.wordpress.com/2007/07/29/37-reasons-to-love-haskell-playing-off-the-ruby-article/#comment-1027</link>
		<dc:creator>haskell programming</dc:creator>
		<pubDate>Wed, 30 Jul 2008 01:50:39 +0000</pubDate>
		<guid isPermaLink="false">http://cdsmith.wordpress.com/2007/07/29/37-reasons-to-love-haskell-playing-off-the-ruby-article/#comment-1027</guid>
		<description>&#62; 24. It (really) has no pointers.

what about Foreign.Ptr then there's Foreign.StablePtr and System.Memory.Weak</description>
		<content:encoded><![CDATA[<p>&gt; 24. It (really) has no pointers.</p>
<p>what about Foreign.Ptr then there&#8217;s Foreign.StablePtr and System.Memory.Weak</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Solving a Logic Problem with Coq by Pål GD</title>
		<link>http://cdsmith.wordpress.com/2008/05/04/solving-a-logic-problem-with-coq/#comment-1025</link>
		<dc:creator>Pål GD</dc:creator>
		<pubDate>Thu, 24 Jul 2008 07:52:23 +0000</pubDate>
		<guid isPermaLink="false">http://cdsmith.wordpress.com/?p=50#comment-1025</guid>
		<description>Okay, but I didn't find your one line FOL, and I don't know Coq so I seriously don't see what you have done. What is "Unnamed_thm" and what is "firstorder"?</description>
		<content:encoded><![CDATA[<p>Okay, but I didn&#8217;t find your one line FOL, and I don&#8217;t know Coq so I seriously don&#8217;t see what you have done. What is &#8220;Unnamed_thm&#8221; and what is &#8220;firstorder&#8221;?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Solving a Logic Problem with Coq by Paul Snively</title>
		<link>http://cdsmith.wordpress.com/2008/05/04/solving-a-logic-problem-with-coq/#comment-1024</link>
		<dc:creator>Paul Snively</dc:creator>
		<pubDate>Thu, 24 Jul 2008 01:18:37 +0000</pubDate>
		<guid isPermaLink="false">http://cdsmith.wordpress.com/?p=50#comment-1024</guid>
		<description>Sure, but this misses the point: it tells us a lot about the simplicity of the example rather than anything particularly compelling about either Prolog or Coq. First of all, the point of Coq is not to fully automate proof, although the firstorder tactic does everything that Prolog's resolution does, and more. Secondly, precisely because the Calculus of Inductive Constructions is more expressive than the decidable fragment of first-order logic that Prolog treats, cdsmith had to make certain things that are implicit in Prolog explicit, e.g. that the children are members of a set, that these members are disjoint, that if "youngest" or "oldest" are true of one then they are not true of another, that "youngest" and "oldest" are opposites, and so on. But once these non-problem-specific things are encoded, the actual problem encoding&#8212;Given1 and Given2&#8212;are direct from the problem description, and firstorder does indeed completely automate the proof.

But again, you should ignore most of that, because all it shows is that Coq does &lt;em&gt;at least as much&lt;/em&gt; as Prolog. What Coq is really for is helping people prove things that can't be automatically proven at all, e.g. the four-color map theorem, or that a compiler for a programming language correctly compiles all possible source programs into their semantically-identical respective target programs.</description>
		<content:encoded><![CDATA[<p>Sure, but this misses the point: it tells us a lot about the simplicity of the example rather than anything particularly compelling about either Prolog or Coq. First of all, the point of Coq is not to fully automate proof, although the firstorder tactic does everything that Prolog&#8217;s resolution does, and more. Secondly, precisely because the Calculus of Inductive Constructions is more expressive than the decidable fragment of first-order logic that Prolog treats, cdsmith had to make certain things that are implicit in Prolog explicit, e.g. that the children are members of a set, that these members are disjoint, that if &#8220;youngest&#8221; or &#8220;oldest&#8221; are true of one then they are not true of another, that &#8220;youngest&#8221; and &#8220;oldest&#8221; are opposites, and so on. But once these non-problem-specific things are encoded, the actual problem encoding&mdash;Given1 and Given2&mdash;are direct from the problem description, and firstorder does indeed completely automate the proof.</p>
<p>But again, you should ignore most of that, because all it shows is that Coq does <em>at least as much</em> as Prolog. What Coq is really for is helping people prove things that can&#8217;t be automatically proven at all, e.g. the four-color map theorem, or that a compiler for a programming language correctly compiles all possible source programs into their semantically-identical respective target programs.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Solving a Logic Problem with Coq by Pål GD</title>
		<link>http://cdsmith.wordpress.com/2008/05/04/solving-a-logic-problem-with-coq/#comment-1023</link>
		<dc:creator>Pål GD</dc:creator>
		<pubDate>Wed, 23 Jul 2008 21:31:40 +0000</pubDate>
		<guid isPermaLink="false">http://cdsmith.wordpress.com/?p=50#comment-1023</guid>
		<description>Cool, Prolog does it in three lines total.</description>
		<content:encoded><![CDATA[<p>Cool, Prolog does it in three lines total.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Solving a Logic Problem with Coq by Paul Snively</title>
		<link>http://cdsmith.wordpress.com/2008/05/04/solving-a-logic-problem-with-coq/#comment-1022</link>
		<dc:creator>Paul Snively</dc:creator>
		<pubDate>Wed, 23 Jul 2008 21:15:02 +0000</pubDate>
		<guid isPermaLink="false">http://cdsmith.wordpress.com/?p=50#comment-1022</guid>
		<description>FWIW, I posted a solution in Coq that, given the problem as formulated in this post, solves it with a single tactic: firstorder. My entire reply can be found &lt;a href="http://www.reddit.com/r/programming/comments/6t2ll/Solving_a_Logic_Problem_with_Coq/c04sm9a" rel="nofollow"&gt;here&lt;/a&gt;.</description>
		<content:encoded><![CDATA[<p>FWIW, I posted a solution in Coq that, given the problem as formulated in this post, solves it with a single tactic: firstorder. My entire reply can be found <a href="http://www.reddit.com/r/programming/comments/6t2ll/Solving_a_Logic_Problem_with_Coq/c04sm9a" rel="nofollow">here</a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Solving a Logic Problem with Coq by Pål GD</title>
		<link>http://cdsmith.wordpress.com/2008/05/04/solving-a-logic-problem-with-coq/#comment-1021</link>
		<dc:creator>Pål GD</dc:creator>
		<pubDate>Wed, 23 Jul 2008 19:12:50 +0000</pubDate>
		<guid isPermaLink="false">http://cdsmith.wordpress.com/?p=50#comment-1021</guid>
		<description>Karl: Haha, my thought exactly. Been a while since I've been working with prolog, but I ended up with something like you. That's what, 3 lines in Prolog vs. 30 in Coq? Coq has been outsmarted.</description>
		<content:encoded><![CDATA[<p>Karl: Haha, my thought exactly. Been a while since I&#8217;ve been working with prolog, but I ended up with something like you. That&#8217;s what, 3 lines in Prolog vs. 30 in Coq? Coq has been outsmarted.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Is TIOBE Fatally Flawed? by Tom</title>
		<link>http://cdsmith.wordpress.com/2007/06/18/is-tiobe-fatally-flawed/#comment-1020</link>
		<dc:creator>Tom</dc:creator>
		<pubDate>Wed, 23 Jul 2008 15:09:34 +0000</pubDate>
		<guid isPermaLink="false">http://cdsmith.wordpress.com/2007/06/18/is-tiobe-fatally-flawed/#comment-1020</guid>
		<description>As an argument for this, take a look here:

http://lui.arbingersys.com/index.html

and you'll see that graphs that show language USAGE show much higher rate for C# than the search for c# programming. Also, if they looked at the Codeplex repositories, they'd probably see even more of C# in the big picture.</description>
		<content:encoded><![CDATA[<p>As an argument for this, take a look here:</p>
<p><a href="http://lui.arbingersys.com/index.html" rel="nofollow">http://lui.arbingersys.com/index.html</a></p>
<p>and you&#8217;ll see that graphs that show language USAGE show much higher rate for C# than the search for c# programming. Also, if they looked at the Codeplex repositories, they&#8217;d probably see even more of C# in the big picture.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Is TIOBE Fatally Flawed? by Tom</title>
		<link>http://cdsmith.wordpress.com/2007/06/18/is-tiobe-fatally-flawed/#comment-1019</link>
		<dc:creator>Tom</dc:creator>
		<pubDate>Wed, 23 Jul 2008 15:03:21 +0000</pubDate>
		<guid isPermaLink="false">http://cdsmith.wordpress.com/2007/06/18/is-tiobe-fatally-flawed/#comment-1019</guid>
		<description>ASP.NET is not on the list because it's not a programming language. You can use C#, VB.Net, Boo, or any .NET language to write an ASP.NET web application. 
And, that is another problem in TIOBE index, at least regarding .NET languages. The fact is that the main language names (C#, VB.NET) are seldom used in blog posts. They are more used in basic articles or overviews of the language. .NET blogs are more concerned with some technology within .Net, so there are blogs about ASP.NET, Ajax, WCF, WPF, CLI, but rarely people write about C# or VB.NET itself.</description>
		<content:encoded><![CDATA[<p>ASP.NET is not on the list because it&#8217;s not a programming language. You can use C#, VB.Net, Boo, or any .NET language to write an ASP.NET web application.<br />
And, that is another problem in TIOBE index, at least regarding .NET languages. The fact is that the main language names (C#, VB.NET) are seldom used in blog posts. They are more used in basic articles or overviews of the language. .NET blogs are more concerned with some technology within .Net, so there are blogs about ASP.NET, Ajax, WCF, WPF, CLI, but rarely people write about C# or VB.NET itself.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Is TIOBE Fatally Flawed? by Crusher</title>
		<link>http://cdsmith.wordpress.com/2007/06/18/is-tiobe-fatally-flawed/#comment-1018</link>
		<dc:creator>Crusher</dc:creator>
		<pubDate>Tue, 22 Jul 2008 09:55:41 +0000</pubDate>
		<guid isPermaLink="false">http://cdsmith.wordpress.com/2007/06/18/is-tiobe-fatally-flawed/#comment-1018</guid>
		<description>I wonder... why ASP.NET does not belong to the list?</description>
		<content:encoded><![CDATA[<p>I wonder&#8230; why ASP.NET does not belong to the list?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
