这篇文章介绍了**匿名记录**背后的类型理论——即无需显式声明类型即可存在的数据结构(类似于 JSON 对象或字典)。虽然它们在动态语言中很常见,但对于静态类型系统而言,它们带来了独特的挑战。
作者探讨了如何构建一个基础的类型推导系统,从简单的记录字面量和字段访问开始,逐步扩展到变量和函数。文章的核心主题是:为操作记录的函数推导类型十分困难。
作者比较了两种解决方案:
1. **子类型化(Subtyping):** 被 TypeScript 等语言采用。它简化了记录处理,但可能导致类型签名变得“笨重”。
2. **行多态(Row Polymorphism):** 被 PureScript 和 Elm 等语言采用。它利用“行变量”来抽象字段集合。
行多态被认为是一种更强大、更优雅的方法,尤其是在处理记录拼接(如 Nix 中的 `//` 运算符)等复杂操作时。这一基础性解释为作者后续关于使用行多态实现稳健记录操作类型推导的文章奠定了基础。
《垃圾回收手册》第二版是关于自动内存管理演进的权威更新指南。本书以 1996 年和 2012 年的前作为基础,将六十年的研究成果整合为一个易于理解的框架。
本书旨在应对现代计算中日益复杂的内存管理问题,涵盖了传统算法以及最前沿的并行、并发和实时技术。新增内容包括关于节能回收和持久化的章节,以及对高性能商业回收器的详细分析。通过清晰的伪代码和图示,本书为开发人员提供了选择和配置高效垃圾回收策略所需的专业知识。
除正文外,作者还提供了一个包含近 3,400 篇相关文献的综合在线数据库。电子书版本通过超过 37,000 个超链接进一步增强了体验,为学生和专业人士提供了深度互联的资源。由于垃圾回收已成为现代编程语言的标准配置,这本权威著作对于任何寻求掌握高性能系统设计复杂性的程序员来说,都是不可或缺的工具。
在《You're the OS》中,你将扮演一个操作系统,负责管理进程、内存和 I/O 事件。你的目标是保持进程高效运行;如果无法做到这一点,用户会感到沮丧,从而导致系统重启。
该游戏提供网页版和桌面应用程序版本。它需要 Python 3.14(通过 `pyenv` 管理),并使用 `pipenv` 进行依赖管理。该项目包含面向开发者的功能,例如用于自定义关卡测试的沙盒模式和自动化脚本接口。
源代码采用 GNU GPL v3 许可证开源。鼓励通过 GitHub 进行贡献,特别是针对标记为“bug”或“help wanted”的开放问题。有兴趣开发的开发者请参阅提供的 `AGENTS.md` 以获取指南。你可以在 [https://plbrault.github.io/youre-the-os](https://plbrault.github.io/youre-the-os) 或通过 itch.io 在线游玩。