Unification of Arrays in Spreadsheets with Logic Programming

Unification, one of the key processes underlying logic programming (LP), provides a powerful mechanism for assembling and disassembling structures, lists in particular, by matching patterns. In recent work, we showed how spreadsheets can be enhanced by adding a visual form of LP in which lists, the fundamental structures of LP, are replaced by rectangular arrays, the fundamental structures of spreadsheets. The benefits include enhanced programmability and a way to specify high level templates for spreadsheet structures. Here, we focus on the structure of arrays, and describe the array unification algorithm underlying our current implementation.

[1]  Michael Spenke,et al.  A spreadsheet interface for logic programming , 1989, CHI '89.

[2]  Krzysztof R. Apt,et al.  Logic Programming , 1990, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[3]  Zsuzsa Farkas LISTLOG - A Prolog Extension for List Processing , 1987, TAPSOFT, Vol.2.

[4]  Donald D. Chamberlin The "single-assignment" approach to parallel processing , 1972, AFIPS '71 (Fall).

[5]  Philip T. Cox Enhancing the Programmability of Spreadsheets with Logic Programming , 2007 .

[6]  C. R. Ramakrishnan,et al.  Deductive Spreadsheets Using Tabled Logic Programming , 2006, ICLP.

[7]  Sandra B. Fan,et al.  Snapshots: Capturing Dynamics of Student Sketches , 2007 .

[8]  Iliano Cervesato A Spreadsheet for Everyday Symbolic Reasoning , 2006, AAAI Fall Symposium: Integrating Reasoning into Everyday Applications.

[9]  Martin Erwig,et al.  Gencel: a program generator for correct spreadsheets , 2006, J. Funct. Program..

[10]  Margaret M. Burnett,et al.  Adding Apples and Oranges , 2002, PADL.

[11]  Raymond R. Panko,et al.  Spreadsheets and Sarbanes-Oxley: Regulations, Risks, and Control Frameworks , 2006, Commun. Assoc. Inf. Syst..

[12]  Margaret M. Burnett,et al.  Forms/3: A first-order visual language to explore the boundaries of the spreadsheet paradigm , 2001, Journal of Functional Programming.

[13]  Simon L. Peyton Jones,et al.  A user-centred approach to functions in Excel , 2003, ICFP '03.

[14]  Gopal Gupta,et al.  Knowledgesheet: A Graphical Spreadsheet Interface for Interactively Developing a Class of Constraint Programs , 2000, PADL.

[15]  Margaret M. Burnett,et al.  Journal of Visual Languages & Computing Interactive, Visual Fault Localization Support for End-user Programmers This Paper Updates and Extends Earlier Work That Appeared In , 2022 .

[16]  Akikazu Takeuchi,et al.  Spreadsheets with Incremental Queries as a user interface for logic programming , 2009, New Generation Computing.

[17]  Jocelyn Paine Excelsior: Bringing the Benefits of Modularisation to Excel , 2008, ArXiv.

[18]  Martin Erwig,et al.  Inferring templates from spreadsheets , 2006, ICSE '06.