|
|
|
|
|
by curryhoward
1990 days ago
|
|
> Until about 5 years ago there was no safe, GC-free, practical systems programming language, and furthermore it was unknown how to build such a thing. Now we know. It was known [1], but only by theorists, and theorists aren't the ones building compilers and implementing real programming languages. Obviously the Rust community has achieved an impressive feat of engineering, and I'm extremely grateful for that. But using a substructural type system to avoid needing a garbage collector is not a new idea, just one that Rust has successfully popularized. It takes a long time for ideas from the programming languages theory community to reach the mainstream. [1] http://www.cs.ioc.ee/ewscs/2010/mycroft/linear-2up.pdf |
|
And of course just implementing linear types and trying to get people to use the language probably would have failed. Borrow checking, compiler error message engineering, and various kinds of social engineering were probably essential to make Rust practical.