<?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>William C. Benton &#187; PL</title>
	<atom:link href="http://web.willbenton.com/regarding/pl/feed" rel="self" type="application/rss+xml" />
	<link>http://web.willbenton.com</link>
	<description></description>
	<lastBuildDate>Fri, 09 Sep 2011 15:40:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>On &#8220;dynamic typing&#8221;</title>
		<link>http://willbenton.com/feeder/?FeederAction=clicked&#038;feed=web.wb+&#038;seed=http%3A%2F%2Fweb.willbenton.com%2Fwriting%2F2005%2Fon-dynamic-typing&#038;seed_title=On+%26%238220%3Bdynamic+typing%26%238221%3B</link>
		<comments>http://willbenton.com/feeder/?FeederAction=clicked&#038;feed=web.wb+&#038;seed=http%3A%2F%2Fweb.willbenton.com%2Fwriting%2F2005%2Fon-dynamic-typing&#038;seed_title=On+%26%238220%3Bdynamic+typing%26%238221%3B#comments</comments>
		<pubDate>Fri, 09 Sep 2005 23:23:13 +0000</pubDate>
		<dc:creator>wb</dc:creator>
				<category><![CDATA[PL]]></category>
		<category><![CDATA[dynamic]]></category>
		<category><![CDATA[static]]></category>
		<category><![CDATA[type-systems]]></category>

		<guid isPermaLink="false">http://web.willbenton.com/?p=7</guid>
		<description><![CDATA[The expression “dynamic typing” is internally incoherent and should be replaced with something more accurate. Instead, we should call “dynamically typed” languages what they are: untyped. A type is a range of values. A typed language, in Cardelli&#8217;s magisterial formulation, is one in which variables can be ascribed nontrivial types. Note that this must be [...]]]></description>
			<content:encoded><![CDATA[<p>The expression “dynamic typing” is internally incoherent and should be replaced with something more accurate.  Instead, we should call “dynamically typed” languages what they are:  <strong>untyped</strong>.</p>
<p>A <strong>type</strong> is a range of values.  A <strong>typed language</strong>, in Cardelli&#8217;s magisterial formulation, is one in which variables can be ascribed nontrivial types.  Note that this <em>must</em> be a static property!  Perhaps advocates of the term “dynamic typing” mean that the type of a variable may change with assignment.  Such a claim, however, is vacuously true for untyped languages &#8212; the range of values a variable may hold can always change with assignment.  (This does not mean that a variable in an untyped language may be ascribed a type!)  It should be clear that if the “type” of a variable may change with assignment, then the variable does not have a type at all.</p>
<p>To talk sensibly about types, we should follow Cardelli&#8217;s example and decouple discussion of typing from discussion of safety.  I suspect that what most people mean by “dynamically typed” is “untyped but safe” &#8212; viz., an untyped language in which operations are checked at runtime to ensure that they are valid for the  given operand values.</p>
]]></content:encoded>
			<wfw:commentRss>http://willbenton.com/feeder/?FeederAction=clicked&#038;feed=web.wb+&#038;seed=http%3A%2F%2Fweb.willbenton.com%2Fwriting%2F2005%2Fon-dynamic-typing&#038;seed_title=On+%26%238220%3Bdynamic+typing%26%238221%3B/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

