University of Birmingham > Talks@bham > Theoretical computer science seminar > Teaching old type systems new tricks with type providers

Teaching old type systems new tricks with type providers

Add to your list(s) Download to your calendar using vCal

If you have a question about this talk, please contact Paul Taylor.

Accessing data in statically typed languages is hard – type systems do not understand the structure of external data sources and only make data access more cumbersome, rather than providing useful safety guarantees. Should we give up and leave the messy world of external data to dynamic typing and runtime checks? Of course, not!

In this talk, I’ll show how type providers [1] simplify programming with data and recover some of the properties that programmers love about static types. First, I’ll discuss how F# Data [2] uses shape inference to allow typed programming against data files and services that don’t have a formal schema. Second, I’ll show how the pivot type provider in TheGamna [2] takes the idea further by automatically exposing not just valid fields, but also valid data aggregation operations.

Underlying the work is a simple question – what does safety really mean for a program which accesses data sources that it cannot control?

BIO : Tomas is a Visiting Researcher at the Alan Turing Institute working on tools making data science more accessible and transparent (http://thegamma.net [thegamma.net]). Previously, he contributed to functional programming and the development of the F# language and type providers at Microsoft Research and obtained PhD from University of Cambridge for his work on coeffects (http://tomasp.net/coeffects [tomasp.net]), a theory of context-aware programming languages. Along the way, he became interested in understanding programming through the perspective of history and philosophy of science and wrote papers about the evolution of programming concepts such as types and errors.

Slides for the talk: http://tpetricek.github.io/Talks/2018/type-provider-tricks/bham/

This talk is part of the Theoretical computer science seminar series.

Tell a friend about this talk:

This talk is included in these lists:

Note that ex-directory lists are not shown.

 

Talks@bham, University of Birmingham. Contact Us | Help and Documentation | Privacy and Publicity.
talks@bham is based on talks.cam from the University of Cambridge.