SPLASH 2022
Mon 5 - Sat 10 December 2022 Auckland, New Zealand

Learning the syntax and semantics of a new programming language is a challenge. It is common for learners to refer to language documentation many times and in many contexts as they build comfort and understanding. We review existing functional language documentation, finding that it tends to be organized according to the structure of the language. Each section interleaves narrative explanations, which introduce precise terminology that is then used consistently, with code examples. Sections often start with simpler special cases of a construct before considering it in full generality.

To make use of language documentation, learners must step away from the code they are working with, e.g., in an exercise or tutorial, to locate and transfer knowledge from the documentation. We describe a system, ExplainThis, that automatically generates contextualized language documentation, structured based on our study of language documentation but specialized to the particular code at the cursor. This system is integrated into the structure editor of Hazel, a live functional environment. Documentation appears next to the editor and color is used as secondary notation to correlate the explanation with program terms. We also study syntactic and explanatory specificity with a formative user study. We find that participants desire documentation to be tailored to specific syntax of the code a user is working with, while allowing an adaptive level of specificity for code examples.

Sat 10 Dec

Displayed time zone: Auckland, Wellington change

10:30 - 12:00
Program Comprehension Tools and TechniquesOnward! Papers at Seminar Room G100
Chair(s): James Noble Research & Programming
10:30
30m
Talk
Contextualized Programming Language DocumentationIncludes Demo
Onward! Papers
Hannah Potter University of Washington, Ardi Madadi University of Washington, René Just University of Washington, Cyrus Omar University of Michigan
DOI
11:00
30m
Talk
Competitive Debugging: Toward Contests Promoting Debugging as a Skill
Onward! Papers
Patrick Rein University of Potsdam; Hasso Plattner Institute, Tom Beckmann University of Potsdam; Hasso Plattner Institute, Leonard Geier University of Potsdam; Hasso Plattner Institute, Toni Mattis University of Potsdam; Hasso Plattner Institute, Robert Hirschfeld University of Potsdam; Hasso Plattner Institute
DOI Pre-print
11:30
30m
Talk
Portals: An Extension of Dataflow Streaming for Stateful Serverless
Onward! Papers
Jonas Spenger KTH Royal Institute of Technology, Paris Carbone RISE Research institutes of Sweden, Philipp Haller KTH
DOI