主要观点:介绍了一个用 Lua 编写的小型多集重写系统 Recipe Book,包括其特点、运行程序的命令、多集概念、重写规则、循环、带催化剂的循环、数学迭代以及如何构建更复杂的计算等,还提及实现源于 Devine Lu Linvega 的相关文章及可进一步探索的方向。
关键信息:
- 可通过
cat recipes/<program> | lua main.lua
运行程序,也可从命令行输入程序并按ctrl-d
结束。 - 多集是无序列的项集合,允许重复项存在。
- 有重写规则如
flour sugar apples > apple-cake
等。 - 重写引擎会根据规则持续重排程序形成循环。
- 可通过催化剂控制循环,如
move-a cycle^10 > too-may-cycles
。 - 能构建各种数学操作,如加法、减法、乘法、除法。
- 可结合这些原则进行更复杂的计算,如计算斐波那契数列。
重要细节: - 提到系统存在一些边缘情况,如空规则和空格分隔规则。
- 实现源于 Devine Lu Linvega 的fractran 文章,该文章通过 John Conway 的 Fractran 视角探索多集重写。
- 最后鼓励在探索多集重写系统后发送邮件至Horadric 邮件列表。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。