Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Abraham, R., Erwig, M.: Inferring templates from spreadsheets. In: 28th ACM International Conference on Software Engineering, Shanghai, China, pp. 182–191 (May 2006)
Bricklin, D., Frankston, R.: VisiCalc: Information from its creators (July 2007), http://www.bricklin.com/visicalc.htm
Burnett, M., Atwood, J., Djang, R., Gottfried, H., Reichwein, J., Yang, S.: Forms/3: A First-Order Visual Language to Explore the Boundaries of the Spreadsheet Paradigm. Journal of Functional Programming 11(2), 155–206 (2001)
Cervesato, I.: A Spreadsheet for Everyday Symbolic Reasoning. In: AAAI Fall Symposium on Integrating Reasoning into Everyday Applications, Arlington VA, pp. 1–8 (October 2006)
Chamberlin, D.D.: The “single-assignment” approach to parallel processing. In: Proc. AFIPS Fall Joint Computer Conference, Las Vegas NV, pp. 263–270. AFIPS Press, Montvale, N.J (1971)
Cox, P.T.: Enhancing the Programmability of Spreadsheets with Logic Programming. In: Proc. IEEE Symposium on Visual Languages and Human-Centric Computing, Coeur d’Alène ID (to appear, 2007)
Erwig, M., Abraham, R., Cooperstein, I., Kollmansberger, S.: Gencel: A Program Generator for Correct Spreadsheets. Journal of Functional Programming 16(3), 293–325 (2006)
Erwig, M., Burnett, M.: Adding Apples and Oranges. In: Krishnamurthi, S., Ramakrishnan, C.R. (eds.) PADL 2002. LNCS, vol. 2257, pp. 173–191. Springer, Heidelberg (2002)
Farkas, Z.: LISTLOG - A Prolog Extension for List Processing. In: Ehrig, H., Levi, G., Montanari, U. (eds.) TAPSOFT 1987 and CFLP 1987. LNCS, vol. 250, pp. 82–95. Springer, Heidelberg (1987)
Gupta, G., Akhter, S.: Knowledgesheet: A graphical spreadsheet interface for interactively developing a class of constraint programs. In: Pontelli, E., Santos Costa, V. (eds.) PADL 2000. LNCS, vol. 1753, pp. 308–323. Springer, Heidelberg (2000)
Paine, J.: Excelsior: Bringing the benefits of modularisation to Excel. In: Proc. EuSpRIG 2005, Greenwich UK (July 2005)
Panko, R.R.: Spreadsheets and Sarbanes-Oxley: Regulations, Risks, and Control Frameworks. Communications of the Association for Information Systems 17(29), 647–676 (2006)
Peyton Jones, S., Blackwell, A., Burnett, M.: A user-centred approach to functions in Excel. In: 8th ACM SIGPLAN International Conference on Functional Programming, Uppsala, Sweden, pp. 165–176 (August 2003)
Ramakrishnan, C.R., Ramakrishnan, I.V., Warren, D.S.: Deductive Spreadsheets Using Tabled Logic Programming. In: Etalle, S., Truszczyński, M. (eds.) ICLP 2006. LNCS, vol. 4079, pp. 391–405. Springer, Heidelberg (2006)
Ruthruff, J.R., Prabhakararao, S., Reichwein, J., Cook, C., Creswic, E., Burnett, M.: Interactive, visual fault localization support for end-user programmers. Journal of Visual Languages & Computing 16(1-2), 3–40 (2005)
Spenke, M., Beilken, C.: A spreadsheet interface for logic programming. In: ACM Conference on Human Factors in Computing Systems, Austin TX, pp. 75–80 (1991)
Swedish Institute of Computer Science, SICStus Prolog, http://www.sics.se/sicstus/
van Emden, M.H., Ohki, M., Takeuchi, A.: Spreadsheets with Incremental Queries as a User Interface for Logic Programming, ICOT Technical Report, TR-44 (October 1985)
Wilson, S.: Building a Visual Programming Language, MacTech 13(4) (July 2007), http://www.mactech.com/articles/mactech/Vol.13/13.04/Spreadsheet2000/
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Cox, P.T., Nicholson, P. (2007). Unification of Arrays in Spreadsheets with Logic Programming. In: Hudak, P., Warren, D.S. (eds) Practical Aspects of Declarative Languages. PADL 2008. Lecture Notes in Computer Science, vol 4902. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-77442-6_8
Download citation
DOI: https://doi.org/10.1007/978-3-540-77442-6_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-77441-9
Online ISBN: 978-3-540-77442-6
eBook Packages: Computer ScienceComputer Science (R0)