paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Elastic sheet-defined functions: Generalising spreadsheet functions to variable-size input arrays

弹性表定义函数:将电子表格函数泛化到可变大小的输入数组
JFP vol.302020匹配度 1/10 · 该论文研究电子表格中的弹性表定义函数、形式化语义与用户实验,属于 PL/DSL 方向,但未涉及 LLM/Agent、静态分析、浮点程序分析或贝叶斯程序分析,与用户研究画像核心交集很低。引用 13 inbox
MATT MCCUTCHEN, JUDITH BORGHOUTS, ANDREW D. GORDON, SIMON PEYTON JONES, ADVAIT SARKAR
dblp: 2026-09-10crossref: 2026-09-10

AI 速览

一句话:提出弹性表定义函数,将用户写定的定长数组函数自动泛化为可处理任意长度输入,并证明得到主泛化。

表定义函数(SDF)为电子表格带来了模块化与抽象,但终端用户往往只写出针对固定大小数组的函数,导致复用性受限。本文提出一种原则性方法,把这类 SDF 泛化为可处理任意大小输入的“弹性 SDF”。作者证明:在自然且可检查的条件下,其算法返回输入 SDF 的主泛化(principal generalisation),并给出了弹性 SDF 的形式语义与若干高效实现策略。评估方面,作者开展了一项面向电子表格用户的用户研究,将使用弹性 SDF 编程的体验与依赖 map/reduce 等数组处理组合子的替代方案进行对比。结果显示,弹性 SDF 的认知负荷低于使用 map/reduce 组合子的 SDF,而后者是最接近的替代方案。

问题
终端用户编写的表定义函数通常只适用于固定大小数组,缺乏对可变大小输入的复用能力,而现有基于 map/reduce 组合子的替代方案认知负担较高。
方法
提出将定长数组 SDF 泛化为弹性 SDF 的算法,在自然且可检查的条件下证明其返回主泛化,并给出形式语义与多种高效实现策略。
评估
通过针对电子表格用户的用户研究,比较使用弹性 SDF 与使用 map/reduce 数组组合子编程的体验,测量认知负荷。
原文摘要(Abstract)

Abstract Sheet-defined functions (SDFs) bring modularity and abstraction to the world of spreadsheets. Alas, end users naturally write SDFs that work over fixed-size arrays, which limits their reusability. To help end user programmers write more reusable SDFs, we describe a principled approach to generalising such functions to become elastic SDFs that work over inputs of arbitrary size. We prove that under natural, checkable conditions, our algorithm returns the principal generalisation of an input SDF. We describe a formal semantics and several efficient implementation strategies for elastic SDFs. A user study with spreadsheet users compares the human experience of programming with elastic SDFs to the alternative of relying on array-processing combinators. Our user study finds that the cognitive load of elastic SDFs is lower than for SDFs with map/reduce array combinators, the closest alternative solution.

链接与引用

DOI 原文 · PDF(开放获取) · DBLP

BibTeX
@article{McCutchenBGJS20,
  title = {Elastic sheet-defined functions: Generalising spreadsheet functions to variable-size input arrays},
  author = {MATT MCCUTCHEN and JUDITH BORGHOUTS and ANDREW D. GORDON and SIMON PEYTON JONES and ADVAIT SARKAR},
  journal = {Journal of Functional Programming},
  volume = {30},
  year = {2020},
  doi = {10.1017/s0956796820000234}
}