Spreadsheets 1/3 – Rye Language
ryelang.org
ryelang.org
So far I mostly used spreadsheets as immutable data. There are cases when you want / need to change values in-place so how this would work / make sense is being explored now. In immutable data there is no reactive content, because nothing changes.
Immutable approach seems to me to be generally the default one, so maybe we won't delve too much in mutable side, but if we find it useful for specific cases (maybe more directly tied to UI) adding something like calculated columns and or rows wouldn't be hard or of of character for Rye where code and data intermingle often.
Maybe I'll just rename it to table locally and try to use it for a while to see how it feels :)
Now the default mode of operation is spreadsheet as immutable data. So it's not really reactive, but it's still declarable. I am open to renaming it to "table", but I also want to first see where the mutable (spreadsheet as state holding structure) part brings me. Thanks (and also to the similar sibling comment).
The term “table” is already established for this domain, for example in RDBMS.
What you’re building is more inline with that verses the established definition of a spreadsheet.
Keep up the good work though.
I saw Murex Shell ... cool!
* For example, what if Excel wasn't an endless canvas, it would seem conceptually clearer if one sheet was exactly one table with known shape (and you can of course create multiple tables in the same workbook).
* whole column should have the same "formula" and the row for sums / averages and other aggregate functions is not positionaly determined but is more declarative and always on the end.
* header columns are a specific row, not just the first of the rows, or missing
I'm not saying such limited "Excel" would be a better Excel, but maybe it would make more sense, be safer and more predictable, for a subset of users. Anyway ... it's just a sub-experiment.
What negative connotations of Excel do you see?
In the DE space, Excel is the bane of my existence. Some examples of messes we are asked to unravel:
* Cut and paste errors are too easy, once had an an executive boardroom meeting get derailed because one of the execs transposed a column header without realizing it.
* "Who has the most recent file?" becomes a cat and mouse game that sometimes does not have a single answer.
* Just yesterday I dealt with a "business critical" issue where a workbook with >300K VLOOKUPS caused the workbook to become unusable on common workstations - recalc times (with multithreading on) were excessive.
These are common stories, but my biggest issue is reproducibility. Understanding how data arrived at its current state can be impossible, and non/semi technical business users are often not held accountable for an audit trail. At times, Excel being an option is why we don't build more robust solutions, Excel is the gateway drug to failure.
"Spreadsheet" sometimes equates to "a mess", where "data frame" equates to sanity. Reforming the concept of a spreadsheet is a noble goal, but perhaps there is too much history to overcome.
I see too much chance to overwrite something I didn't mean to, or without noticing even. Contrary to Scripts those things are not reversible or reproducible ... I'm not sure if there is some log of changes in Excel.
So at the end, maybe really another reason to change the naming ... :p
Rye "spreadsheets" are rectangular structures composed of rows and columns, like a SQL table or a dataframe.
Second was about a general Ryelang.org page / language
Current submission is of a longer page about the Spreadsheet data type.
This cookbook page is focused specifically on the Spreadsheet datatype, which is similar to dataframes, but also has a lot of specific ideas and views I think. It's not something that other languages couldn't implement.
Page could be a long blogpost, but since it's not temporary information, I made it in a form of a cookbook.
I am the author, but I didn't submit it here. I did submit it on lobsters, and someone reposted it to hn it seems.
Just thinking ahead ... does this mean that for next 5 months, any subject related to Ryelang is not really desired on HN? For example, let's say that I integrate a game engine and write a post about that with examples and make a live database backend for the Rye contexts. Is this all still considered incremental releases / follow up?
The whole thing is relatively woolly/porous, the goal is to avoid obvious repetition, not to lock you out of posting about your work on HN.
Anyway, in the spirit of being helpful I found an asciinema of the spreadsheet behavior https://asciinema.org/a/647708 (from https://github.com/refaktor/rye#asciinema-demos )