val co2 : obj

Full name: index.co2
val topCountries : obj list

Full name: index.topCountries

The Gamma

www.thegamma.net





Tomas Petricek
@tomaspetricek | tomas@tomasp.net

Transparency Is it misleading?

  • Is China the biggest pulluter?
  • University enrollment in Czech Republic

Reproducibility Is it correct?

  • Critique of Piketty's Capital
  • Reinhart-Rogoff Growth in Time of Debt

Data journalism

Illustration from: Data journalism handbook

Data driven articles

Not just text with visualizations, but...

  • Can it be modified and reproduced?
  • Is the source code available?
  • Are the data sources referenced?

Data driven article is really a program!



The Gamma

Data driven article in The Gamma

Article is a program view

There is no magic. It is just code and text!

  • We see the journalist's story first
  • Readers can modify the parameters
  • Power users can see and modify the code


Programming language research

Typed functional language with type providers

  • Simple code with functional programming
  • Editor support via static types
  • Data access with F# type providers


Programming articles in The Gamma

Theory of type providers

Technology behind

World bank data source

World bank data source

World bank data source

World bank data source

World bank type provider

Auto-generated options

One of members of the same type

1: 
2: 
3: 
let co2 =
  world.byYear.``2010``.``Climate Change``
    .``CO2 emissions (kt)``

List with sub-set of properties

1: 
2: 
3: 
4: 
let topCountries =
  [ world.byCountry.China
    world.byCountry.India
    world.byCountry.Japan ]    

Future directions

Future directions

Programming experiences research

Programming experiences: Sean McDirmid on Lambda the Ultimate

  • Usable literate programming
  • Use PL for provenance, context and more!
  • Mapping for large-scale open government data
  • Grammar of interactive visualizations


Looking for early adopters :-)

Summary

  • Information literacy
  • Article is a program
  • Future usable programming

Prototype http://thegamma.net
Contact @tomaspetricek | tomas@tomasp.net