<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" media="screen" href="/styles/xslt/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:c9="http://channel9.msdn.com">
<channel>
	<title>Comment Feed for Channel 9 - Andrew Kennedy: F# Units of Measure</title>
	<atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure/RSS"></atom:link>
	<image>
		<url>http://ecn.channel9.msdn.com/o9/previewImages/100/488754_100x75.jpg</url>
		<title>Channel 9 - Andrew Kennedy: F# Units of Measure</title>
		<link></link>
	</image>
	<description>Floating point values in F# can have associated 
units of measure, which are typically used to indicate length, volume, mass, and so on. The built-in type float takes an optional unit-of-measure parameter, written in angle brackets, in a similar way that types such as IEnumerable take a
type parameter, as in IEnumerable&amp;lt;int&amp;gt;.By using quantities with units, you enable the compiler to verify that arithmetic relationships have the correct units, which helps prevent programming errors like the one that led to NASA&#39;s Mars Climate Orbiter being

lost in September 1999. This was&amp;nbsp;due to&amp;nbsp;confusion between 
metric and so-called &amp;quot;English&amp;quot;

units of measurement.&amp;nbsp; The accident could have been prevented if the NASA engineers had been able to annotate their program code with units, and then employed static analysis tools or language-level type-checking to detect and fix any unit errors.Andrew Kennedy&amp;nbsp;is an MSR research scientist who implemented units of measure for F#. What did this involve? How does it work, exactly? What&#39;s next? Meet Andrew
 and learn all about F#&#39;s latest language feature, units of measure.Enjoy. Information sources: http://msdn.com and&amp;nbsp;http://blogs.msdn.com/andrewkennedy/
</description>
	<link></link>
	<language>en</language>
	<pubDate>Fri, 24 May 2013 18:10:34 GMT</pubDate>
	<lastBuildDate>Fri, 24 May 2013 18:10:34 GMT</lastBuildDate>
	<generator>Rev9</generator>
	<item>
		<title>Re: Andrew Kennedy: F# Units of Measure</title>
		<description>
			<![CDATA[
<p>I was very impressed when seeing units of measure in F# the first time and believe it's a great selling point for the language.</p>
<p>posted by exoteric</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure#c633892539560000000</link>
		<pubDate>Tue, 22 Sep 2009 22:05:56 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure#c633892539560000000</guid>
		<dc:creator>exoteric</dc:creator>
	</item>
	<item>
		<title>Re: Andrew Kennedy: F# Units of Measure</title>
		<description>
			<![CDATA[
<p>Thanks, I find this very interesting.&nbsp; I imagine it can be helpful in many situations.&nbsp;
</p>
<p>posted by Richard.Hein</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure#c633892677180000000</link>
		<pubDate>Wed, 23 Sep 2009 01:55:18 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure#c633892677180000000</guid>
		<dc:creator>Richard.Hein</dc:creator>
	</item>
	<item>
		<title>Re: Andrew Kennedy: F# Units of Measure</title>
		<description>
			<![CDATA[
<p>Very interesting ...and deep ... another nice interview Charles!</p>
<p>&nbsp;</p>
<p>We've seen Don Syme several times on C9 ... its nice to finally see Andrew Kennedy!</p>
<p>&nbsp;</p>
<p>However ...&nbsp; the code is <strong>completely unreadable</strong>!!! <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-7.gif' alt='Perplexed' /> C'mon cant you guys ever use a larger font? Try 14 please!! Or Just use the new Zoom feature in the VS2010 editor!!
</p>
<p>&nbsp;</p>
<p>I'd like to actually <strong>see</strong> the code!!!</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>posted by keithfl</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure#c633892800110000000</link>
		<pubDate>Wed, 23 Sep 2009 05:20:11 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure#c633892800110000000</guid>
		<dc:creator>keithfl</dc:creator>
	</item>
	<item>
		<title>Re: Andrew Kennedy: F# Units of Measure</title>
		<description>
			<![CDATA[
<p>One of my favorite F# features. Thanks for this great interview!</p>
<p>(and unfortunately keithfl is right about the unreadable code <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-8.gif' alt='Expressionless' /> )<a id="ctl00_MainPlaceHolder_EntryList_ctl03_EntryTemplate_UsernameLink" href="../../../Niners/keithfl/"><span id="ctl00_MainPlaceHolder_EntryList_ctl03_EntryTemplate_UsernameLabel"><br /></span></a></p>
<p>posted by Novox</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure#c633892903470000000</link>
		<pubDate>Wed, 23 Sep 2009 08:12:27 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure#c633892903470000000</guid>
		<dc:creator>Novox</dc:creator>
	</item>
	<item>
		<title>Re: Andrew Kennedy: F# Units of Measure</title>
		<description>
			<![CDATA[
<p>interesting <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /> so this is strictly a compile time feature? its not &quot;generics&quot; really, its sort of compile time generics?</p>
<p>thats the impression i got <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /> </p>
<p>&nbsp;&nbsp;</p>
<p>--edit--</p>
<p>also, is this just for floats? can a unit be any type? for instance if you have a class Person, could you create a unit of measure for Employee, manager and so on? (just as an example)</p>
<p>posted by aL_</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure#c633893037030000000</link>
		<pubDate>Wed, 23 Sep 2009 11:55:03 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure#c633893037030000000</guid>
		<dc:creator>aL_</dc:creator>
	</item>
	<item>
		<title>Re: Andrew Kennedy: F# Units of Measure</title>
		<description>
			<![CDATA[
<p>Yes, this is strictly a compile-time feature, so units errors get caught at development time, and there is no runtime performance hit.</p>
<p>&nbsp;</p>
<p>It's for any types you like. Built-in types float, float32, decimal, and int can be parameterized on units, but you can build your own, e.g. vectors, complex numbers, matrices, or whatever. My blog (<a href="http://blogs.msdn.com/andrewkennedy">http://blogs.msdn.com/andrewkennedy</a>)
 has more info.</p>
<p>posted by akenn</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure#c633893116660000000</link>
		<pubDate>Wed, 23 Sep 2009 14:07:46 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure#c633893116660000000</guid>
		<dc:creator>akenn</dc:creator>
	</item>
	<item>
		<title>Re: Andrew Kennedy: F# Units of Measure</title>
		<description>
			<![CDATA[
<p>Ah - sorry about the unreadable code. I had been assuming that the screen would be captured in high-res. A lot of the examples that I used are also discussed on my
<a href="http://blogs.msdn.com/andrewkennedy">blog</a>. The Lunar Lander code was written by
<a href="http://www.trelford.com/blog/">Phil Trelford</a>&nbsp;but I'll put it back together and post it here shortly.</p>
<p>posted by akenn</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure#c633893135930000000</link>
		<pubDate>Wed, 23 Sep 2009 14:39:53 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure#c633893135930000000</guid>
		<dc:creator>akenn</dc:creator>
	</item>
	<item>
		<title>Re: Andrew Kennedy: F# Units of Measure</title>
		<description>
			<![CDATA[
<p>My apologies for the poor resolution of the code demo on-screen. The way that we captured this is the problem. We are working on a solution to this general problem. See, we don't expect interviewees to have to install screen capture software on their laptops
 in order to record a demo in the studio. That said, we aren't yet sure of a practical solution that also affords least effort on the part of our guests. Working it out.</p>
<p>&nbsp;</p>
<p>Thank you in advance, Andrew, for sharing the code in project file format. The domo code&nbsp;should be much easier to read in Visual Studio or a text editor <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /></p>
<p>&nbsp;</p>
<p>Again, we will work this out.</p>
<p>&nbsp;</p>
<p>C</p>
<p>posted by Charles</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure#c633893169460000000</link>
		<pubDate>Wed, 23 Sep 2009 15:35:46 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure#c633893169460000000</guid>
		<dc:creator>Charles</dc:creator>
	</item>
	<item>
		<title>Re: Andrew Kennedy: F# Units of Measure</title>
		<description>
			<![CDATA[
<p>very cool.. we do alot of physics calculations for measuremnts on lasers so this could be very useful <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /> are you making any large changes in beta2 to this or is the beta1 functionality kinda stable?
</p>
<p>posted by aL_</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure#c633893176520000000</link>
		<pubDate>Wed, 23 Sep 2009 15:47:32 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure#c633893176520000000</guid>
		<dc:creator>aL_</dc:creator>
	</item>
	<item>
		<title>Re: Andrew Kennedy: F# Units of Measure</title>
		<description>
			<![CDATA[
<p>Thanks for your reply ... <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-13.gif' alt='Angel' /> again ... a very interesting feature and a awesome interview!</p>
<p>&nbsp;</p>
<p>posted by keithfl</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure#c633893194410000000</link>
		<pubDate>Wed, 23 Sep 2009 16:17:21 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure#c633893194410000000</guid>
		<dc:creator>keithfl</dc:creator>
	</item>
	<item>
		<title>Re: Andrew Kennedy: F# Units of Measure</title>
		<description>
			<![CDATA[
<p>Measurements in F# is an exciting feature. No doubt about it. I was really impressed when I learned about it being added to the language.</p>
<p>It surely addresses a lot of potential issues with measurement mismatch.&nbsp;</p>
<p>&nbsp;</p>
<p>Yet, run time support for measurements still makes a lot of sense.</p>
<p>If you are reading data from external sources&nbsp;at run-time (files, sensors, or web services),&nbsp;you'd still have to implemet all the measurement tracking and conversion yourself. If&nbsp;this can be married to contract somehow, then application would just have to
 tell the framework that it expects mass to be in kilos, and if input feed turns out to be pounds then conversion would happen under the scene.</p>
<p>&nbsp;</p>
<p>Another presumably useful feature would be to declare measures off of classes/types. If for example, I'm counting my chicken, I don't want to be able to inadvertently add this to the count of eggs, unless I explicitly coersed chicken and eggs to&nbsp;be&nbsp;&quot;things&quot;.</p>
<p>&nbsp;</p>
<p>Anyhow, compile time support is a very&nbsp;good start.</p>
<p>posted by sokhaty</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure#c633893258710000000</link>
		<pubDate>Wed, 23 Sep 2009 18:04:31 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure#c633893258710000000</guid>
		<dc:creator>sokhaty</dc:creator>
	</item>
	<item>
		<title>Re: Andrew Kennedy: F# Units of Measure</title>
		<description>
			<![CDATA[
<p>This is a feature that I have been waiting for.</p>
<p>&nbsp;</p>
<p>How is the UOM information able to be persited?&nbsp; If I were serialize an object with UOM would the UOM be included in the XML?</p>
<p>&nbsp;</p>
<p>Also I read last year that this feature would also automatically take care of some of the unit conversion, say within a calculation.&nbsp; Is this still possible or will we have to manage the unit conversion ourselves?</p>
<p>&nbsp;</p>
<p>Awsome stuff!</p>
<p>posted by dPruitt</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure#c633893357630000000</link>
		<pubDate>Wed, 23 Sep 2009 20:49:23 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure#c633893357630000000</guid>
		<dc:creator>dPruitt</dc:creator>
	</item>
	<item>
		<title>Re: Andrew Kennedy: F# Units of Measure</title>
		<description>
			<![CDATA[
<p>It's fairly stable. Defining your own overloaded methods on unit-parameterized types is slightly easier, as type inference has been improved. For the product release, there will be a bunch of functions to &quot;cast&quot; into units (e.g. one with type float -&gt; float&lt;'u&gt;)
 which are intended for interop with non-unit-aware code. (e.g. you might have a numeric library that you want to wrap with a units API.)</p>
<p>posted by akenn</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure#c633893782630000000</link>
		<pubDate>Thu, 24 Sep 2009 08:37:43 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure#c633893782630000000</guid>
		<dc:creator>akenn</dc:creator>
	</item>
	<item>
		<title>Re: Andrew Kennedy: F# Units of Measure</title>
		<description>
			<![CDATA[
<p>The units-of-measure information is not persisted, as it is &quot;erased&quot; from types before runtime. (It's a purely static feature.)</p>
<p>&nbsp;</p>
<p>As for unit conversions, there are no plans for automatic conversions for this release of F#: you must define your own conversion functions.</p>
<p>posted by akenn</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure#c633893783820000000</link>
		<pubDate>Thu, 24 Sep 2009 08:39:42 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure#c633893783820000000</guid>
		<dc:creator>akenn</dc:creator>
	</item>
	<item>
		<title>Re: Andrew Kennedy: F# Units of Measure</title>
		<description>
			<![CDATA[
<p>&gt;&gt; See, we don't expect interviewees to have to install screen capture software on their laptops in order to record a demo in the studio. &gt;&gt; That said, we aren't yet sure of a practical solution that also affords least effort on the part of our guests</p>
<p>Just Remote Desktop into the guest's laptop while recording the screencast on the client-side.</p>
<p>&nbsp;</p>
<p>Rant: why is Channel9 reliably not working with Firefox browsers?! Impossible to view videos or post replies. Bummer!</p>
<p>posted by Alex O</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure#c633901003410000000</link>
		<pubDate>Fri, 02 Oct 2009 17:12:21 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure#c633901003410000000</guid>
		<dc:creator>Alex O</dc:creator>
	</item>
	<item>
		<title>Re: Andrew Kennedy: F# Units of Measure</title>
		<description>
			<![CDATA[
<p>Not sure about the FF issues. Can you be more specific? You could also run FF's dev tools and send the script error details <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /></p>
<p>&nbsp;</p>
<p>Sorry you having a bad experience. We will look into this.</p>
<p>C</p>
<p>posted by Charles</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure#c633901110410000000</link>
		<pubDate>Fri, 02 Oct 2009 20:10:41 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure#c633901110410000000</guid>
		<dc:creator>Charles</dc:creator>
	</item>
	<item>
		<title>Re: Andrew Kennedy: F# Units of Measure</title>
		<description>
			<![CDATA[ <p>Comments open.</p><p>C</p><p>posted by Charles</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure#c634355542840000000</link>
		<pubDate>Sat, 12 Mar 2011 19:18:04 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure#c634355542840000000</guid>
		<dc:creator>Charles</dc:creator>
	</item>
	<item>
		<title>Re: Andrew Kennedy: F# Units of Measure</title>
		<description>
			<![CDATA[C++ has had this a feature for decades, implemented as a template-library evaluated at compile time. See:  "The SI Library of Unit-Based Computation."<br />Fermi National Accelerator Laboratory FERMILAB-Conf-98/328 <br />"Introduction to the SI Library of Unit-Based Computation" by <br />Walter E. Brown <br />October 1998<br />Presented at the International Conference on Computing in High Energy Physics (CHEP ’98), Chicago, Illinois, August 31-September 4, 1998<br />When I got my copy, it was linked from  www.fnal.gov/fermitools<br /> <br /> <p>posted by David Phillip Oster</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure#c634355590730000000</link>
		<pubDate>Sat, 12 Mar 2011 20:37:53 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure#c634355590730000000</guid>
		<dc:creator>David Phillip Oster</dc:creator>
	</item>
	<item>
		<title>Re: Andrew Kennedy: F# Units of Measure</title>
		<description>
			<![CDATA[What David said!<p>posted by Vivek</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure#c634355599340000000</link>
		<pubDate>Sat, 12 Mar 2011 20:52:14 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Charles/Andrew-Kennedy-F-Units-of-Measure#c634355599340000000</guid>
		<dc:creator>Vivek</dc:creator>
	</item>
</channel>
</rss>