I had a situation in a certain business field where the calculations the customer designed and implemented in a spreadsheet changed so regularly that implementing them in code was unworkable because by the time the code was out if was both late and outdated. I designed[0] a solution that recursively parsed and resolved the formulas from a list of input and output cells, built an AST out of it and transpiled it to actual code or bytecode. The prototype worked beautifully and made the result diffable, extendable with, and easily embeddable within real code. My then boss found the solution useless and NASA-class, outright rejected it, and had another team just spin up some Excel, calling it with OLE or whatever and called it a day, which had abysmal performance, reliability, and runtime cost (as in $$) which ended up killing the deal with the now irate customer.
[0] Actually since I had the idea waaaay before the business need and project, I had a personal MIT-licensed clean room toy implementation of it sleeping somewhere on my hard drive and used that for the business prototype.
Thank you! That's the plan since the onset as soon as I have some time to turn this into not a glorious hack that basically only runs on my machine. Just the Excel and OpenDocument formula parser (using PEG via treetop in Ruby, can't recall what I used for Go, got a Python thing too) could be very useful to some already.
Honestly even as a horrible hack that only runs on your machine, I think I’d be interested in seeing it. PM me and I’d be happy to help make it not-so-hacky. I say this as someone who has plenty of projects in the “drafts” bin that often just needed a conspirator to have a reason to push things over the line.
[0] Actually since I had the idea waaaay before the business need and project, I had a personal MIT-licensed clean room toy implementation of it sleeping somewhere on my hard drive and used that for the business prototype.