Freigeben über


About Queries

This concludes my series of posts about queries.  I will still discuss them occassionally and if anyone has any specific questions then I would be very glad to address them.

Query Expression Posts

1. Comprehending Comprehensions

What are queries?  How are queries treated by the compiler? 

2. Transparent Identifiers

How are local variables introduced by queries?

3.  Thus Quoth the Humble Programmer

What are expression trees?  What are lambdas translated into?

4.  Reading and Writing Queriess

What mental models are useful in reading and writing query expressions?  What are the scoping rules for queries?

5.  A Model for Query Interpretation

How can we think about query evaluation?  Is it possible to think of queries in terms of the queries and not the rewrites?  What is the conceptual model for Linq to Objects queries?

6.  How Linq to Objects Queries Work

What causes Linq to Objects queries to be lazily evaluated?  How are the results computed?  What underlies the conceptual model for Linq to Objects?  Why do queries exhibit their debugging behavior?

7.  Having Trouble with Queries

What constitutes good error messages?  How are effective error messages for queries generated in the face of type inference and significant syntactic sugar?

8.  Another Model for Query Interpretation

Are there other models for query interpretation besides an imperative one?  Why are some queries declarative and others not?

Comments

  • Anonymous
    January 11, 2007
    Welcome to the eighteenth issue of Community Convergence. I'm Charlie Calvert, the C# Community PM, and

  • Anonymous
    January 11, 2007
    Welcome to the eighteenth issue of Community Convergence. I'm Charlie Calvert, the C# Community PM, and

  • Anonymous
    January 23, 2007
    Welcome to the nineteenth Community Convergence. I'm Charlie Calvert, the C# Community PM, and this is

  • Anonymous
    January 25, 2007
    I recently recorded a video with Charlie Calvert about Linq queries and delayed evaluation . You can