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
Times are displayed in time zone: (GMT-07:00) Tijuana, Baja California change

10:30 - 12:00: PADL 2018 - Functional Programming at Rose
PADL-201810:30 - 11:00
Karl CraryCarnegie Mellon University
PADL-201811:00 - 11:30
PADL-201811:30 - 12:00
Florian BiermannIT University of Copenhagen, Wensheng DouInstitute of Software, Chinese Academy of Sciences, China, Peter SestoftIT University of Copenhagen