Donna Photo Oct 2008 La

Information Rich Programming with F# 3.0

Modern applications often need to work with varied sources of data, be it Web APIs, SQL databases, cloud storage, or even a local csv file. But, it’s not always easy to integrate these schemas with types in statically-typed languages, so you can end up in a situation where you’re no better off than if you were to use a dynamically-typed language.

F# type providers change this. Type providers are an extensible compiler mechanism that let developers write code that translates external schemas into F# types. This means that you can access data sources in a rich, statically-typed, and code-focused way. You don’t need to manually integrate your codegen tools with your IDE, your build system, your source control; you just write the code generation logic in an F# type provider (or wrap your existing code generator) and you get very clean integration between your data source and the programming language.

In this talk, I’ll explain how this works, demonstrate the experience of using a type provider, and give examples of the kinds of type providers that you might want to implement.

Donna Malayeri



Donna Malayeri is the program manager of the F# team at Microsoft. Previously, she was on the Scala team in Lausanne, Switzerland, working on projects such as the Scala Eclipse plugin and improvements to scaladoc. She is an ivory-tower refugee with a PhD in programming languages from Carnegie Mellon University.

In her copious spare time, she sometimes writes provocative and controversial—yet award-winning — papers for CMU’s prestigious SIGBOVIK conference, the de-facto premiere forum for all work in its (somewhat diverse) areas of focus.