Tue 9 Jan 2018 11:30 - 12:00 at Rose - Functional Programming

Spreadsheets are used heavily in industry and academia. Often, spreadsheet models are developed for years and their complexity grows vastly beyond what the paradigm was originally conceived for. Such complexity often comes at the cost of maintainability and understandability, as well as recalculation performance. The former have been the subject of prior research, with a focus on helping users understand the high-level structure of spreadsheet models. However, the high-level structure could also be used to improve recalculation performance. In this paper, we devise rules for rewriting high-level spreadsheet structure over cell arrays into higher-order functional programs. This rewriting allows us to exploit implicit parallelism, thereby speeding up spreadsheet recalculation. We implement our rule set for the experimental Funcalc spreadsheet engine which already implements parallelizable higher-order functions on arrays and additionally user-defined higher-order functions. Benchmarks show that our rewriting approach improves recalculation performance for spreadsheets which are dominated by cell arrays, but also that sequential cell dependencies limit parallel speedup.

Tue 9 Jan

Displayed time zone: Tijuana, Baja California change

10:30 - 12:00
Functional ProgrammingPADL at Rose
10:30
30m
Talk
Hygienic Source-Code Generation Using Functors
PADL
A: Karl Crary Carnegie Mellon University
11:00
30m
Talk
Snaarkl: Somewhat Practical, Pretty Much Declarative Verifiable Computing in Haskell
PADL
A: Gordon Stewart Ohio University, A: Samuel Merten , A: Logan Leland
11:30
30m
Talk
Rewriting High-Level Spreadsheet Structures into Higher-Order Functional Programs
PADL
A: Florian Biermann IT University of Copenhagen, Wensheng Dou Institute of Software, Chinese Academy of Sciences, China, A: Peter Sestoft IT University of Copenhagen