Presentation: "LINQ + New Microsoft Things"

Time: Wednesday 11:30 - 12:20

Location: Kammermusik

Abstract: A recurring problem in API design is to provide a compositional interface to side-effecting operations, and/or to collection-valued operations. Many traditional API's, such as for instance the W3C DOM, are very imperative and statement-oriented, and hence non-compositional. Imperative API's force programmers to work at a low-level of abstraction and result in convoluted and unnatural code. Fortunately, in the first half of the last century, mathematicians invented monads, which have subsequently migrated to the computer science mainstream via functional programming (mainly Haskell) and have recently shown up as LINQ in C# 3.0 and Visual Basic. Monads/LINQ enable API writers to define compositional interfaces by implementing a set of standard "query" operators on top of which programming languages define syntactic sugar in the form of comprehensions. In this talk we will explain LINQ from first principles, and show several new and unusual LINQ variants such as LINQ to DataCenter for describing massively parallel map-reduce style computations and LINQ to Charts for compositional generation of charts.
Download slides

Architect Erik Meijer, Microsoft

Architect Erik  Meijer

Erik Meijer is an architect in the Microsoft SQL server division where he currently works together with the Microsoft Visual C# and the Microsoft Visual Basic language design teams on data integration in programming languages.

Prior to joining Microsoft he was an associate professor at Utrecht University and adjunct professor at the Oregon Graduate Institute.

Erik is one of the designers of the standard functional programming language Haskell98 and more recently the Cw language.