I'm the author of the research paper (https://arxiv.org/abs/2505.20314) and owner of that GitHub account.
Please see my comment here: https://news.ycombinator.com/item?id=46069564
HN user
I'm the author of the research paper (https://arxiv.org/abs/2505.20314) and owner of that GitHub account.
Please see my comment here: https://news.ycombinator.com/item?id=46069564
Awesome post, please make a Zig library!
Author here. Thanks for posting.
I spent several years' worth of weekends working on this, and I'm glad to see it here on Hacker News.
I started working on this problem when I learned about Lamping's algorithm for optimal lambda reduction [1]. He invented a beautiful algorithm (often referred to as his "abstract algorithm"), which uses fan-in and fan-out nodes to reduce lambda terms optimally (with optimal sharing). Unfortunately, in order to make it fully work, some fans needed to duplicate one another while others needed to cancel one another. To determine this correctly Lamping had to extend his abstract algorithm with several delimiter node types and many additional graph reduction rules. These delimiter nodes perform "bookkeeping", making sure the right fan nodes match. I was dissatisfied with the need for these additional nodes and rules. There had to be a better way.
My goal was to try to implement Lamping's abstract algorithm without adding any delimiter nodes, and to do it under the interaction net paradigm to ensure perfect confluence. I tried countless solutions, and finally Delta-Nets was born. Feel free to ask any questions.
I recently started building a programming language on top of Delta-Nets, called Pur (https://pur.dev/).
Feel free to follow along this journey:
Author here. Other experts in this field have also used the term "lambda reduction", including Levy himself [1] and Lamping [2], both which are referenced in the Delta-Nets paper. "Lambda-reduction" is clearly an abbreviation of Lambda-calculi reduction.
Excellent article. I'm looking forward to Zig's upcoming async I/O.
Loosely related: https://www.quantamagazine.org/computer-scientists-invent-an...
Six weeks of six days (4 work days and 2 rest days) in a month would be better than four weeks of nine days (6 work days and 3 rest days) in my opinion.
Awesome! I'm a big fan of Keras and this is an exciting update.
Cool! Sounds a bit like the weekly founder meetings that https://www.startupschool.org/ had, which were a lot of fun and very helpful.
Very cool idea - starred!
This is awesome! It looks like a fantastic way to play with boolean logic and learn/teach how computers work. I love the ability to encapsulate circuits and abstract them into higher level components.
Very cool! Love the visualizations.
This is a cool idea that I hadn't heard or thought of before.
I just want to say Bevy is great! Thanks for building and maintaining such a cool project.
Check out https://petals.ml/.
Javalin is a great name!
Nice article! I'm building a language (https://flame.run/) in Rust that aims to have WebGPU+GUI support built-in. I'm playing with refinement types, which you effectively described in the second-to-last section. I'm not familiar with contract-based languages (other than Solidity), but I think refinement types would allow specifying function parameter requirements in a similar fashion to what you described in your contract-based language section.
How about PostgreSQLite? Joke aside, is anyone building something that takes a stab at fixing the issues with both?
I'm building a language (https://flame.run) and trying a similar idea for imports. In my language there is no package manager. Files just import other files, locally or from URLs (like Deno). But, unlike Deno, I'd like to store the hashes of the imported files for security. I don't want to create a secondary file a la package.json, or even two files like go.mod/go.sum. So the idea I'm probably going with is that whenever you run/compile a program the tooling warns you and asks to insert the missing hashes of the imported files for you, inline.
We only need an application web. A blog post can be just a markdown file. Want to read it? Use a markdown viewer (from the application web). Want to build a more complex experience? Build an application. You can hardcode/bake the content into it (like we do today).
An "URL" could instead be something like an application+datasource pair. The applications are automatically hashed and signed and you can provably verify they haven't changed if you want to. When you request an application to the network, you'll download it from the closest peer (maybe from multiple peers at the same time!). Since it's hashed and signed you only have to trust the signer.
Applications should be written in a single language, no more HTML+CSS+JS. Yes, we can and probably still should have separation between layout, style, and logic, but it should all just be in same language. In fact I've started exploring what that language could look like: https://flame.run/
Let's take the good parts of the current web and build a new foundation.
What's the fractal projection used? It's super cool.
Nice! Where is the music from? It feels very familiar... isn't it from Kerbal Space Program?
What you described is very similar to the state of affairs of internet companies in the beginning of the 2000s. It is probably a common effect in the early days of any major paradigm shift and a predictor of big changes to come.
So if I get this, I will have to worry about potentially paying anyone that approaches my wrist with something that could contain a radio? Someone should create another startup that embeds tiny contactless credit card machines on wrists lol.
Why is Element suspended but not Signal? Is Signal compromised?
There are repeated entries for the same company+founder but with different values. It doesn't make any sense.
Additionally sometimes the founder's name is right in one row but not in the other e.g. Cloudflare's Matthew Prince (right) vs Matthew Price (wrong).
Not a good look.
There are repeated entries for the same company+founder but with different values. It doesn't make any sense.
Additionally sometimes the founder's name is right in one row but not in the other e.g. Cloudflare's Matthew Prince (right) vs Matthew Price (wrong).
Not a good look.
I've built an implementation of t-SNE in Go (https://github.com/danaugrs/go-tsne) and really like the fact that your visualization has a short Z dimension. Very interesting effect.
I've read Magicians of the Gods: The Forgotten Wisdom of Earth's Lost Civilization from Hancock and really liked it. Lots of interesting thoughts in there.