HigherOrderCO / HVM

A massively parallel, optimal functional runtime in Rust
https://higherorderco.com
Apache License 2.0
10.5k stars 400 forks source link

Incorrect statement in HOW.md #248

Closed kazimuth closed 5 months ago

kazimuth commented 1 year ago

Hi, lovely project! This is very neat.

I have one complaint about the HOW document. In the section "Everyone's solution: ban the clones", there is the statement: "Sadly, such a language wouldn't be practical. Imagine never being able to copy anything!"

This is simply incorrect. There is a long line of research on languages that never copy or delete data (although they do permute data.) These languages have fascinating properties -- in particular, they can always be run in reverse. For this reason the research area is called reversible computing. It is related to quantum computing, and adiabatic computing, which is computation that generates arbitrarily small amounts of heat. Mathematically, it corresponds to a shift from categories to groupoids.

Such languages can in fact simulate any turing machine with a polynomial time slowdown and the same asymptotic space bounds and may offer dramatic benefits for hardware implementation. So it is best not to dismiss them out of hand :)

VictorTaelin commented 1 year ago

I don't disagree with you. Writing is hard because you need to appeal and predict the entire spectrum of human opinions and reactions.