#language design
aardappel.github.io · ⭐️ 7/10 · 2026-10-25
作者 Aardappel 在 Hacker News 上公布了实验性编程语言 Goose,并给出 GitHub 仓库,讨论集中在其内存模型和并发设计。Goose 采用“线程不共享数据”的模型:worker 被编译成拥有独立内存的独立程序,扁平值通过带类型的队列以 memcpy 传递,语言中不存在数据竞争、锁、原子操作和内存序;它还使用多个数据栈、可调整大小的字段、相对引用和内置二进制结构校验,以支持直接映射文件或网络数据。现有信息只表明这是一个实验性项目,未显示成熟度、采用情况或独立性能测量。
lwn.net · ⭐️ 7/10 · 2026-10-20
在 Kangrejos 2026 上,Rust 编译器贡献者 Jana Dönszelmann 介绍了 nightly 中已可用的“外部可实现项”(externally implementable items,用 \\[eii\] 标注):一个 crate 可声明由其他 crate 实现的函数,作为 C 弱符号链接的受检查替代;编译器保证至多一个定义,并在既无外部定义又无回退实现时报错。该机制目前依靠弱链接实现,以便各 crate 并行生成代码,但受 Windows 弱链接限制,仅支持类 Unix 平台。她还演示了基于该机制的 -Coverflow-checks=report 原型和 report\integer\overflow\(\):发生整数溢出时调用可返回的处理函数,默认仍转入 panic,使用者需启用该编译选项并自行定义处理函数。她认为这套溢出检查改动不大,但尚未正式提议纳入语言,而是先征求内核开发者意见,尤其是 Rust for Linux 当前溢出即 panic 与 Linus Torvalds 认为意外溢出不应使整个内核崩溃之间的分歧。