Data exploration through dot-driven development

Petricek, Tomas (2017) Data exploration through dot-driven development. In: 31st European Conference on Object-Oriented Programming, 18 Jun - 23 Jun 2017, Barcelona, Spain. (doi:https://doi.org/10.4230/LIPIcs.ECOOP.2017.0) (Full text available)

Abstract

Data literacy is becoming increasingly important in the modern world. While spreadsheets make simple data analytics accessible to a large number of people, creating transparent scripts that can be checked, modified, reproduced and formally analyzed requires expert programming skills. In this paper, we describe the design of a data exploration language that makes the task more accessible by embedding advanced programming concepts into a simple core language. The core language uses type providers, but we employ them in a novel way -- rather than providing types with members for accessing data, we provide types with members that allow the user to also compose rich and correct queries using just member access (``dot''). This way, we recreate functionality that usually requires complex type systems (row polymorphism, type state and dependent typing) in an extremely simple object-based language. We formalize our approach using an object-based calculus and prove that programs constructed using the provided types represent valid data transformations. We discuss a case study developed using the language, together with additional editor tooling that bridges some of the gaps between programming and spreadsheets. We believe that this work provides a pathway towards democratizing data science -- our use of type providers significantly reduce the complexity of languages that one needs to understand in order to write scripts for exploring data.

Item Type: Conference or workshop item (Proceeding)
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Divisions: Faculties > Sciences > School of Computing
Faculties > Sciences > School of Computing > Programming Languages and Systems Group
Depositing User: Tomas Petricek
Date Deposited: 25 May 2018 16:33 UTC
Last Modified: 29 May 2018 10:27 UTC
Resource URI: https://kar.kent.ac.uk/id/eprint/67139 (The current URI for this page, for reference purposes)
  • Depositors only (login required):

Downloads

Downloads per month over past year