Spreadsheets with the power of Julia
julia> Pkg.add("Workbooks")
This package has the following aims:
-
Capture fundamental spreadsheet functionality
- Variables are represented by
Cell
s; there are no other/global variables - A
Cell
is defined by its formula, potentially calling functions that refer to otherCell
s - Updating a
Cell
causes its dependents to update (if the graph of references contains no cycles!) - A
Workbook
is a self-contained collection ofSheet
s
- Variables are represented by
-
Let the full power of Julia be used
Cell
s can have any value of any type, including anyNumber
, anArray
or aStruct
- Any function can be called in a
Cell
's formula - The
Workbook
comes with aProject.toml
file, and reads aninclude.jl
file 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