[Haskell-cafe] Speculation, OT: Program a Spreadsheet
trent.shipley at gmail.com
Sun Nov 19 11:12:52 UTC 2017
Middle posting follows
On Sun, Nov 19, 2017 at 3:40 AM Sergiu Ivanov <sivanov at colimite.fr> wrote:
> Hello Trent,
> Thus quoth trent shipley on Sun Nov 19 2017 at 08:05 (+0100):
> > I have a vision for a spreadsheet that is programmable as a spreadsheet
> > itself.
> > * Is a spreadsheet you can program from the spreadsheet a reasonable
> > goal?
> What kind of use cases do you imagine for your programmable spreadsheet?
> "Reasonable" will usually depend on your context.
> The idea in itself is definitely interesting, but you really should
> define the application context to make it clearer.
I really haven't thought of specific use cases, but I have thought in
general terms about what you might do with a natively programmable
1. It would be an interesting exercise in itself, and if it hadn't been
done before, might be worth a paper. (I submit that this is actually a real
2. It would be more elegant that the current solution to a programmable
spreadsheet, which is a spreadsheet that is almost, but not quite
programmable, with a helper imperative language and programming mode stuck
onto the base spreadsheet.
3. You could build a programmable spreadsheet on steroids with this
idea, and I have some other interesting ideas, like "virtual spreadsheets"
that would allow spreadsheets to extend into n dimensions (but I digress).
4. So engineers, scientists, economists, and finance might have niche
uses for a (n-dimensional) programmable spreadsheet on steroids--though I
don't know in detail what those would be.
5. I am a trained social scientist (anthropology) I know it is not
uncommon for social scientists to have to deal with large, multidimensional
datasets, and analyze the same. A multidimensional programmable spreadsheet
might help a lot with that.
6. I have heard that finance wizards often use Excel+VBA to do modeling.
They might like a consistent, single language programming environment that
offers more power and type safety that Excel + VBA. It would also need to
be FAST if it is to be used for something like market analysis or automated
Finding plausible use cases is also hindered by both a version of an
existing spreadsheet enabling native functions, or a more full featured
Scriptsheets product both being vaporware.
> > * Has it been done?
> > (I don't have the academic CS chops to know what keywords to use, and how
> > search CS publications in English.)
> I haven't heard of anything like that expressly, but then the functions
> in conventional spreadsheets are technically sufficiently powerful to
> express any computation.
> The question therefore comes back again to what your application would
> be: you could design your spreadsheet around it.
> > It would be natural to use C++, but the astute will note that a
> > basically does not rewrite cells (unless you use a circular reference),
> > I'd also like to use a functional language, maybe Haskel.
> Since you want to write functions in cells, you are probably better off
> using a language with a compact syntax. Haskell is one of them, but not
> the only one.
> Using C++ looks in no way natural _to me_; "natural" will also depend on
> your use case ;-)
The main argument for C++ is that if you are "reusing" existing code from
GNUmeric or LibreOffice Calc none of that is in a functional language. It
will tend to be in C++ (and maybe Java for Calc). That's an unfortunate
fact if you want to pilot the central idea on a FOSS spreadsheet as a proof
Also, if speed is of the essence, my impression is that C++ and C come to
> > Note that a spreadsheet needs to give the satisfaction of immediate
> > results, or failing immediate results, the sensation of actively working,
> > so if the language could be interpreted that would be a huge help.
> Since your spreadsheet code will be heavily modularised, you could
> probably do some very granular (therefore fast) compilation.
> > Note also, that I have only the equivalent of an AA degree from a CIS,
> > a CS, perspective, so the odds are the whole idea is vaporware, unless I
> > can determine feasibility and desirability, then sweet talk real
> > to help out.
> Having or not a degree is usually rather weakly (if not negatively)
> correlated with thinking or being capable of getting things done :-) So
> don't worry, go ahead and think big; there will always be people around
> to try and shoot down the hot-air balloons of your imagination for you.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell-Cafe