Valen представляет новый гибкий проверка заимствований, предназначенный для решения проблем безопасности памяти. Он объединяет групповые заимствования с подсчетом ссылок и поколениями ссылок. В отличие от Rust, Valen использует единственный тип ссылки заимствования и запоминает, куда указывают ссылки, что позволяет осуществлять сложный доступ к данным. Система поддерживает взаимодействие с кодом Rust и стремится быть такой же простой, как сборка мусора, сохраняя при этом мощь проверки заимствований. Этот подход решает конфликт shared-xor-mutable, позволяя ссылкам сосуществовать с изменяемостью при контролируемых условиях.
Групповые заимствования, изначально предложенные Nick Smith, были возрождены после отказа в пользу Mojo. С тех пор они повлияли на языки вроде Carbon от Google, Ante, Plecra, Zeta и Fang. Valen интегрирует эту концепцию с подходом Vale и совместимостью с Rust. Компилятор отслеживает происхождение ссылок, чтобы обеспечить безопасность памяти без строгих правил владения. Эта гибкость может переопределить то, как современные языки балансируют между производительностью и безопасностью.
Источник: Hacker News · Сводку подготовил HeadlinesBriefing