Spreadsheet languages, of which Microsoft Excel is the prototypical example, are arguably the most successful and widely used visual programming languages. The programming facilities provided by spreadsheets, however, are severely limited, forcing users who need more complex computations to resort to convoluted arrangements of arrays of intermediate results, textual languages such as Basic, built-in functions, and various other ad hoc devices that have been added over the years. A. consequence of this deficiency is that, despite their usefulness, spreadsheets are among the most error-prone of programming tools. To address this shortcoming, we propose an enhancement in which sheets can be programmed using logic programming. By replacing lists, the fundamental data structures of logic languages, with arrays, the fundamental structures of spreadsheets, we achieve a natural integration of logic-based and sheet-based computation, providing a concrete visualisation of operations that divide and assemble arrays of cells.
['Philip T. Cox']
Enhancing the Programmability of Spreadsheets with Logic Programming