Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Love it — a step towards letting people do algebra instead of arithmetic (going up one level of abstraction, basically).

We've implemented almost precisely this in Causal (https://causal.app) — models come with the 'time' dimension as a first-class citizen [1], letting you write a single formula like

   Revenue[t] = Revenue[t-1] * (1 + Growth Rate)
to calculate the Revenue at all points in time. And you can do vectorised operations along the time dimension by writing formulas like this:

   Profit = Revenue - Costs
where Revenue and Costs, and therefore Profit, vary over time.

---

[1]: You can specify the time dimension yourself, e.g. "Monthly, Jan 2018 – Jan 2023" or "Yearly, 2020 – 2030"



Very interesting. I believe that Bret Victor does the time part really well (visually) here: http://worrydream.com/MediaForThinkingTheUnthinkable/ (in demo 4). Also, Mesh apreadsheet is very interesting in this regard, especially with K (Array based language) embedded in it. You can then write a bunch of expressions as {function} scan over initial values, both time based or otherwise. http://mesh-spreadsheet.com/


That reminds me a lot of Lotus Improv (somewhat before my time) and one of my favourite tools, Quantrix Modeler. There are some more modern alternatives out there that take a similar approach — I just saved a model I’m editing on my iPad in XCubes, for example.


I'm working with @refrigerator on Causal. We also came up with a similar way of nesting spreadsheets (here’s a demo video: https://www.loom.com/embed/0d7a784308c345e08e72451ed854c590).

In Causal any cell (we call them variables) can be computed by another spreadsheet (we call them models). To make this more powerful a model can have input parameters like functions in programming languages. So a model can be composed of reusable submodels.

There’s a bunch of spreadsheet templates floating around the internet but there’s no way to compose them or update them. Wouldn’t it be great to have something like npm for spreadsheet models?


yes, that would be great!


Just kicked the tires on Causal, it's pretty great! I really like the fact that there's auto completion for variable names, it makes it pretty straightforward to build formulas.

The only thing I couldn't figure out is how to rename a scenario.


Thanks! Unfortunately, there's no way to rename scenarios right now. Coming soon :)


From what I can tell, Causal's models only run forwards, with no inference (ie, they can generate predictions from priors, but they can't update those priors from observations).

Is adding inference on the roadmap?


Yeah we sadly don't do inference right now. The initial vision was for the product to be a nice UI to let people build Bayesian networks, but now we're focusing more on a mainstream audience so probably won't be adding inference at all!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: