Write a Blog >>
GPCE 2019
Sun 20 - Fri 25 October 2019 Athens, Greece
co-located with SPLASH 2019
Mon 21 Oct 2019 12:10 - 12:30 at Ground floor conference room - Language extension Chair(s): Adam Welc

Domain Specific Languages (DSLs) have proven useful in the domain of data science, as witnessed by the popularity of SQL, and emergence of DSLs like Trifacta Data Wrangler Language. However, implementing and maintaining a DSL incurs a significant effort which limits their utility in context of fast-changing data science frameworks and libraries.

We propose an approach and a Python-based library/tool NLDSL which simplifies and streamlines implementation of DSLs modeling pipelines of operations. NLDSL offers an “easy to use” interface to add new pipeline operations. In particular, syntax description and operation implementation are bundled together as annotated and terse Python functions, which simplifies extending and maintaining a DSL. To support ad hoc DSL elements, NLDSL offers a mechanism to define DSL-level functions which are then treated as first-class DSL elements.

Our tool automatically supports each DSL by code completions and in-editor documentation in a multitude of IDEs implementing the Microsoft’s Language Server Protocol. To circumvent the problem of a limited expressiveness of a external DSL, our tool allows embedding DSL statements in the source code comments of a general purpose language and to translate the DSL to such a language during editing.

We demonstrate and evaluate our approach and tool by implementing a DSL for data tables which is translated to either Pandas or to PySpark code. A preliminary evaluation shows that this DSL can be defined in a concise and maintainable way, and that it can cover a majority of processing steps of popular Spark/Pandas tutorials.

Mon 21 Oct
Times are displayed in time zone: Beirut change

11:00 - 12:30: Language extensionGPCE 2019 at Ground floor conference room
Chair(s): Adam WelcUber Technologies
11:00 - 11:30
Foreign language interfaces by code migration
GPCE 2019
Shigeru ChibaGraduate School of Information Science and Technology, The University of Tokyo
11:30 - 11:50
A Language Feature to Unbundle Data at Will (Short Paper)
GPCE 2019
Musa Al-hassyMcMaster University, Wolfram KahlMcMaster University, Jacques CaretteMcMaster University
11:50 - 12:10
Parallel Nondeterministic Programming as a Language Extension to C (Short Paper)
GPCE 2019
Lucas KramerUniversity of Minnesota, Eric Van WykUniversity of Minnesota, USA
DOI Pre-print
12:10 - 12:30
Agile Construction of Data Science DSLs (Tool Demo)
GPCE 2019
Artur AndrzejakHeidelberg University, Kevin Kiefer, Diego CostaHeidelberg University, Oliver WenzHeidelberg University