Thanks for the link. The constructor for class Pie is called Chart, but it should be Pie. Just proving I read it. Also, in the conclusion, it says, "We have also shown how to implement custom LINQ providers that can run in memory and over SQL and CoSQL databases, and we have presented LINQ-friendly APIs over Web services.", but there is no example for CoSQL in the paper. I eagerly await part 2, which I hope covers this oversight, and also about Rx in the same context.
On the topic itself: This is important and recommended reading for all programmers. The paper shows how LINQ can be used to create internal DSLs for any data source, or any API, because we can treat code as data through expression trees. Creating a query provider - or comprehension provider to stress the more generalized capabilities of LINQ - allows us to think of any input, asynchronous or otherwise, as a data source. We get strong typing and intellisense for free, while maintaining a coherent, generic abstraction over a fluent interface to the DSL we create by implementing LINQ operators. Erik Meijer shows which operators you have to implement, and that by implementing cross apply, one can implement all the other required operators. This surfaces the meaning of a program (or computations), by providing explicit details of the types being created and a DSL for what is being done to them, composed together into a consistent abstraction.
I just finished the article, after finding it on reddit. What does the Detroit Team do again?
@Richard.Hein: I eagerly await part 2 ==> working on this as we speak. It is about Rx in the Cloud using Websockets and Azure.
Since I am a self made programmer, I've never been schooled in any of these things.
It's a really good read!
Looking forward to the Rx one!
Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.