我希望项目能像lisp那样只有少量而又足够的关键字,不希望后面再添加关键字,那样太繁琐了。 后面可以使用函数、宏等方式增加更多的功能和函数

我希望项目能像lisp那样只有少量而又足够的关键字,不希望后面再添加关键字,那样太繁琐了。 后面可以使用函数、宏等方式增加更多的功能和函数 补充一点设计需求我希望项目能像lisp那样只有少量而又足够的关键字不希望后面再添加关键字那样太繁琐了。 后面可以使用函数、宏等方式增加更多的功能和函数关键在于‌将语法结构本身作为核心而非定义大量特殊的关键字‌。这可以通过以下方式实现‌将控制流结构本身“语法化”‌文档中提出的“因果链式”条件动作。、“关联词式”若...则...否则...、“话题-评论式”主题动作。等本质上不是“关键字”而是‌由中文虚词若、则、否则和标点、、。构成的语法模式‌。这符合Lisp“代码即数据”的哲学即语法结构本身是可组合、可解析的最小单元。‌将数据操作“动词化”‌文档中提出的“数据动词库”读取、写入、映射、过滤、折叠、排序等是扩展功能的基石。这些动词‌不是关键字而是内置函数或标准库函数‌。未来所有新增功能都应优先考虑实现为新的“数据动词”或“控制动词”而非新的语法关键字。‌将复杂逻辑“宏化”‌对于更高级的抽象模式如文档中提到的“四字格模式句”构想如“守株待兔”对应事件监听循环应通过‌宏‌来实现。宏可以将一段常用的、符合中文表达习惯的代码模式封装成一个可复用的“成语”或“句式”在编译期展开而无需增加运行时关键字。Dumate回答理解了这是一个非常重要的设计原则——极简关键字 函数/宏扩展符合 Lisp 的哲学。让我重新设计关键字体系核心关键字最小集约 10 个定 - 定义变量/常量函 - 定义函数若 - 条件判断核心真/假 - 布尔值语法标记虚词不是关键字则、否则、否则若 - 条件语法标记遍历、当、重复 - 循环语法标记可由宏实现返回 - 函数返回标记内置函数/动词不是关键字数据操作读取、写入、映射、过滤、折叠、排序、分组数学运算加、减、乘、除、平方、开方比较操作等于、大于、小于、包含逻辑操作且、或、非宏系统支持用户定义新的语法模式支持成语式宏如守株待兔 → 事件监听循环编译期展开我现在更新设计文档将关键字精简到最小集并添加宏系统设计。思考执行读取了1个文件现在更新实现计划反映极简关键字和宏系统的设计思考执行读取了3个文件现在添加宏系统的实现任务。让我找到合适的位置思考执行读取了2个文件搜索了1个文件完成我已经更新了设计文档和实现计划体现了极简关键字 宏系统的设计理念。关键更新1. 设计文档更新docs/superpowers/specs/2026-05-22-chinese-programming-language-essence-design.md添加了极简关键字体系章节明确了只有 5 个核心关键字定、函、若、真、假区分了关键字、语法标记、内置函数、宏添加了宏系统设计包括成语式宏和控制流宏2. 实现计划更新docs/superpowers/plans/2026-05-22-chinese-programming-language-implementation.md更新了文件结构添加了 src/macro/ 目录更新了 Token 定义明确区分核心关键字和语法标记添加了任务12-14宏系统实现宏系统核心、内置宏、成语宏更新了关键字定义从 ~15 个关键字减少到 5 个核心关键字核心设计原则类型 数量 可扩展性 示例核心关键字 5个 不可扩展 定、函、若、真、假语法标记 ~15个 可通过宏扩展 则、否则、遍历、当、重复内置函数 无限制 可扩展 加、减、映射、过滤宏 无限制 用户可定义 守株待兔、遍历宏系统示例yan-- 定义成语宏守株待兔事件监听循环宏成语(守株待兔)参数事件、处理函数。展开持续事件等待发生。处理函数。-- 使用成语宏守株待兔(用户点击处理点击)。-- 编译期展开为持续用户点击等待发生。处理点击。这样的设计符合 Lisp 的哲学极简关键字 强大的宏系统 无限扩展性。