Raku 的“核心”

本文探讨了 Raku 语言的核心,从其标准库开始,逐步深入到语言的各个层次,最终到达核心的KnowHOW

  • 核心探索之旅:从开始写 Raku 程序,到逐步深入到 Raku 的核心,包括CORE、编写CORE的语言、目标语义模型、实现语义模型的高级语言、低级后端以及核心的KnowHOW等七个部分。
  • Raku 的CORECORE是包含print等函数和+等运算符的符号表,但它不是所寻求的核心。通过一些代码示例可以查看print函数和+运算符的源代码所在位置。
  • 编写CORE的语言:Raku 的CORE实际上是由更简单的“核心”语言编写的,这种“核心”语言是由相互嵌入的更简单子语言组成的“辫子”,用户代码可以替换、修改这些子语言。
  • 目标语义模型:Raku 目标是一个单一的语义模型,通过询问“Apocalypse #1 中引入的‘语义模型’是什么?”引出相关讨论,最终确定继续探索的方向是 nqp。
  • 实现语义模型的高级语言:所有 Raku 方言都编译为单一语义模型,部分使用纯 Raku,部分使用 nqp 编写的代码。nqp 是 Raku 的子集,专注于构建和编译编程语言。
  • 低级后端:MoarVM 是 Raku 的低级后端,直接在硬件上实现 Raku 的单一语义模型,它从一个包含相关代码的单一数据结构启动。
  • 核心的KnowHOWKnowHOW是 Raku 的核心原语,是一个自描述的单例数据结构,结合了数据/状态和代码/行为,通过一系列的钻取操作可以到达KnowHOW,它是 Raku 所有内容的基础。

总之,Raku 的核心是KnowHOW,它是 Raku 语言及其实现的基础,从语言的各个层次都可以追溯到这个核心。

阅读 15
0 条评论