<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>CLR Type System notes</title><link>http://blogs.msdn.com/b/joelpob/archive/2004/07/19/187709.aspx</link><description>Over the past couple of months, I've written up a bunch of notes surrounding the CLR type system. You'll notice that it's littered with &amp;#8220;This is how Reflection deals with these types&amp;#8220;, as it's ment to be the start of a document that illustrates</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title> Joel Pobar s CLR weblog CLR Type System notes | alternative dating</title><link>http://blogs.msdn.com/b/joelpob/archive/2004/07/19/187709.aspx#9768266</link><pubDate>Wed, 17 Jun 2009 10:46:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9768266</guid><dc:creator> Joel Pobar s CLR weblog CLR Type System notes | alternative dating</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://topalternativedating.info/story.php?id=4281"&gt;http://topalternativedating.info/story.php?id=4281&lt;/a&gt;&lt;/p&gt;
&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9768266" width="1" height="1"&gt;</description></item><item><title>Famous Quotes &amp;raquo; Joel Pobar&amp;#8217;s CLR weblog : CLR Type System notes</title><link>http://blogs.msdn.com/b/joelpob/archive/2004/07/19/187709.aspx#6986549</link><pubDate>Sat, 05 Jan 2008 07:22:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6986549</guid><dc:creator>Famous Quotes » Joel Pobar’s CLR weblog : CLR Type System notes</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://famousquotes.247blogging.info/?p=450"&gt;http://famousquotes.247blogging.info/?p=450&lt;/a&gt;&lt;/p&gt;
&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6986549" width="1" height="1"&gt;</description></item><item><title>Boxing  &amp;raquo; Blog Archive   &amp;raquo; Joel Pobar&amp;#8217;s CLR weblog : CLR Type System notes</title><link>http://blogs.msdn.com/b/joelpob/archive/2004/07/19/187709.aspx#6985283</link><pubDate>Sat, 05 Jan 2008 05:12:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6985283</guid><dc:creator>Boxing  » Blog Archive   » Joel Pobar’s CLR weblog : CLR Type System notes</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://boxing.247blogging.info/?p=56"&gt;http://boxing.247blogging.info/?p=56&lt;/a&gt;&lt;/p&gt;
&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6985283" width="1" height="1"&gt;</description></item><item><title>CLR Dynamic languages under the hood (Part 1 of many)</title><link>http://blogs.msdn.com/b/joelpob/archive/2004/07/19/187709.aspx#434734</link><pubDate>Fri, 01 Jul 2005 21:48:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:434734</guid><dc:creator>Joel Pobar's CLR weblog</dc:creator><description>There seems to be a fair amount of recent press and blog action surrounding the dynamic or “scripting”...&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=434734" width="1" height="1"&gt;</description></item><item><title>CLR Dynamic languages under the hood (Part 1 of many)</title><link>http://blogs.msdn.com/b/joelpob/archive/2004/07/19/187709.aspx#434729</link><pubDate>Fri, 01 Jul 2005 21:44:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:434729</guid><dc:creator>Joel Pobar's CLR weblog</dc:creator><description>There seems to be a fair amount of recent press and blog action surrounding the dynamic or “scripting”...&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=434729" width="1" height="1"&gt;</description></item><item><title>re: CLR Type System notes</title><link>http://blogs.msdn.com/b/joelpob/archive/2004/07/19/187709.aspx#210499</link><pubDate>Sat, 07 Aug 2004 11:35:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:210499</guid><dc:creator>Adrian Florea</dc:creator><description>Another &amp;quot;property&amp;quot;: The null type is in a subtype relationship (standard implicit conversion) with any reference type&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=210499" width="1" height="1"&gt;</description></item><item><title>re: CLR Type System notes</title><link>http://blogs.msdn.com/b/joelpob/archive/2004/07/19/187709.aspx#203048</link><pubDate>Sat, 31 Jul 2004 15:43:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:203048</guid><dc:creator>Adrian Florea</dc:creator><description>Thanks Dominic for the comments.&lt;br&gt;&lt;br&gt;ldnull just push null object reference (nullref) on the stack. But nullref I think has an encoding! There is a record of the Constant metadata table for nullref with this info:&lt;br&gt;Type: ELEMENT_TYPE_CLASS (0x12 unsigned 1-byte integer)&lt;br&gt;Parent: a reference to the owner of the constant&lt;br&gt;Value: a bit pattern of all bits zero (4-byte)&lt;br&gt;But this is not followed by a type token (means type-agnostic null?)&lt;br&gt;&lt;br&gt;Joel, correct us if we're wrong? :-)&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=203048" width="1" height="1"&gt;</description></item><item><title>re: CLR Type System notes</title><link>http://blogs.msdn.com/b/joelpob/archive/2004/07/19/187709.aspx#200803</link><pubDate>Thu, 29 Jul 2004 16:29:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:200803</guid><dc:creator>Dominic Cooney</dc:creator><description>Re: Adrian Florea's comments [1] on the 'null' type,&lt;br&gt;&lt;br&gt;As I understand it, the 'null' type doesn't exist outside verification. So, for example, if you're doing verification and a control flow path that does ldnull merges with one that does ldstr, the verification algorithm merges the null type and string and comes up with string. This is why you can't just ascribe object as the type of slot ldnull produces (because in the example above object + string =&amp;gt; object, which is unnecessarily general.)&lt;br&gt;&lt;br&gt;So AFAIK the null type doesn't need an encoding like other types. If you look at the verifier in Rotor you should see where the null type comes in to play.&lt;br&gt;&lt;br&gt;Joel, correct me if I'm wrong?&lt;br&gt;&lt;br&gt;[1] &lt;a target="_new" href="http://blogs.msdn.com/joelpob/archive/2004/07/19/187709.aspx#187830"&gt;http://blogs.msdn.com/joelpob/archive/2004/07/19/187709.aspx#187830&lt;/a&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=200803" width="1" height="1"&gt;</description></item><item><title>re: CLR Type System notes</title><link>http://blogs.msdn.com/b/joelpob/archive/2004/07/19/187709.aspx#188712</link><pubDate>Tue, 20 Jul 2004 14:18:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:188712</guid><dc:creator>Dmitriy Zaslavskiy</dc:creator><description>Wesner Moise (IMO)&lt;br&gt;  Boxing Joel is talking about is box instruction which will create an object on heap. That object's MT will point to generic pointer type and 32/64 bits that follow will not have an identity. CLR will no longer be able to track the type of the pointer.&lt;br&gt;&lt;br&gt;As you can see Pointer.Box requires you to pass the type.&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=188712" width="1" height="1"&gt;</description></item><item><title>re: CLR Type System notes</title><link>http://blogs.msdn.com/b/joelpob/archive/2004/07/19/187709.aspx#187843</link><pubDate>Mon, 19 Jul 2004 21:29:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:187843</guid><dc:creator>Wesner Moise</dc:creator><description>I thought that Reflection does support Pointers; hence, the availability of System.Reflection.Pointer.&lt;br&gt;&lt;br&gt;You can box a pointer by calling Pointer.Box(ptr, type) and unbox with&lt;br&gt;Pointer.Unbox(object).&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=187843" width="1" height="1"&gt;</description></item></channel></rss>