But...suppose we had a spreadsheet a little like Haskell where each
cell has a static type, and the values can be Haskell functions. What
interesting things could we do with it that we couldn't do with Excel?
I had a MSc student doing something in this direction some years ago. He
made a Haskell interface which was intended to work like a spreadsheet. In
this interface, every declaration has a value window (if the entity declared
has a showable type) and a declaration window. A designated button triggers
a recompilation, and thus also a recalculation of all declared values -
this, I think, captures the essence of spreadsheets which is to be able to
make changes and quickly see the results. In order to support the kind of
array omputations often done in spreadsheets, an extended array module was
defined which declares a number of array functions and other conveniences.
See http://www.mrtc.mdh.se/index.php?choice=projects&id=0041.