Middle posting follows. On Thu, Nov 2, 2017 at 2:45 PM Matt Birkholz wrote: > On Thu, 2017-11-02 at 17:51 +0000, trent shipley wrote: > > Right, it's not scripting using a classic programming environment, > > like VBA, the BASIC that comes with LibreOffice, or Python. > > > > The idea is that you extend the spreadsheet idiom to program the > > spreadsheet from a sheet or virtual workbook in the spreadsheet > > without leaving the spreadsheet to work in a classical imperative > > programming environment like VBA or Python. > > > > > > |A | B | C | > > 1|PARAMETERS(B1,C1)||| > > 2| | | | > > 3|RETURN(B1*C1) | | | > > FUNCTION SHEET("MY_FUNCTION") > > That is very reminiscent of Emacs' Org-mode, which has plain text > spreadsheets like the above. With a key stroke or three a "source code > block", a script written in any of a variety of languages, can be fed > such tables and the results captured in the document as text, table, > plot... > > There is a cool org-mode document demonstrating genetic drift using R > plots and a little LaTeX for an equation. Here it is rendered for the > web. > > http://www.stats.ox.ac.uk/~davison/software/org-babel/drift.org.html > > People use org-mode for everything from literate programming to > reproducible research to organizing their lives (calendars and task > lists). > > http://orgmode.org/ It looks like an interesting little tool. As one of it's tricks, it has a built in text spreadsheet you can use with Emacs Calc and Emacs Lisp. Emacs can be SO cool. How do you use the spreadsheet. Can you program in the spreadsheet? I didn't mean for my little prototype to imply I'm dreaming of a text tool. I want Scriptsheets to be a GUI environment (by stealing from the likes of GNUmeric or LibreOffice Calc); albeit a minimalist core GUI that can be enhanced with plugins. Think of it this way. Traditional spreadsheets HAVE a programming language and an environment for the language. Scriptsheets will BE a programming language. > > > You have data, it's a spreadsheet. > > The moral equivalent of sequence is referencing another cell, > > including one that contains a function. > > You have selection with the IF() function. > > You speak of morality and then call IF a function. Blasphemer! > In a spreadsheet IF() is definitely a function. > > With the addition of just two keywords, PARAMETERS and RETURN you > > have real functions. > > What's a "key word"?? > Keyword? Reserved word? There are actually at least three things involved. *Declaring (or in a GUI marking the property) that a sheet is for a function. This creates a local scope so the effects of the function don't propagate through the workbook, except for the effect of the RETURN(S). *Declaring cells that will be parameters. In a spreadsheet, that is going to look like a function. * Returning a result. That looks like a function too. > > You have looping with functions calling themselves (recursion), and > > possibly circular references. > > > > My understanding is that's a complete programming paradigm. > > Fun! Can you do it with coconuts? > If you have a very fault tolerant Babbage class computer, you can probably do it with coconuts. > --------------------------------------------------- > PLUG-discuss mailing list - PLUG-discuss@lists.phxlinux.org > To subscribe, unsubscribe, or to change your mail settings: > http://lists.phxlinux.org/mailman/listinfo/plug-discuss