Channels

administrivia

announcements

bot-dark-forest

devlog-together

in-alberta

in-boston

in-germany

in-israel

in-london

in-nyc

in-ontario

in-seattle

in-sf

in-socal

introduce-yourself

linking-together

of-ai

of-end-user-programming

of-functional-programming

of-graphics

of-logic-programming

of-music

present-company

random-encounters

reading-together

share-your-work

thinking-together

two-minute-week

wormholes

Title

m

Mariano Guerra

12/22/2022, 2:15 PMMaxwell equations of software? or rather Feynman diagrams of software? crossing fingers that some of this is true š
Twitter thread explaining it
*High-order Virtual Machine (HVM)* is a pure functional runtime that is **lazy**, **non-garbage-collected** and **massively parallel**. It is also **beta-optimal**, meaning that, for higher-order computations, it can be exponentially faster than alternatives, including Haskell's GHC.
That is possible due to a new model of computation, the **Interaction Net**, which supersedes the **Turing Machine** and the **Lambda Calculus**. Previous implementations of this model have been inefficient in practice, however, a recent breakthrough has drastically improved its efficiency, resulting in the HVM. Despite being relatively new, it already beats mature compilers in many cases, and is set to scale towards uncharted levels of performance.
**Welcome to the massively parallel future of computers!**
Interaction Combinators Paper
It is shown that a very simple system of *interaction combinators*, with only three symbols and six rules, is a universal model of distributed computation, in a sense that will be made precise. This paper is the continuation of the author's work on *interaction nets*, inspired by Girard's proof nets for *linear logic*, but no preliminary knowledge of these topics is required for its reading.
**Interaction nets** are a graphical model of computation devised by Yves Lafont in 1990 as a generalisation of the proof structures of linear logic. An interaction net system is specified by a set of agent types and a set of interaction rules. Interaction nets are an inherently distributed model of computation in the sense that computations can take place simultaneously in many parts of an interaction net, and no synchronisation is needed. The latter is guaranteed by the strong confluence property of reduction in this model of computation. Thus interaction nets provide a natural language for massive parallelism.

k

Kartik Agaram

12/22/2022, 3:40 PMThis is the page that has helped me the most in making sense of all this: https://github.com/Kindelia/HVM/blob/master/guide/HOW.md

i

ibdknox

12/22/2022, 7:46 PMIāve been trying to work through the paper, but the math is pretty dense. š

that explanation is much easier to understand, thanks for the pointer **@Kartik Agaram**

n

Nick Smith

12/23/2022, 12:22 AMFrom the amount of hype that the creator is trying to generate, I'm concerned that he's a snake oil salesman. After all, he's trying to turn it into a blockchain project.
Can anyone confirm that this execution model is actually novel and promising?

m

Mariano Guerra

12/23/2022, 12:59 AMthat's the "crossing fingers that some of this is true" part of my post š

w

wtaysom

12/23/2022, 1:28 AMI know a few smart FP people who do blockchain projects more as an excuse. If this has any "massively parallel" capability, I imagine it must track data dependencies. My second thought is that any practical single node speed will come from playing well with CPU caches and any practical cross node speed will come from efficient communication protocols.

i

ibdknox

12/23/2022, 3:11 PMafter digging in a bit, Iād say that this passes an initial sniff test. The properties he mentions are theoretically available given how it works and I can plasuibly imagine a low constant factor runtime thatād take advantage of it. Donāt know about ānovelā, but I havenāt personally seen this particular approach before.

n

Nick Smith

12/23/2022, 11:25 PMJust so everyone knows, the author hasnāt decided whether this implementation will be free to use yet. Thereās no LICENSE file, and he isnāt willing to add one.

k

Kartik Agaram

12/24/2022, 12:15 AMthe author hasnāt decided whether this implementation will be free to use yet.This doesn't seem like a fair characterization of his comment.

he isnāt willing to add one.This also seems excessive. The issue is still open. That's usually a sign a decision hasn't been made. How about we give him more than 5 minutes?

n

Nick Smith

12/24/2022, 1:17 AMI think itās pretty fair. The repository has been up for a year and heās trying to commercialise his work via a blockchain project. Itās quite possible heāll license it under GPL to stop others from using it freely in practice.
I just thought itās worth pointing that out here before people spend too much time looking into the project under the assumption that is free to use.

k

Kartik Agaram

12/24/2022, 1:34 AMWait, you consider GPL to be *non-free*?! That seems worth calling out more explicitly.
(I'll stop debating this particular sub-thread. I don't have any love for blockchain projects, but the possibility of getting sued for GPL violations doesn't seem like the most interesting thing here.)