Hostname: page-component-78c5997874-m6dg7 Total loading time: 0 Render date: 2024-11-18T03:58:03.423Z Has data issue: false hasContentIssue false

Spreadsheet functional programming

Published online by Cambridge University Press:  01 January 2007

DAVID WAKELING*
Affiliation:
The Business School, University of Gloucestershire, The Park, Cheltenham, Gloucestershire GL50 2RH, UK (e-mail: dwakeling@glos.ac.uk)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the ‘Save PDF’ action button.

The functional programming community has shown some interest in spreadsheets, but surprisingly no one seems to have considered making a standard spreadsheet, such as Excel, work with a standard functional programming language, such as Haskell. In this paper, we show one way that this can be done. Our hope is that by doing so, we might get spreadsheet programmers to give functional programming a try.

Type
Article
Copyright
Copyright © Cambridge University Press 2007

References

Abraham, R. & Erwig, M. (2004) Header and unit interfence for spreadsheets through spatial analyses. Pages 165–172 of: IEEE Symposium on Visual Languages and Human-centric Computing.Google Scholar
Ahmad, Y., Antoniu, T., Goldwater, S. & Krishnamurthi, S. (2003) A type sysetm for statically detecting spreadsheet errors. Pages 174183 of: IEEE International Conference on Automated Software Engineering. IEEE Press.Google Scholar
Antoniu, T., Steckler, P. A., Krishnamurthi, S., Neuwirth, E. & Felleisen, M. (2004) Validating the unit correctness of spreadsheet programs. Pages 439448 of: Proceedings of the International Conference on Software Engineering. ACM Press.CrossRefGoogle Scholar
Backus, J. (1978) Can programming be liberated from the von Neumann style? A functional style and its algebra of programs. Comm. ACM, 21 (8), 613641.CrossRefGoogle Scholar
Bullen, S., Green, J., Bovey, R. & Rosenberg, R. (2003) Excel 2002 VBA programmer's reference. Wrox Press.Google Scholar
Burnett, M., Atwood, J., Djang, R. W., Gottfried, H., Reichwein, J. & Yang, S. (2001) Forms/3: A first-order visual language to explore the boundaries of the spreadsheet paradigm. J. Func. Program. 11 (2), 155206.CrossRefGoogle Scholar
Casimir, R. J. (1992) Real programmers don't use spreadsheets. ACM SIGPLAN Notices, 27 (6), 1016.CrossRefGoogle Scholar
Ceruzzi, P. E. (2000) A History of Modern Computing. MIT Press.Google Scholar
de Hoon, W. A. C. A. J., Rutten, L. M. W. J. & van Eekelen, M. C. J. D. (1995). Implementing a functional spreadsheet in Clean. J. Func. Program. 3 (5), 383414.CrossRefGoogle Scholar
Gear, C. (1971) Numerical Initial Value Problems in Ordinary Differential Equations. Longman Higher Education.Google Scholar
Hodgkin, A. L. & Huxley, A. F. (1990) A quantitative description of membrane current and its application to conduction and excitation in nerve. Bull. Math. Biol. 52 (1/2), 2571.CrossRefGoogle ScholarPubMed
Hughes, J. (1989) Why functional programming matters. Comput. J. 32 (2), 98107.CrossRefGoogle Scholar
Jones, M. P. (1994) The implementation of the Gofer functional programming system. Tech. rept. YALEU/DCS/RR-1030. Yale University, Department of Computer Science.Google Scholar
Kay, A. (1984) Computer software. Scientific American, 3 (251), 5359.Google Scholar
Malmström, J. (2004) Haxcel: A spreadsheet interface to Haskell written in Java. M.Phil. thesis, Department of Computer Science, Mälardalen University.Google Scholar
Microsoft Corporation (2006) Excel. (((http://www.microsoft.com/excel))).Google Scholar
Peyton Jones, S. L., Eber, J.-M. & Seward, J. (2000) Composing contracts: An adventure in financial engineering (functional pearl). Pages 280292 of: Proceedings of the International Conference on Functional Programming. ACM Press.Google Scholar
Peyton Jones, S. L., Blackwell, A. & Burnett, M. (2003) A user-centred approach to functions in Excel. Pages 165176 of: Proceedings of the International Conference on Functional Programming. ACM Press.Google Scholar
Turner, D. A. (1982) Recursion equations as a programming language. In: Pages 128 of: Darlington, J., Henderson, P. and Turner, D. A. (eds.), Functional Programming and its Applications. Cambridge University Press.Google Scholar
Vass, M., Shaffer, C. A., Tyson, J. J., Ramakrishnan, N. & Watson, L. T. (2002) The JigCell model builder: A tool for modeling intra-cellular regulatory networks.Google Scholar
Wadler, P. (1998) Why no one uses functional languages. SIGPLAN Notices, 33 (8), 2327.CrossRefGoogle Scholar
Wakeling, D. (2004) Dealing with life in the cells: An experimental study.Google Scholar
Wray, S. C. & Fairbairn, J. (1989) Non-strict languages – programming and implementation. The Comput. J. 32 (2), 142151.CrossRefGoogle Scholar
Submit a response

Discussions

No Discussions have been published for this article.