Borrow checking Hylo
summary
Hylo aims for C++-level speed with guaranteed freedom from undefined behavior by running borrow checking on Hylo IR using an abstract interpreter that models lifetimes with ghost instructions. The compiler inserts SSA-style stack allocations, initialization and end_access ops, computes non‑lexical lifetimes, and reports errors or patches IR to initialize/denitialize values. A linear-ish, mutable value semantics plus a subscript inversion of control lets the optimizer (LLVM backend) remove predictable allocations; the pipeline is implemented and produces native code while enforcing safety.
AI-written summary · about
chapters (8)
- 0:00Borrow checking Hylo
- 2:10Defining safety
- 4:19Efficiency trade-offs
- 8:39Rust’s borrow checker challenges
- 12:53Mutable value semantics in Hylo
- 18:07Accessing container values
- 20:56Compiler implementation
- 25:13Q&A
related talks
01h 19mHylo - The Safe Systems and Generic-programming Language Built on Value Semantics
01h 22mCompile-Time Borrow Checker with Stateful Metaprogramming
21mExclusive Interview With Dave Abrahams - Hylo: Generic-programming Language Built on Value Semantics
17mFoundations for a Rust-Like Borrow Checker for C
19mHydra: Generalizing Peephole Optimizations with Program Synthesis
01h 02mHydroflow: A Compiler Target for Fast, Correct Distributed Programs
37mMemory Safety Everywhere with Both Rust and Carbon
16mFrom Linearity to Borrowing
