Get 20% off all career paths from fullstack to AI
Learn the Skills Netflix, Meta, and Capital One Actually Hire For
Overview
AI, Data Science & Cloud Certificates from Google, IBM & Meta — 40% Off
One plan covers every Professional Certificate on Coursera. 40% off Coursera Plus Annual.
Unlock All Certificates
Explore the theoretical foundations of borrowing mechanisms in programming languages through this 16-minute conference presentation from OOPSLA 2025. Delve into how linear type systems can statically ensure correct resource management while examining the challenges they present in practical programming scenarios. Learn how borrowing, as exemplified in Rust, addresses these limitations by temporarily disabling certain resource permissions while enabling structural permissions, allowing programmers to work more efficiently without explicit resource threading. Follow the systematic development of the Borrow Calculus (BoCa), starting from a standard linear type system for safe manual memory management and progressively incorporating immutable borrows, lexical lifetimes, reborrowing, and mutable borrows. Understand the novel Borrow Logic (BoLo), a domain-specific separation logic designed specifically for reasoning about borrowing semantics. Discover how the semantic model guarantees program termination and freedom from memory leaks while proving semantic type soundness. Examine the robustness of the Borrow Logic framework through examples of syntactically ill-typed programs that maintain semantic safety by temporarily breaking and reestablishing invariants, providing insights into advanced type system design and formal verification techniques for resource management.
Syllabus
[OOPSLA'25] From Linearity to Borrowing
Taught by
ACM SIGPLAN