{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreiecnrse2wbrzslrsu6cc7bscf3andqyroicjwswhwuzjyndrqujuu",
    "uri": "at://did:plc:pi6woz4d47bkuws673w2il2r/app.bsky.feed.post/3mk67ia7llvk2"
  },
  "path": "/t/pure-borrow-linear-haskell-meets-rust-style-borrowing/13975#post_4",
  "publishedAt": "2026-04-23T14:02:42.000Z",
  "site": "https://discourse.haskell.org",
  "textContent": "> This post is an excellent demonstration of a potential future for this style, and while I don’t think I’ve got any use case for it in the near future, I hope to find one!\n\nThanks! We are really encouraged by your comment\n\n> Out of interest, do you think that Pure Borrow could have performance benefits, or is the focus on safety which allows us to go faster?\n\nGood question! The current primal focus of Pure Borrow is on the purity and safety, I think there are many cases where Pure Borrow can also contribute to the performance, just as with `ST`-monads. Pure Borrow morally enjoys all the feature provided by `ST`-monad, including pure mutable reference and mutable vectors. With the help from linear types, Pure Borrows has parallelism in addition, and borrows allow us fine-grained R/W permission management. In other words, Pure Borrow would expand the range of the fast destructive programs that can be written as a pure function. In this sense, Pure Borrow can contribute the performant programming in Haskell, I think",
  "title": "Pure Borrow: Linear Haskell Meets Rust-Style Borrowing"
}