LINQ, take two – Realizing the LINQ to Everything dream
At PDC a few years back, we introduced the LINQ project to solve the impedance mismatch between various data models by means of integrated query syntax in mainstream programming languages. Today, we’re seeing a rich ecosystem around LINQ providers that allow developers to reach out to many more data models. However, there’s a lot of opportunity left to democratize even more data models. Based on the theory of monads, we’ll explore the incredibly powerful nature of query comprehensions to do things like constraint solving using Z3 and Solver Foundation, build reactive queries with the Reactive Extensions, carry out various forms of query optimization, split execution of queries across tiers, etc. In addition, we revisit the art of writing query providers, introducing some novel approaches to ensure better compile-time checking. After this talk, you’ll truly understand the (underestimated) power that LINQ has brought us.