Valen führt einen neuen flexiblen Borrow Checker ein, der entwickelt wurde, um Speichersicherheitsherausforderungen zu lösen. Er kombiniert Gruppenborrowing mit Referenzzählung und generationalen Referenzen. Im Gegensatz zu Rust verwendet Valen einen einzigen Borrow-Referenztyp und merkt sich, wohin Referenzen zeigen, was komplexen Datenzugriff ermöglicht. Das System unterstützt Interoperabilität mit Rust-Code und zielt darauf ab, so einfach wie Garbage Collection zu sein, während es die Borrow-Checking-Leistung beibehält. Dieser Ansatz löst den Shared-XOR-Mutable-Konflikt, indem er Referenzen erlaubt, unter kontrollierten Bedingungen mit Veränderlichkeit zu koexistieren.
Gruppenborrowing, ursprünglich von Nick Smith vorgeschlagen, wurde nach der Aufgabe für Mojo wiederbelebt. Seitdem hat es Sprachen wie Googles Carbon, Ante, Plecra, Zeta und Fang beeinflusst. Valen integriert dieses Konzept mit Vales Ansatz und Rust-Kompatibilität. Der Compiler verfolgt Referenzursprünge, um Speichersicherheit ohne strikte Eigentumsregeln durchzusetzen. Diese Flexibilität könnte neu definieren, wie moderne Sprachen Leistung und Sicherheit ausbalancieren.
Quelle: Hacker News · Zusammengefasst von HeadlinesBriefing