Unification of Arrays in Spreadsheets with Logic Programming
Conference paper
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.
Keywords
Spreadsheet logic programming array unificationPreview
Unable to display preview. Download preview PDF.
References
- 1.Abraham, R., Erwig, M.: Inferring templates from spreadsheets. In: 28th ACM International Conference on Software Engineering, Shanghai, China, pp. 182–191 (May 2006)Google Scholar
- 2.Bricklin, D., Frankston, R.: VisiCalc: Information from its creators (July 2007), http://www.bricklin.com/visicalc.htm
- 3.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)zbMATHGoogle Scholar
- 4.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)Google Scholar
- 5.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)Google Scholar
- 6.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)Google Scholar
- 7.Erwig, M., Abraham, R., Cooperstein, I., Kollmansberger, S.: Gencel: A Program Generator for Correct Spreadsheets. Journal of Functional Programming 16(3), 293–325 (2006)zbMATHCrossRefGoogle Scholar
- 8.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)CrossRefGoogle Scholar
- 9.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)Google Scholar
- 10.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)CrossRefGoogle Scholar
- 11.Paine, J.: Excelsior: Bringing the benefits of modularisation to Excel. In: Proc. EuSpRIG 2005, Greenwich UK (July 2005)Google Scholar
- 12.Panko, R.R.: Spreadsheets and Sarbanes-Oxley: Regulations, Risks, and Control Frameworks. Communications of the Association for Information Systems 17(29), 647–676 (2006)Google Scholar
- 13.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)Google Scholar
- 14.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)CrossRefGoogle Scholar
- 15.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)CrossRefGoogle Scholar
- 16.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)Google Scholar
- 17.Swedish Institute of Computer Science, SICStus Prolog, http://www.sics.se/sicstus/
- 18.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)Google Scholar
- 19.Wilson, S.: Building a Visual Programming Language, MacTech 13(4) (July 2007), http://www.mactech.com/articles/mactech/Vol.13/13.04/Spreadsheet2000/
Copyright information
© Springer-Verlag Berlin Heidelberg 2007