1,055 karma · joined July 21, 2017
2019-09-25 14:44:44 2core 3gb avx2 © shakti l test
v:3 4
v+v
6 8
v+'v
6 8
+'[v;v]
6 8
v+/:v
6 7
7 8
+/:[v;v]
6 7
7 8i'm not trying to purposefully copy [Arthur's] style. i've always been trying to write shorter code - there are public traces of how that evolved in ngn/apl and in dyalog's ride. i acknowledge that after seeing some of arthur's code, including b, my mental threshold of what is considered acceptable dropped significantly. once you accept certain principles about the code, for instance that it's more important to be able to hold it at once in your head than to be able to explain it to the uninitiated, this style becomes more efficient and more pleasant
...
if you seek simplicity, this style is to a large extent discovered (as opposed to invented)
complicated things can be arranged in many ways. simple in few. that's why it always looks like entropy is increasing in the physical world :)
https://chat.stackexchange.com/transcript/message/52953241#5...
Yes - there are, or will be, other special fields, such as 'transpose' (so table headers would go in the first column instead of the first row). I was still figuring out which flags should be included, which is why it was under-documented.
Never expected sub-tables as a use case. Displaying nested cells would require a substantial re-write, but having logically nested tables may work... you'd just need to call the table making boilerplate function manually.
Not every programming language is suitable but ClojureScript would probably work (no plans to support it right now though, gotta finish this one first!).
Considering hiding the boilerplate in the text pane.
I'd like to stick to a grid for writing 'functional core' logic, but there's potential to use a node interface at the surface of the 'imperative shell', to link up sheets or data feeds (push/pull). I was really impressed by Nodes [2] and I need to spend some time digging into Node-RED [3].
Mesh is still very much an alpha. Since the last public commit I have been experimenting with:
- different text representations of the sheet (to make diffs as readable as possible)
- ways to compress more functionality into the 'boilerplate' included with each sheet.
On the to-do list are:
- persistence (including fixing "save sheet as URL" and local load/save)
- selecting input cells with a keyboard while editing a formula
- a way to include 'standard' spreadsheet formulas such as 'SUM' on-demand in the sheet file
- case-insensitive cell references
- much more polish...
JavaScript's lack of a built-in parser is a real bummer, and it means that while Mesh's backend logic can be written as a spreadsheet, in Mesh [1], the file has to include a third-party JS parser, which significantly slows down the editing process. I'd also like a proper SQL and first-class table support, but we work with what is supported by Internet Explorer 11.
I remain confident that we can substantially improve the status quo of spreadsheets and, by extension, programming.
[1] https://twitter.com/MeshSpreadsheet/status/10195553103635046...