Rewriting High-Level Spreadsheet Structures into Higher-Order Functional Programs

Florian Biermann, Wensheng Dou, Peter Sestoft

    Research output: Conference Article in Proceeding or Book/Report chapterArticle in proceedingsResearchpeer-review

    Abstract

    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.
    Original languageEnglish
    Title of host publicationInternational Symposium on Practical Aspects of Declarative Languages : PADL 2018: Practical Aspects of Declarative Languages
    Number of pages16
    PublisherSpringer
    Publication date22 Dec 2017
    Pages20-35
    ISBN (Print)978-3-319-73304-3
    ISBN (Electronic)978-3-319-73305-0
    DOIs
    Publication statusPublished - 22 Dec 2017
    EventInternational Symposium on Practical Aspects of Declarative Languages - Los Angeles, United States
    Duration: 8 Jan 20189 Jan 2018
    Conference number: 20
    https://popl18.sigplan.org/series/PADL

    Conference

    ConferenceInternational Symposium on Practical Aspects of Declarative Languages
    Number20
    Country/TerritoryUnited States
    CityLos Angeles
    Period08/01/201809/01/2018
    Internet address
    SeriesLecture Notes in Computer Science
    Volume10702
    ISSN0302-9743

    Keywords

    • arrays
    • expression rewriting
    • functional programming
    • parallelism
    • performance
    • spreadsheets

    Fingerprint

    Dive into the research topics of 'Rewriting High-Level Spreadsheet Structures into Higher-Order Functional Programs'. Together they form a unique fingerprint.

    Cite this