Spreadsheets with the power of Julia
julia> Pkg.add("Workbooks")This package has the following aims:
-
Capture fundamental spreadsheet functionality
- Variables are represented by
Cells; there are no other/global variables - A
Cellis defined by its formula, potentially calling functions that refer to otherCells - Updating a
Cellcauses its dependents to update (if the graph of references contains no cycles!) - A
Workbookis a self-contained collection ofSheets
- Variables are represented by
-
Let the full power of Julia be used
Cells can have any value of any type, including anyNumber, anArrayor aStruct- Any function can be called in a
Cell's formula - The
Workbookcomes with aProject.tomlfile, and reads aninclude.jlfile if present - Standard tooling can add plotting, benchmarking, and other analysis
-
Other features
- Simple file format: zipped collection of sheets + config file
- Interoperability through CSV (and, hopefully one day, a subset of Excel)
- Ability to use Julia packages for graphs and anything else
- VisiCalc "was the first piece of software that was so popular that it drove people to buy computers just to run it"
- Project Jupyter -- notebooks are amazing. Workbooks are a different, complementary point on the spectrum of tools.
- What can a technologist do about climate change? A personal view. Tools for scientists & engineers