Rewriting High-Level Spreadsheet Structures into Higher-Order Functional Programs
Research output: Conference Article in Proceeding or Book/Report chapter › Article in proceedings › Research › peer-review
Standard
Rewriting High-Level Spreadsheet Structures into Higher-Order Functional Programs. / Biermann, Florian; Dou, Wensheng; Sestoft, Peter.
International Symposium on Practical Aspects of Declarative Languages: PADL 2018: Practical Aspects of Declarative Languages . Springer, 2017. p. 20-35 (Lecture Notes in Computer Science, Vol. 10702).Research output: Conference Article in Proceeding or Book/Report chapter › Article in proceedings › Research › peer-review
Harvard
APA
Vancouver
Author
Bibtex
}
RIS
TY - GEN
T1 - Rewriting High-Level Spreadsheet Structures into Higher-Order Functional Programs
AU - Biermann, Florian
AU - Dou, Wensheng
AU - Sestoft, Peter
N1 - Conference code: 20
PY - 2017/12/22
Y1 - 2017/12/22
N2 - 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 recalculation performance. However, spreadsheet models usually have some high-level structure that can be used to improve performance by performing independent computation in parallel. In this paper, we devise rules for rewriting high-level spreadsheet structure in the form of so-called cell arrays into higher-order functional programs that can be easily parallelized on multicore processors. We implement our rule set for the experimental Funcalc spreadsheet engine which already implements parallelizable higher-order array functions as well as user-defined higher-order functions. Benchmarks show that our rewriting approach improves recalculation performance for spreadsheets that are dominated by cell arrays.
AB - 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 recalculation performance. However, spreadsheet models usually have some high-level structure that can be used to improve performance by performing independent computation in parallel. In this paper, we devise rules for rewriting high-level spreadsheet structure in the form of so-called cell arrays into higher-order functional programs that can be easily parallelized on multicore processors. We implement our rule set for the experimental Funcalc spreadsheet engine which already implements parallelizable higher-order array functions as well as user-defined higher-order functions. Benchmarks show that our rewriting approach improves recalculation performance for spreadsheets that are dominated by cell arrays.
KW - arrays
KW - expression rewriting
KW - functional programming
KW - parallelism
KW - performance
KW - spreadsheets
U2 - 10.1007/978-3-319-73305-0_2
DO - 10.1007/978-3-319-73305-0_2
M3 - Article in proceedings
SN - 978-3-319-73304-3
T3 - Lecture Notes in Computer Science
SP - 20
EP - 35
BT - International Symposium on Practical Aspects of Declarative Languages
PB - Springer
T2 - International Symposium on Practical Aspects of Declarative Languages
Y2 - 8 January 2018 through 9 January 2018
ER -
ID: 82454105