<div dir="ltr">Hi Olaf,<div><br></div><div>I must say you haven't convinced me that there is no use for a spreadsheet functional language. Nor have you convinced that important, mission critical work is not done in spreadsheets.</div><div><br></div><div>However, what you want certainly seems worthwhile.  Where can I see an example of what Mathematica does. It costs the Earth, and I've never played with it.</div><div><br></div><div>For simplicity I will assume serial code, not parallel.</div><div><br></div><div>Code is linear in almost all programming models. Code flows left to right and down the page (screen, at least in English). </div><div><br></div><div>So what I imagine you want is something like a persistent code tracer, that by default reruns the code as changes are made.</div><div><font face="monospace"><br></font></div><div><font face="monospace" size="2">      | Input | Code      | Result | Comment | LaTeX  | Etc  | Many Possible Columns</font></div><div><font face="monospace" size="2">----------------------------------------------------------------------------</font></div><div><font face="monospace">0001   | input1 | expression1 | result1 | comment1 | formula1 | etc1 |</font></div><div><font face="monospace">-----------------------------------------------------------------------</font></div><div><font face="monospace">And so on to the end of the program.</font></div><div><br></div><div>Like so?</div><div>A tabular view of the program and it's execution. You can program in the table. The table auto-updates when you change stuff. Works best with LOTS of screen real estate.</div><div><br></div><div>That would be kinda cool.</div><div><br></div><div>You might want to refine your idea and start another thread about that.  It's cool, but it's not a functional spreadsheet like in <a href="https://www.microsoft.com/en-us/research/publication/a-user-centred-approach-to-functions-in-excel/" rel="noreferrer" target="_blank" style="outline:transparent solid 1px">https://www.microsoft.com/en-us/research/publication/a-user-centred-approach-to-functions-in-excel/</a> and some of the article's citations, which is very much what I'm talking about. It looks like I could have plagiarized most of my ideas from that article, even though I've never read it before. (I was aware of comparisons of spreadsheets to functional programming before.) </div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr">On Sun, Nov 19, 2017 at 1:39 PM Olaf Klinke <<a href="mailto:olf@aatal-apotheke.de">olf@aatal-apotheke.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello Trent,<br>
<br>
let me suggest to step back and think about why people use spreadsheets. They provide access to data analysis functions, statistics and graphing that is otherwise missing (at least on) Windows systems. Serious number crunching is not done in spreadsheets, though. There is R, Matlab and the like. You should not try to comptete with that. The big selling point (in my eyes) of spreadsheets over scripting languages like R is that the data as well as the formulae and intermediate results are, well, spread out in front of your eyes. That is e.g. desirable when you need someone else to understand what you did and how you arrived at the answer given. But is it important that the intermediate result resides in cells C2 to C13? Certainly not.<br>
I wrote a small financial application in Haskell that would otherwise be done in spreadsheets. Haskell provided, via its type system, extra sanity checks and much more that spreadsheets don't provide. However, I often wished that there was a way to disassemble the computation into logical bits that can be formatted neatly and be presented to a human inspector. Haskell provides ways to do this, e.g. by mixing Haskell and LaTeX, or writing a small DSL with two interpreters, one for calculations, one for layout.<br>
So instead of enhancing a spreadsheet format I'd rather have a scripting language with a workbook file format à la Mathematica, where comments, code and results of computations are displayed together. Changing a formula triggers change in the results. (The workbooks I've seen don't do that.) Input data and intermediate results can be hidden or expanded via mouse click. Results can be traced back through the workbook's formulae up to the input data. (The latter is not always easy in spreadsheets.) One would need to research whether such a language exists. If not, I'd be happy to help develop it.<br>
<br>
Olaf<br>
<br>
</blockquote></div>