Timeline: Adding the Time Dimension to Spreadsheets
Spreadsheets make it easy to express computations over two-dimensional data, but two dimensions are not enough to express rich computations with time such as physics simulations, agent-based models, analyses of financial data, or interactive systems. We present Timeline, a system that adds discrete time to spreadsheets. The remarkable insight from our work is that a large number of advanced programming language concepts can be directly applied in the context of spreadsheets with time. Timeline draws from dataflow languages to express computations over time, coeffect systems to ensure bounded memory usage, functional reactive programming to support interactivity, grammars of graphics to support composable visualizations, and typed holes for inserting cell references in the formula editor. In this paper, we provide an overview of the Timeline design and discuss how it adapts the aforementioned programming language innovations for the context of spreadsheets. We formalize the evaluation of spreadsheets with discrete time through a core calculus, describe a coeffect-based static analysis that determines the required number of past values and prove that the optimization is sound. More broadly, this paper shows that established programming language ideas can often be productively used outside of their original domain.
Authors
- Tomáš Petříček (ORCID: https://orcid.org/0000-0002-7242-2208)
- Boďa Tomáš (ORCID: https://orcid.org/0009-0000-0890-6614)
Institutions
- Charles University (CZ)
Publication Details
- Journal
- Proceedings of the ACM on Programming Languages
- Published
- 2026-10-01
- DOI
- https://doi.org/10.1145/3839502
- Primary Topic
- Spreadsheets and End-User Computing
- Type
- article
- Field-Weighted Citation Impact
- 0.00