当前位置: X-MOL 学术J. Funct. Program. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Elastic sheet-defined functions: Generalising spreadsheet functions to variable-size input arrays
Journal of Functional Programming ( IF 1.1 ) Pub Date : 2020-08-21 , DOI: 10.1017/s0956796820000234
MATT MCCUTCHEN , JUDITH BORGHOUTS , ANDREW D. GORDON , SIMON PEYTON JONES , ADVAIT SARKAR

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.

中文翻译:

弹性工作表定义函数:将电子表格函数推广到可变大小的输入数组

图纸定义的函数(SDF) 为电子表格世界带来了模块化和抽象性。唉,最终用户自然会编写可以正常工作的 SDF固定大小数组,这限制了它们的可重用性。为了帮助最终用户程序员编写更多可重用的 SDF,我们描述了一种有原则的方法概括这样的功能成为弹性 SDF可以处理任意大小的输入。我们证明,在自然、可检查的条件下,我们的算法返回输入 SDF 的主要概括。我们描述了弹性 SDF 的形式语义和几种有效的实现策略。一项针对电子表格用户的用户研究将使用弹性 SDF 进行编程的人类体验与依赖数组处理组合器的替代方案进行了比较。我们的用户研究发现,弹性 SDF 的认知负荷低于使用 map/reduce 数组组合器(最接近的替代解决方案)的 SDF。
更新日期:2020-08-21
down
wechat
bug