The call of the AST
I have this will, for quite a long time, to try to implement a basic LINQ provider. The general idea is to play with AST (Abstract Syntax Tree) manipulations, using my language of choice : C#. I also have the temptation to make that attempt in F#, which is a particularly well adapted language to manipulate abstract syntax trees, but I don’t feel ready for that yet… maybe later !
In order to prepare that implementation, which will be based upon the IQueryable interface, I’m first going to refer to an article written by Jon Skeet in his EDULINQ series a year ago : Out-of-process queries with IQueryable.
If you don’t know Jon Skeet, he’s a bit like the Chuck Norris of programming. Maybe some facts about him will make it clearer…
My favourite one is this one :
Jon Skeet has already written a book about C# 5.0.
It’s currently sealed up.
In three years, Anders Hejlsberg is going to open the book to see if the language design team got it right.
My first step towards preparing the implementation has been to read and re-read Jon’s post in order to understand it better. I’ve also translated it in French, it’s available here.
If you want to follow me implementing the LINQ provider… come back soon !