
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.
* 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 spreadsheet basically does not rewrite cells (unless you use a circular reference), so 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 ;-)
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, not a CS, perspective, so the odds are the whole idea is vaporware, unless I can determine feasibility and desirability, then sweet talk real developers 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. -- Sergiu