pith:XQQBDDOB
Pure Borrow: Linear Haskell Meets Rust-Style Borrowing
Pure Borrow shows that Linear Haskell can support Rust-style non-local borrowing while preserving purity.
arxiv:2604.15290 v4 · 2026-04-16 · cs.PL
Add to your LaTeX paper
\usepackage{pith}
\pithnumber{XQQBDDOBTXFSDEF3MWR64EITKD}
Prints a linked badge after your title and injects PDF metadata. Compiles on arXiv. Learn more · Embed verified badge
Record completeness
Claims
We answer this question affirmatively with Pure Borrow, a novel framework that realizes Rust-style borrowing in Linear Haskell with purity. Notably, it features parallel state mutation with affine mutable references inside pure computation, unlike the IO and ST monads and existing Linear Haskell APIs.
That the newly introduced history-based model of borrowing correctly captures the semantics needed to prove safety, leak freedom, and confluence for non-local, splittable borrowing in Linear Haskell.
Pure Borrow realizes Rust-style borrowing in Linear Haskell via a library and history-based metatheory, supporting parallel state mutation with affine references in pure code along with safety, leak freedom, and confluence.
Receipt and verification
| First computed | 2026-06-08T01:05:11.042299Z |
|---|---|
| Builder | pith-number-builder-2026-05-17-v1 |
| Signature | Pith Ed25519
(pith-v1-2026-05) · public key |
| Schema | pith-number/v1.0 |
Canonical hash
bc20118dc19dcb2190bb65a3ee111350e63cdd839be9cd96140a34d78ddc76c7
Aliases
· · · · ·Agent API
Verify this Pith Number yourself
curl -sH 'Accept: application/ld+json' https://pith.science/pith/XQQBDDOBTXFSDEF3MWR64EITKD \
| jq -c '.canonical_record' \
| python3 -c "import sys,json,hashlib; b=json.dumps(json.loads(sys.stdin.read()), sort_keys=True, separators=(',',':'), ensure_ascii=False).encode(); print(hashlib.sha256(b).hexdigest())"
# expect: bc20118dc19dcb2190bb65a3ee111350e63cdd839be9cd96140a34d78ddc76c7
Canonical record JSON
{
"metadata": {
"abstract_canon_sha256": "1a7e58538f84e468bc025266a8eaa50e54f9e0d02635f3f8155f0cf299177685",
"cross_cats_sorted": [],
"license": "http://creativecommons.org/licenses/by/4.0/",
"primary_cat": "cs.PL",
"submitted_at": "2026-04-16T17:53:51Z",
"title_canon_sha256": "02e1de54997ee5f008ca705b6e060d0a0358931580e2d897e3dbc47dde9a022e"
},
"schema_version": "1.0",
"source": {
"id": "2604.15290",
"kind": "arxiv",
"version": 4
}
}