Skip to main content

Unification of Arrays in Spreadsheets with Logic Programming

  • Conference paper
Practical Aspects of Declarative Languages (PADL 2008)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4902))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

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)

    MATH  Google 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)

    Article  MATH  Google 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)

    Chapter  Google 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)

    Chapter  Google 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)

    Chapter  Google 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)

    Article  Google 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/

Download references

Author information

Authors and Affiliations

Authors

Editor information

Paul Hudak David S. Warren

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics