Spreadsheet Implementation Technology: Basics and Extensions

Spreadsheets are used daily by millions of people for tasks that range from organizing a list of addresses to carrying out complex economic simulations. Spreadsheet programs are easy to learn and convenient to use because they have a clear visual model and a simple efficient underlying computational model. Yet although the basic spreadsheet model could be extended, improved, or otherwise experimented with in many ways, there is no coherently designed, reasonably efficient open source spreadsheet implementation that is a suitable platform for such experiments. This book fills the gap, teaching users how to experiment with and implement innovative spreadsheet functionality and introducing two software platforms for doing so. Along the way, it draws on and illustrates software technologies and computer science topics that range from object-oriented programming to compiler technology. Spreadsheet Implementation Technology surveys a wide range of information about spreadsheets drawn from user experience, the scientific literature, and patents. After summarizing the spreadsheet computation model and the most important challenges for efficient recalculation, the book describes Corecalc, a core implementation of essential spreadsheet functionality suitable for practical experiments, and Funcalc, an extension of Corecalc that allows users to define their own functions without extraneous programming languages or loss of efficiency. It also shows the advantages of automatic function specialization and offers a user's manual for Funcalc. The Corecalc and Funcalc software is downloadable free of charge.