<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>David R. MacIver &#187; arguments</title>
	<atom:link href="http://www.drmaciver.com/tag/arguments/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.drmaciver.com</link>
	<description></description>
	<lastBuildDate>Tue, 07 Feb 2012 11:12:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Axioms, definitions and agreement</title>
		<link>http://www.drmaciver.com/2009/06/axioms-definitions-and-agreement/</link>
		<comments>http://www.drmaciver.com/2009/06/axioms-definitions-and-agreement/#comments</comments>
		<pubDate>Sun, 28 Jun 2009 12:50:05 +0000</pubDate>
		<dc:creator>david</dc:creator>
				<category><![CDATA[Mathematics]]></category>
		<category><![CDATA[rambling nonsense]]></category>
		<category><![CDATA[arguments]]></category>
		<category><![CDATA[philosophy]]></category>

		<guid isPermaLink="false">http://www.drmaciver.com/?p=1169</guid>
		<description><![CDATA[A while ago I posted A Problem of Language, a response to an article claiming that Scala was not a functional language. This isn&#8217;t an attempt to revive that argument (and please don&#8217;t respond to it with such attempts. I&#8217;m likely to ignore or delete comments on the question of whether Scala is a functional [...]]]></description>
			<content:encoded><![CDATA[<p>A while ago I posted <a href="http://www.drmaciver.com/2009/05/a-problem-of-language/">A Problem of Language</a>, a response to an article claiming that Scala was not a functional language. This isn&#8217;t an attempt to revive that argument (and please don&#8217;t respond to it with such attempts. I&#8217;m likely to ignore or delete comments on the question of whether Scala is a functional language). It&#8217;s a post which is barely about programming, except by example. Really it&#8217;s a post about the philosophy of arguments. </p>
<p>My point was basically that without a definition of &#8220;functional language&#8221; (which no one had provided) it was a meaningless assertion to make.</p>
<p>Unfortunately this point isn&#8217;t really true. I think I knew that at the time of writing but glossed over it to avoid muddying the waters, as it&#8217;s false in a way that doesn&#8217;t detract from the basic point of the article, but it&#8217;s been bugging me slightly so I thought I&#8217;d elaborate on the point and the basic ideas.</p>
<p>Let&#8217;s start with what&#8217;s hopefully an unambiguous statement:</p>
<blockquote><p>
Brainfuck is not a functional language
</p></blockquote>
<p>Hopefully no one wants to argue the point. :-)</p>
<p>Well, why is brainfuck not a functional language? It doesn&#8217;t have functions!</p>
<p>So, we&#8217;re making the following claim:</p>
<blockquote><p>
A functional language must have a notion of function
</p></blockquote>
<p>(in order to make this fully formal you&#8217;d probably have to assert some more properties functions have to satisfy. I can&#8217;t be bothered to do that).</p>
<p>Hopefully this claim is uncontroversial. </p>
<p>But what have we done here? We&#8217;ve, based on commonly agreed statements, proved that Brainfuck is not functional without having defined &#8220;functional programming language&#8221;. i.e. my claim that you need a definition in order to meaningfully claim that a language is not functional is false.</p>
<p>What you need in order to make this claim is a <em>necessary condition</em> for the language to be functional. Then on showing that condition does not hold you have demonstrated the dysfunctionality of the language.</p>
<p>But how do we arrive at necessary conditions without a definition? Well, we simply assert them to be true and hope that people agree. If they do agree, we&#8217;ve achieved a basis on which we can conduct an argument. If they don&#8217;t agree, we need to try harder. </p>
<p>A lot of moral arguments come down to this sort of thing. Without wanting to get into details, things like arguments over abortion or homosexuality frequently come down to arguments over a basic tenet: Do you consider a fetus to be of equal value to a human life, do you consider homosexuality to be inherently wrong, etc. (what I said about arguments RE Scala holds in spades for arguments on these subjects). It&#8217;s very rare for one side to convince the other of anything by reasoned argument, because in order to construct a reasoned argument you have to find a point of agreement from which to argue and that point of agreement just isn&#8217;t there.</p>
<p>Mathematically speaking, what we&#8217;re talking about is an <a href="http://en.wikipedia.org/wiki/Axiom">Axiom</a>. Wikipedia says:</p>
<blockquote><p>
In traditional logic, an axiom or postulate is a proposition that is not proved or demonstrated but considered to be either self-evident, or subject to necessary decision. Therefore, its truth is taken for granted, and serves as a starting point for deducing and inferring other (theory dependent) truths.
</p></blockquote>
<p>I consider this definition to be true, but perhaps a bit obfuscated. I&#8217;d like to propose the following definition. It&#8217;s overly informal, but I find it&#8217;s a better way to think about it:</p>
<blockquote><p>
An axiom is a point which we agree to consider true without further discussion as a basis for arriving at an agreement.
</p></blockquote>
<p>(This may give the hardcore formalists a bit of a fit. If so, I apologise. :-) It is intended to be formalist more in spirit than letter )</p>
<p>The most important part of this is that axioms are <em>social tools</em>. They don&#8217;t have any sort of deeper truth or meaning, they&#8217;re just there to form a basis for the discussion. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.drmaciver.com/2009/06/axioms-definitions-and-agreement/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

