Transparent Identifiers

My last post described in detail how query expressions in C# are translated, but I have a confession to make.  I did a little bit of hand waving through one part of the translation rules.  The astute reader (whomever that is, whenever I read such things I always wonder, “Am I that astute reader?”) may…

9

Comprehending Comprehensions

Not long ago, I was reading through some articles posted on programming.reddit.com when I came across an article claiming that C# is trying to be a dynamic language.  One user posted a comment that mentioned that C# 3.0 included among other things “embedded SQL”.  Unfortunately, it seems that there is still some confusion about what…

7

Types of confusion

  When I began programming in my early teens, I was very excited to learn about programming and also excited to become a “real” programmer.  I remember picking up a book from the library that purported to teach what real programmers were like.  I absorbed the material and enjoyed every page.  I can only remember a handful…

15

Saving the State of Enumerators

Cyrus and I were writing some code together the other day and we used an interesting data structure that I wanted to share with you.  This data structure I will call a chain which is essentially a immutable singlely linked list. interface IChain<T> : IEnumerable<T>{   IChain<T> Next { get; }   T Value { get; }} It is…

4

captivated foreach statements

I am sure that most people who use C# regularly use the foreach construct.  Intimately understanding this construct is not usually required for proper usage.  The syntax is straightforward and it would seem that the semantics would also be straightforward; however, beginning in C# 2.0 there is a subtle gotcha that can cause seemingly odd…

0

the first step

I suppose that I should begin with an introduction.  My name is Wes Dyer and I am a developer on the C# compiler team.  I have many interests in the area of computing including but not limited to compilers, artificial intelligence (especially machine learning), data mining, and enterprise software.  Previously, I was doing research in…

0