主要观点:Chris Krycho 学习 Racket 构建编程语言,Racket 适合构建语言,有多种强大抽象,如 delimited continuations、ConcurrentML 启发的并发、资源控制、合同系统、Typed Racket 等,虽 Racket 在高校有教学但在工业中缺失,应关注并将其思想引入其他语言。
关键信息:
- Racket 可构建语言,相关书籍聚焦于构建领域特定语言的创新。
- delimited continuations 是最具脑重塑性的,Racket 支持其全面探索。
- ConcurrentML 启发的并发在 Racket 中有体现,可构建综合的并发树。
- 资源控制机制如 custodians 可确保系统资源的干净关闭。
- 合同系统在 Racket 标准库中广泛使用。
- Typed Racket 是静态类型的 Racket 方言,能与未类型化代码互操作。
重要细节: - Alexis King 的 keynote 对 continuations 有直观解释。
- Andy Wingo 有系列文章介绍 CML 与其他并发机制。
- Racket 参考文档记录了 CML 原语及与其他值的互操作性。
- 很多 Racket 机制源于教学目的,如 More 教程中的 custodian 示例。
- 合同系统基于 chaperones 和 impersonators 实现。
- Typed Racket 能将类型检查退化到运行时合同,有实验性依赖类型支持。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。