Maintaining Liveness in a Spreadsheet with Logic Programming


Philip T. Cox

Author Addresses: 

Faculty of Computer Science
Dalhousie University
6050 University Ave.
PO Box 15000
Halifax, Nova Scotia, Canada
B3H 4R2


Spreadsheets are among the most widely used programming tools, having been adopted almost universally for computing and tabulating financial information. They were not designed for use in strategic applications, however, since they lack all but the most rudimentary programming support, and are highly likely to contain errors.

In L-sheets, a recently proposed extension to spreadsheets, the standard data flow computational model is augmented with a form of visual logic programming in which term unification is replaced by array unification, providing both improved programmability and a means to specify the high-level structure of sheets.

One of the most important properties of spreadsheets is “level 3 liveness”, the immediate recomputation of those cells in a sheet affected by an editing change. This is simple to achieve with data flow computation, but is complicated by the addition of logic programming. Here we address the problem of maintaining liveness in L-sheets.

Tech Report Number: 
Report Date: 
June 18, 2009
PDF icon CS-2009-03.pdf1.1 MB