Hacker News new | past | comments | ask | show | jobs | submit login
CellLVM: A proof-of-concept LLVM to Excel spreadsheet compiler (belkadan.com)
226 points by grungleshnorts on Jan 5, 2024 | hide | past | favorite | 27 comments



For too long, web browsers have dominated the market for applications that are consumed by document readers, glad to see some competition at last.


Interesting dichotomy! Ultimately I see the browser as a document viewer. As someone who’s trying to kill desktop apps once and for all with the progressive web app revolution, I’m very curious: what excites you about getting this in excel instead of, idk, Excel.com? Do you think there’s a fundamental performance difference that matters?


I like having the application on my machine so I can use it without permission or contact with the remote server, at least after licensing is completed. I find myself working offline more than you might imagine, and I also run desktop software that is 10 to 20 years old pretty regularly. I shudder to imagine what will happen to today's generation of SaaS software once it is past commercial viability. Probably it will be lost forever, unlike stuff from the 90s and 00s that still runs fine.


PWA means, in it's best iteration, it is on your machine. the browser is a sandbox and what you're doing is downloading a program.

it's the convergence of Java's "program once, run everywhere"

conceptually, this abstraction is similar to docker or k8: you're fundamentally disconnecting the metal from the OS from the app runner.

it's pretty much a useful abstraction with lots of parallels.

imagine the browser as the final unified app store.


Yes. There is an immediate tactile sense that everything is slower. This matters hugely to me because I regularly work with sheets that are already large and slow


Gotcha, thanks for the quick reply! I totally agree for google sheets in particular; honestly it slows unexpectedly, handling certain huge sheets fine and then dying at the sight of a couple thousand lines of conditional formatting.

That said, I was always hoping there was some option out there proving it to be possible! Here’s to hoping it comes soon if not, because I personally don’t understand why a spreadsheet needs OS calls to function performantly.

For simpler apps, I have hope for “local first web development”, which seeks to move everything possible onto the client device and then do asynchronous syncing - thus handling the latency issue you mentioned. I’m guessing this is basically already what Google sheets does


> As someone who’s trying to kill desktop apps once and for all with the progressive web app revolution

Yikes, I hope not. Powerful, native desktop apps are what got me interested in computing, not the Web.

Browsers are a good use-case for kiosk-based computing, I don't disagree, and there are many use-cases for effectively booting directly into a browser (i.e. ChromeOS) but when it comes down to wanting pedal to the metal, I always reach for native technologies. It provides both a better developer and end-user experience.

For instance, you asked what a spreadsheet program might need the OS for. Many spreadsheets are used as databases (even if they shouldn't). A high-speed asynchronous I/O API is pretty critical for responsiveness, without going through the interpreter and GC of a browser.


we should be friends


Related to this, I recommend Felienne Hermans' talks on Excel as a functional programming language - https://www.youtube.com/watch?v=0yKf8TrLUOw.


Not related to this, excel has just introduced Python support and it's a pretty wild take on it all. You can have Python code in any cell, and all the cells share a namespace for their variables. GL HF everyone.

Ideal: Functional. Reality: Stateful spaghetti


Yes. They've completely flubbed python-in-excel already.


I was so hyped when I found out spreadsheets had map/reduce, I thought we were entering a functional programming renaissance. This is appalling news that we are in fact entering a hotter trashfire than ever before.


Reminds me of MobX intro docs describing its observables in terms of spreadsheet cells with computed values.


This is impressively cursed.


That's exactly how I felt when I first heard about node.js, and look what happened there.


i now have a word to describe why i found this hilarious, thank you


Oh, so this is what they meant with "being proficient in Excel" /s

Though seriously quite a funny idea and I would love to see more of these projects. An excel to wasm compiler or similar might also be interesting.


Love this as a low level visual debugging tool.

What if you can compile down to Excellvm? Can see issues at a glance.


Wait'l people figure out Excel is thread safe and has no memory leaks. Every one will be rewriting things in that instead of Rust!


Too bad it has tons of memory leaks if you run even simple VBA using excel.


I want to see an Excel frontend to LLVM.


missed the chance to call this "CeLLVM"


Well good thing Google doesn't count Google Sheets toward the overall Drive storage.


Can it self-host?


How is the iteration triggered?


I don't think it is really, it must result in a single value, like an aggregate, at least that's what I understood from reading it.


Looking forward to the excel MLIR dialect. /s




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: