Tomas is an academic, open-source developer and a book author. He is a lecturer at University of Kent and works on making programming with data easier. He also studies history of programming and writes about it from a philosophical perspective. Previously, Tomas wrote a popular F# book "Real-World Functional Programming", helped to create a number of F# open-source libraries such as F# Data and created coeffects (http://tomasp.net/coeffects), a theory of context aware programming languages. His most recent work includes programming tools for data journalism (http://thegamma.net), but also three essays that understand programming concepts such as types, monads and errors from philosophical perspective (http://tomasp.net/academic).
What do you do when you want to build a pretty data visualization, but none of the existing libraries does quite the thing that you want? Why, of course! You create your own data visualization library from scratch!
It takes about a week until you realize that getting all the details right in data visualization is a nightmare and this was never a good idea. However, it also turns out that functional approach is a great fit for data visualization and you can build amazing visualizations with just a few lines of elegant composable code.
In this talk, I will describe the design of a data visualization library in The Gamma. However, I will try to talk not only about categorical and continuous data, projections and misleading charts. I will extract more general principles of functional library design that you can use when tackling problems in a wide range of other domains.
For those who want spoilers, you can find some sample charts created using the library we're going to discuss here: http://turing.thegamma.net/expenditure/