2 ms·
> Rust's critical invention was "what if we modeled heap ownership and borrowing with linear types". Rust did not invent this (and I don’t believe Rust’s creat
by mananaysiempre 25d ago
> Rust's critical invention was "what if we modeled heap ownership and borrowing with linear types".
Rust did not invent this (and I don’t believe Rust’s creators claim it did), see e.g. “Linear regions are all you need”[1] (ESOP 2006) and in general the work around Cyclone[2] in the 2000s. There was also Mezzo[3], which did very similar things but described them in a different style (effects instead of affine types), and a fair bit of work that went beyond what Rust can currently express (e.g. fractional capabilities). What Rust did is succeed at bringing a conservative subset of this academic work to production—which is not a small deal, mind you; others (including the Cyclone team) tried and failed.
[1] https://link.springer.com/chapter/10.1007/11693024_2 https://link.springer.com/chapter/10.1007/11693024_2, https://www.cs.cornell.edu/people/fluet/research/substruct-regions/ESOP06/esop06.pdf https://www.cs.cornell.edu/people/fluet/research/substruct-r...
[2] https://gallium.inria.fr/~fpottier/slides/fpottier-2007-05-linear-bestiary.pdf https://gallium.inria.fr/~fpottier/slides/fpottier-2007-05-l...
[3] https://protz.github.io/mezzo/ https://protz.github.io/mezzo/