3 ms·
For the most part they accomplish the same goals, but in very different ways. Linear types have a simpler mathematical underpinning and are much easier to prov
by KirillPanov 6y ago
For the most part they accomplish the same goals, but in very different ways.
Linear types have a simpler mathematical underpinning and are much easier to prove things about. However they are notoriously difficult to use for actual programming, especially in larger projects.
Rust's borrow checker is approximately affine types plus regions. Its proof theory gets very complicated if you spell out all the details. However mere mortals can actually write large, complex, and correct programs with it, as has now been empirically demonstrated many times.