Re:Mesh Spreadsheet
by microcolonel on Monday September 30, 2019 @10:46AM
(#21115896)
> some remarks to "get there": it must be/feel fast like native Excel, Sublime Text or at least VS code.
As someone who is working on an Excel compiler, I can tell you it's challenging to make it very fast.
Re:Mesh Spreadsheet
by infinite8s on Monday September 30, 2019 @11:39AM
(#21116517)
Is your compiler running on an interpreted language? I think to make this sort of product fast requires JIT compiling the users expressions, and doing some sort of whole program analysis to pull out the dependencies between cells.
Re:Mesh Spreadsheet
by microcolonel on Monday September 30, 2019 @11:56AM
(#21116729)
I do whole program analysis, and the host is not interpreted. The costs are mostly about the data structures used to store the intermediate values. Automatically selecting whether to make some values contiguous or not is difficult, and the types are a bit complex (basically option types).
The sheets I'm working with have around a million expressions, and there are large sparse regions, so the data structures have to be a bit compact.
I also think it would be valuable to autoconvert long lines (rows or columns) of similar formulas into a mapping on an array. That would require some level of shape analysis on the excel file.
Re:Mesh Spreadsheet
by microcolonel on Monday September 30, 2019 @03:30PM
(#21118861)
That is in fact the first step, we have around 800k instances, but only around 1500 unique combinations of dependency shape and expression, which makes a big difference.
Re:Mesh Spreadsheet
by infinite8s on Monday September 30, 2019 @01:58PM
(#21117981)
Sounds interesting, have you published any more details anywhere?
Re:Mesh Spreadsheet
by microcolonel on Monday September 30, 2019 @03:33PM
(#21118885)
Not yet, gotta do our jobs first, then we can have the candy. :- )
I would like to do a write-up about it at some point though, if for no other reason but to show the Open Document or LibreOffice people what could be improved about the formats.
Agree on the speed.
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.
Keep the good work!
edit - some remarks to "get there": it must be/feel fast like native Excel, Sublime Text or at least VS code. In another phase, to be a real "programming editor" it would be great if you could use any programming language you want, not just JS. Clojurescript or Elm/Purescript could be a good start.
edit2 > ways to compress more functionality into the 'boilerplate' included with each sheet. I think the boilerplate should be somehow hidden from the end user.