The Gamma: Data exploration
through dot-driven development






Tomas Petricek
@tomaspetricek | tomasp.net | thegamma.net

Welcome to the post-fact world

In recent years, divergent levels of trust in statistics has become one of the key schisms that have opened up in western liberal democracies.

William Davies, The Guardian, January 2017

Can the result be reproduced?

Is the visualization misleading?

Can it be done by non-experts?

Can the reader explore further?

The Gamma

DEMO

Understanding carbon emissions

Language that understands data

Simple programming using dot

Dot-driven data exploration

Based on Transcript: End-user programming of social apps
Jonathan Edwards, YOW 2015

Based on Transcript: End-user programming of social apps
Jonathan Edwards, YOW 2015

DEMO

Visualizing Olympic medals

Type providers for member generation

Laziness for scaling to large hierarchies

Fancy types for the masses!

Pivot type provider


\(L\) maps names to definitions and nested contexts

\(\definecolor{mc}{RGB}{255,255,102} L(C) = {\color{mc}\text{type}}~C(x:\tau) = \overline{m}, L'\)

Pivot takes schema and provides a class with context

\(\text{pivot}(F) = C, L\)

Pivot type provider

Generate class that constructs a query



DEMO

Fancy types for the masses

Row types to track names and types of fields

\[\definecolor{cc}{RGB}{255,255,102} \frac {\Gamma \vdash e : {\color{cc}[f_1:\tau_1, \ldots, f_n:\tau_n]}} {\Gamma \vdash e.\text{drop}~f_i : {\color{cc} [f_1:\tau_1, \ldots, f_{i-1}:\tau_{i-1}, f_{i+1}:\tau_{i+1}, \ldots, f_n:\tau_n]}}\]


Embed row types in provided nominal types

\[\frac {\Gamma \vdash e : {\color{mc} C_1}} {\Gamma \vdash e.\text{drop}~f_i : {\color{mc} C_2}} \quad{\small \text{where}}\]

\[\begin{array}{l} {fields({\color{mc} C_1}) = {\color{mc} \{f_1:\tau_1, \ldots, f_n:\tau_n\}}}\\[-0.25em] {fields({\color{mc} C_2}) = {\color{mc} \{f_1:\tau_1, \ldots, f_{i-1}:\tau_{i-1}, f_{i+1}:\tau_{i+1}, \ldots, f_n:\tau_n\}}} \end{array}\]

Unifying programming
and spreadsheets

DEMO

Programming and spreadsheets

Based on Transcript: End-user programming of social apps
Jonathan Edwards, YOW 2015

Making data more engaging

DEMO

Guess the government expenditure

Interactivity for engagement

Adapt to be more relevant

Summary

Make facts great again!

Technology democratized opinions

Can it also democratize facts?






Tomas Petricek, tomas@tomasp.net
@tomaspetricek | thegamma.net | tomasp.net

Make facts great again!

Summary