Linear Type/Arrow makes sure values are consumed exactly once (as they cannot be duplicated nor destroyed), and such runtime can be used for efficient resource management without reference counting or garbage collection [1].
For Linear Type/Arrow in Haskell, see [2][3][4]. For Linear Type (or Relevant Type) in Rust, see [5].
For Linear Type/Arrow in Haskell, see [2][3][4]. For Linear Type (or Relevant Type) in Rust, see [5].
[1]: https://news.ycombinator.com/item?id=16100840 "Linear types can change the world"
[2]: https://www.tweag.io/blog/2017-03-13-linear-types/ "Linear types make performance more predictable"
[3]: https://www.tweag.io/blog/2023-01-26-linear-constraints-free... "Linear Constraints: the problem with O(1) freeze"
[4]: https://www.reddit.com/r/haskell/comments/v3gouc/linear_text... "Linear Text Builder: up to 20x faster than alternatives"
[5]: https://faultlore.com/blah/linear-rust/ "The Pain Of Real Linear Types in Rust"