|
| 1 | +--- |
| 2 | +title: Projects inspired by spreadsheets |
| 3 | +contributors: Kartik Agaram |
| 4 | +--- |
| 5 | + |
| 6 | +## Projects |
| 7 | + |
| 8 | +[Treesheets](https://strlen.com/treesheets) |
| 9 | + |
| 10 | +[Espalier](https://sdg.csail.mit.edu/projects/espalier) (2016) |
| 11 | + |
| 12 | +[LoGlo](https://loglo.app) |
| 13 | + |
| 14 | +[FlowSheets](https://github.com/Glench/Flowsheets-v2) |
| 15 | + |
| 16 | +[PERPLEX](https://dl.acm.org/doi/abs/10.1145/67449.67466) (1989) leans into programming by example |
| 17 | + |
| 18 | +[Sassy](https://sol-hsa.itch.io/sassy), a modular synthesizer |
| 19 | + |
| 20 | +[Functions in Excel](https://web.engr.oregonstate.edu/~burnett/Reprints/icfp03.excelFunctions.pdf) (2003) |
| 21 | + |
| 22 | +[Elastic sheet-defined functions](https://www.microsoft.com/en-us/research/uploads/prod/2018/11/elastic-sdfs-5bfd1d48e9dd2.pdf) (2018) |
| 23 | + |
| 24 | +[Constraint-based spreadsheet](https://github.com/harc/constraint-based-spreadsheet) |
| 25 | + |
| 26 | +[Holograph](https://www.holograph.so), using propagator networks |
| 27 | + |
| 28 | +[Homoiconic spreadsheets](https://www.youtube.com/watch?v=U9uZlEqUQw0) (2022) |
| 29 | + |
| 30 | +[The intentional spreadsheet](https://billwadge.com/2020/04/20/the-intensional-spreadsheet) (2020) |
| 31 | + |
| 32 | +[Eve](http://witheve.com) |
| 33 | + |
| 34 | +[Userland](https://github.com/hishamhm/userland-prototype) (2019) |
| 35 | + |
| 36 | +[StreamSheets](https://futureofcoding.org/prototypes/streamsheets) (2017) |
| 37 | + |
| 38 | +## Homage |
| 39 | + |
| 40 | +[Why do spreadsheets work so well](https://www.miramontes.com/writing/spreadsheet-eup) (1990) |
| 41 | + |
| 42 | +[Excel never dies](https://www.notboring.co/p/excel-never-dies) (2021) |
| 43 | + |
| 44 | +[Dan Bricklin at TED](https://www.ted.com/talks/dan_bricklin_meet_the_inventor_of_the_electronic_spreadsheet) (2016) |
| 45 | + |
| 46 | +"[Key features to steal from spreadsheets:](https://x.com/stevekrouse/status/1076979937440161793) |
| 47 | + |
| 48 | +* show data, no hidden state |
| 49 | +* no control flow (only expressions, no statements) |
| 50 | +* one mode (no "running" or "stopping") |
| 51 | +* errors isolated (to buggy cells; clean cells unaffected) |
| 52 | + |
| 53 | +[Spreadsheets for Developers](https://www.youtube.com/watch?v=0CKru5d4GPk) (2014) |
| 54 | + |
| 55 | +[Pure Functional Programming in Excel](https://www.youtube.com/watch?v=0yKf8TrLUOw) (2016) |
| 56 | + |
| 57 | +[SocialCalc](https://github.com/DanBricklin/socialcalc) (2010) |
| 58 | + |
| 59 | +[ethercalc](https://github.com/audreyt/ethercalc) |
| 60 | + |
| 61 | +## Demos |
| 62 | + |
| 63 | +[Smoothie](https://x.com/KabirGoel/status/1643868228865916928) |
| 64 | + |
0 commit comments