Samuel Ng's Blog
-
So-cal CodeCamp 08!
I got the opportunity to give a talk at the SoCal CodeCamp 08 this past weekend, and its driven me back to blogging. Its been just over 8 months since my last post - these 8 months have been spent with my head down working on Visual Studio 2010, the CTP of which is to be unveiled tomorrow at PDC. I'll be posting some thoughts on the new stuff once it gets unveiled, so stay tuned!
-
Optional Modifiers and Overload Resolution
Optional Modifiers (or modopts) are CLR constructs that allow types to be annotated with optional information. This allows compiler writers to annotate their types with additional information that may not have a direct CLR representation. The managed C++ compiler for instance, uses modopts to represent const types.
-
Generic Method Substitutions and Unification - Part two
Last time we talked about generic method substitutions which resulted in types being declared with more than one method with identical constructed signatures. After thinking long and hard about this problem, we've come to a conclusion as to how to resolve this issue in the next release.
-
generic method substitutions and unification
It's been a while since I've last written - my apologies. We've been hard at work figuring out what the next release of C# will look like, and I'm happy to say that I'm very excited about what we're working on. Great minds are at work figuring out things like integration of C# with the DLR, dynamic late binding, and better debugging experiences as we speak. Don't worry, I'll be sure to report to you about what they determine. :)
-
VS 2008 is out the door!
On December 19th, we officially announced that VS 2008 is released to manufacturing! This is the first release of the product (of any product for that matter) that I've worked heavily on, so I'm quite anxious to see the feedback on the work that we've done.
-
Virtual Events in C#
One of the things that the language designers considered when designing the C# language was the ability to notify external callers of certain events happening. To solve this problem, they (surprise surprise) introduced the event construct.
-
Local variable scoping in C#
In my previous post, Compiler-generated scopes for local variable declarations, I briefly touched on the issue of multiple meanings applied to the same name. In this post, I'll aim to flush out the compiler's rules with regards to binding names in their local scopes.
-
Compiler-generated scopes for local variable declarations
I was tasked with understanding and fixing a bug on error reporting with foreach iteration variables the other day, and it got me thinking about local variable scoping rules in C# in general. First, the bug.
-
Another compiler dev
Hi there. My name is Sam Ng, and I'm a developer on the C# compiler team. This here's my little outlet of random stuff that I think about, and things that I learn as I dig deeper into the wonderful world of software.