pure-borrow: Rust-style borrowing in Linear Haskell with purity

[ bsd3, library, linear-haskell, program ] [ Propose Tags ] [ Report a vulnerability ]

This package realizes rust-style borrowing in Linear Haskell with purity and concurrency support. See Control.Monad.Borrow.Pure for the main API documentation, and see our paper Pure Borrowing: Linear Haskell Meets Rust-Style Borrowing by Y. Matsushita and H. Ishii for the details.


[Skip to Readme]

Flags

Manual Flags

NameDescriptionDefault
artifact

Build the artifact runner executable, which runs all the benchmarks and produces CSV files.

Disabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.0.0.0
Change log CHANGELOG.md
Dependencies array, base (>=4.17 && <5), bytestring, cassava, containers, deepseq, directory, file-embed, hybrid-vectors, linear-base (>=0.7), linear-generics, monoidal-containers, optparse-applicative, process, pure-borrow, random, stm, tasty, tasty-bench, template-haskell, temporary, text, transformers, unordered-containers, vector, vector-algorithms [details]
Tested with ghc ==9.10.2 || ==9.12.4 || ==9.14.1
License BSD-3-Clause
Copyright Copyright (c) 2025-present, Yusuke Matsushita and Hiromi Ishii
Author Yusuke Matsushita and Hiromi Ishii
Maintainer ysk.m24t@gmail.com konn.jinro@gmail.com
Uploaded by HiromiIshii at 2026-05-05T00:20:17Z
Category Linear Haskell
Home page https://github.com/SoftwareFoundationGroupAtKyotoU/pure-borrow
Source repo head: git clone https://github.com/SoftwareFoundationGroupAtKyotoU/pure-borrow
Distributions
Executables artifact-runner, convert-qsort-bench-csv, qsort
Downloads 3 total (3 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user [build log]
All reported builds failed as of 2026-05-05 [all 1 reports]

Readme for pure-borrow-0.0.0.0

[back to package description]

pure-borrow: Pure realization of Rust-style borrows in Linear Haskell

This is pure-borrow, a library that realizes Rust-style borrows in Linear Haskell in a pure manner. See the haddock or publication below for the more information.

Supported GHC Versions

We support GHC 9.10.2+, but we recommend GHC 9.12.4+, due to subtle compiler bug in older GHC.

Known Issues

Due to the bug of linear types in GHC <9.12.3, some program segfaults when evaluated in interpreter with older GHCs (see https://gitlab.haskell.org/ghc/ghc/-/issues/26565#note_645783). Compiled programs just work as expected with GHC 9.10.2+, so this issue will only affect you are trying to use GHCi or Eval Plugin of Haskell Language Server. If you want to use interpreters, use GHC 9.12.3+.

Publication(s)

  • Y. Matsushita and H. Ishii, Pure Borrow: Linear Haskell Meets Rust-Style Borrowing, 2026. To appear in: PLDI 2026. Boulder, Colorado, USA, June 15-19. DOI: 10.1145/3808259. Extended Version: arxiv:2604.15290.
  • Y. Matsushita and H. Ishii, Artifact for PLDI 2026 "Pure Borrow: Linear Haskell Meets Rust-Style Borrowing", 2026. Zenodo: https://zenodo.org/records/19622061.