mirror of
https://github.com/tradecatlabs/vibe-coding-cn.git
synced 2026-11-02 10:46:29 +00:00
docs: gongfa - 加入Lambda演算天级上品并紧随拼好码 (#153)
* refactor: toolbox - 收口Context Skills Extensions三域资源 * fix: toolbox - 重定向文集中的嵌套标签链接 * fix: toolbox - 保全被ignore遮蔽的原跟踪事实文件 * refactor: toolbox - 退役workflows残留并平铺原定义 * docs: gongfa - 整理Lambda演算正文并冻结首发来源 * docs: gongfa - 登记Lambda演算天级上品并紧随拼好码 * docs: gongfa - 同步Lambda演算AI引用覆盖
This commit is contained in:
@@ -13,7 +13,8 @@
|
||||
- 载荷`documents`以历史路径为身份。保存原字节、文件模式、SHA、ID、版本、选择器、来源修订、原分类、历史意见及排除项;不得全局改写历史路径。
|
||||
- `locations`、`live_sources`、`projections`分别描述当前位置、当前实现摘要与现有引用。当前实现绑定不替代原SHA、固定来源、选区或原初审,不自动表示新实现已受审。
|
||||
- 原始登记仍按载荷内既有Schema和检查器维护。修改原文后须更新其真实摘要;冻结来源、人工初评和正式评级分开,不自动合并语义身份、注册候选、恢复排除或赋级。
|
||||
- 功法现有79项登记、410条历史/当前总表记录;暂定品级与正式效果分开,正式效果记录仍为零。计数是迁移基线,不是未来硬编码门槛。
|
||||
- 功法当前80项登记、411条历史/当前总表记录;原迁移基线为79/410,不改历史候选或旧意见。用户新增Lambda演算并指定天级上品,对应`tian-advanced`;总表和原文文集紧随拼好码,正式效果记录仍为零。
|
||||
- 新整理正文可以直接加入JSON载荷的逻辑文档,不重新创建旧物理目录。先提交首发正文,再以该真实Git修订及JSON载荷选区冻结来源;不能用一个尚不存在正文的基线冒充来源版本。
|
||||
- 法器73个来源选区、10项来源限定实现、13条本地记录、9条排除、12项依赖对象、8类依赖、158条关联资源和30项重要性赋级各有分母,不能相加为独立产品数。
|
||||
- `independent_review`、`runtime_verified`、`effectiveness_verified`、`license_approved`未因迁移改变;源码初审不等于许可、身份语义、安装包完整语义或效果验证。
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ vibe-coding-cn是以Pi Agent与已授权OpenAI GPT为主体底座的Vibe Coding
|
||||
|
||||
本文件只维护项目摘要与导航;方法论、哲学、模型、准则和流程的完整正文唯一维护于 `.github/context/gongfa/README.md#原文文集`。核心命题见 `.github/context/gongfa/README.md#doc-ai-core-propositions`:固定目标基线,允许策略变化,以有界尝试、验证和显式授权控制闭环。摘要不保证自动收敛或效果。
|
||||
|
||||
36 篇是文集正文,不是36门已登记、已验证或已评级功法。身份、内容版本、来源与意见的唯一维护源是 `.github/context/gongfa/data.json`;总表保留410条记录,其中79登记、331候选,408初评、2条不可判,正式评级为0。移动不改变内容版本、冻结来源与旧意见。
|
||||
37 篇是文集正文,不是37门已登记、已验证或已评级功法。身份、内容版本、来源与意见的唯一维护源是 `.github/context/gongfa/data.json`;总表保留411条记录,其中80登记、331候选,409初评、2条不可判,正式评级为0。新增Lambda演算按用户指定为天级上品(tian-advanced),紧随拼好码;旧内容版本、冻结来源与旧意见不变。
|
||||
|
||||
工具选用按问题、设计、实现、代价展开,再比较替代、共性与适用前提;Lambda记号只表达接口组合,不实现解释器或证明程序性质。功法、法器以各自data.json维护原始资料,README.md为唯一活动阅读视图;历史Excel保留原字节,不再生成第二视图。
|
||||
|
||||
@@ -89,6 +89,7 @@ GEOFlow 的关键启发是:GEO 不是关键词堆砌,而是内容工程链
|
||||
器灵、形态及材料转化先核对身份和实际变化;意向与章名不证明转化完成,未核验结果也不等于确认没有发生。
|
||||
未导入 OWL 或证明领域公理一致性;不推广为全仓 JSON IR。功法JSON的CLI只读输出词表与分类初评表,未建设独立数据库或网页应用。
|
||||
- .github/context/gongfa/README.md#doc-glue-coding:胶水原则的扩展,把复用成熟能力作为工程交付默认路径。
|
||||
- .github/context/gongfa/README.md#doc-lambda-calculus:Lambda演算;用户指定天级上品,紧随拼好码,解释变量绑定、抽象、应用、归约、组合及类型/副作用/终止边界。
|
||||
- .github/context/gongfa/README.md#doc-system-building:自顶向下、自底向上与分而治之的系统构建方法。
|
||||
- .github/context/gongfa/README.md#doc-development-paradigms:软件开发组织方式和 AI 编程范式的演进。
|
||||
- .github/context/gongfa/README.md#doc-language-layers:理解代码所需的语言层级、执行模型、类型系统和工程语义。
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
|
||||
## 字多不看
|
||||
|
||||
- 共**410条内容记录**;已登记79条,登记库候选0条,未入登记库的来源候选331条。不是独立功法去重后的总数。
|
||||
- 原前瞻初评408条,暂不可判2条;不是正式效果评级,亦不把缺测默认补成黄阶。
|
||||
- 共**411条内容记录**;已登记80条,登记库候选0条,未入登记库的来源候选331条。不是独立功法去重后的总数。
|
||||
- 原前瞻初评409条,暂不可判2条;不是正式效果评级,亦不把缺测默认补成黄阶。
|
||||
- Markdown仅作浏览;解释列展开登记摘要/问题/机制及条件/限制/预期结果、候选原文与用途/理由、Solve适用边界;不新增主张,详情仍以JSON为准。
|
||||
- [data.json](data.json)是唯一原始数据源,保留限定原文、历史选区、意见、源文件及附件;本文件仅为生成阅读视图。
|
||||
|
||||
输入绑定:`d2cdb765550bc5e10bc0e1c76ab93dbe2ad9a4569faeb13c051fac011a086314`。
|
||||
输入绑定:`31d2cbc62550d12171db45576ccacc9a712517e27c2e2370ea43a463e627e2cc`。
|
||||
|
||||
## 快速导航
|
||||
|
||||
@@ -522,6 +522,25 @@
|
||||
- [内化](#doc-glue-coding-内化)
|
||||
- [concept-glue-coding-延伸阅读](#doc-glue-coding-concept-glue-coding-延伸阅读)
|
||||
- [延伸阅读](#doc-glue-coding-延伸阅读)
|
||||
- [lambda-calculus](#doc-lambda-calculus)
|
||||
- [lambda-演算](#doc-lambda-calculus-lambda-演算)
|
||||
- [lambda-calculus](#doc-lambda-calculus-lambda-calculus)
|
||||
- [核心定义](#doc-lambda-calculus-核心定义)
|
||||
- [问题为什么需要它](#doc-lambda-calculus-问题为什么需要它)
|
||||
- [设计三个构造与作用域](#doc-lambda-calculus-设计三个构造与作用域)
|
||||
- [实现先学会正确改写](#doc-lambda-calculus-实现先学会正确改写)
|
||||
- [α转换改名字不改绑定关系](#doc-lambda-calculus-α转换改名字不改绑定关系)
|
||||
- [β归约应用就是避免捕获的替换](#doc-lambda-calculus-β归约应用就是避免捕获的替换)
|
||||
- [η规则删去无意义的转交层需要前提](#doc-lambda-calculus-η规则删去无意义的转交层需要前提)
|
||||
- [组合从两个函数得到一个函数](#doc-lambda-calculus-组合从两个函数得到一个函数)
|
||||
- [表达力编码递归与终止边界](#doc-lambda-calculus-表达力编码递归与终止边界)
|
||||
- [数据可以编码但不要为业务重复造轮子](#doc-lambda-calculus-数据可以编码但不要为业务重复造轮子)
|
||||
- [可表达不等于会终止](#doc-lambda-calculus-可表达不等于会终止)
|
||||
- [类型能约束什么](#doc-lambda-calculus-类型能约束什么)
|
||||
- [应用步骤把数学模型落回工程](#doc-lambda-calculus-应用步骤把数学模型落回工程)
|
||||
- [比较共性与适用前提](#doc-lambda-calculus-比较共性与适用前提)
|
||||
- [代价与检验](#doc-lambda-calculus-代价与检验)
|
||||
- [来源与归属](#doc-lambda-calculus-来源与归属)
|
||||
- [system-building](#doc-system-building)
|
||||
- [concept-system-building](#doc-system-building-concept-system-building)
|
||||
- [系统构建方法](#doc-system-building-系统构建方法)
|
||||
@@ -1896,6 +1915,7 @@
|
||||
| 品级 | 功法名称 | 解释 |
|
||||
|---|---|---|
|
||||
| 天阶高级 | 拼好码 | 在既有能力空间中匹配需求、选择方案并编排业务,用低自研成本获得可验证、可替换、可回滚的系统。 问题:如何平衡复用效率、业务差异与长期演化。 机制:需求→候选能力→选择→适配→编排→检验→更新;成熟组件承担通用复杂度,薄胶水表达领域差异,测试与CI提供经验检验。 条件:方案可识别、维护稳定、接口可隔离。 限制:供应链不可观测、依赖锁定或关键约束超出现有能力时,复用可能转化为系统性风险。 预期结果:需求匹配、方案选择与业务编排,以及可验证、可替换、可回滚的系统。 |
|
||||
| 天阶高级 | Lambda 演算 | 用户指定天级上品;用变量、抽象、应用和避免捕获的归约理解计算与函数组合。 问题:怎样保持作用域含义、解释函数应用并澄清可组合与可替换的前提。 机制:识别自由/绑定变量,通过α改名避免捕获,进行β替换;将函数作为参数或结果,显式区分求值策略、类型与现实副作用。 条件:先明确采用的演算及求值策略;工程应用须另核对类型、单位、错误、权限与副作用。 限制:纯项的等式不自动适用于带状态或I/O的程序;合流、固定点及形式化记号不保证终止、性能或业务正确性。 预期结果:更清楚的绑定、依赖、函数接口与组合推导;相对实际工程基线的收益仍需任务验证。 |
|
||||
| 地阶高级 | 第一性原理 | 审查结论的前提,区分事实、假设、偏好与惯例,从事实约束重推最小路径。 问题:经验惯例绑架需求,或复杂方案无法解释其必要性。 机制:写结论→审查前提→区分事实/假设/偏好/惯例→保留事实约束→重推路径。 条件:需求受经验做法影响,或需要核对默认方案是否成立。 预期结果:基于事实约束的最小可行路径。 |
|
||||
| 地阶高级 | 形式化方法(轻量形式化) | 原文用途:减少非法状态、约束模型输出、让行为可检查可累积。 问题:减少非法状态、约束模型输出、让行为可检查可累积。 机制:- **先规格**:类型 + schema + 不变式 + 错误集合(异常或 error object)+ 复杂度约束(可选) - **再检查器**:类型检查 + 运行时校验 + 断言/契约 + 性质测试 - **最后实现**:逐条映射规格(谁保证哪条约束) 预期结果:类型、schema、不变式与错误语义规格。;类型/运行时校验、契约和性质测试。;实现与规格的满足关系说明。 |
|
||||
| 地阶高级 | 方法论工具箱总体作业流 | 用现象卡片、规格、检查器、最小实现、反例与收敛重构组织工程交付。 问题:如何将探索组织为可检查、可证伪和可维护的工程产出。 机制:现象卡片→规格化→检查器→最小实现→反例驱动→收敛重构。 预期结果:现象/意图/情境/边界卡片、规格与检查器、最小实现、失败模式及维护后的稳定版本。 |
|
||||
@@ -7765,6 +7785,215 @@ AI 特别适合生成:
|
||||
- [语言层要素](#doc-language-layers) - 看懂代码需要掌握的语言层级
|
||||
- [胶水开发提示词(在线提示词库入口)](../prompts/README.md)
|
||||
|
||||
<a id="doc-lambda-calculus"></a>
|
||||
## Lambda 演算
|
||||
|
||||
原始文集:`.github/docs/gongfa/lambda-calculus.md`;下文为阅读呈现,原字节和来源保存在[data.json](data.json)。
|
||||
|
||||
<a id="doc-lambda-calculus-lambda-演算"></a>
|
||||
**Lambda 演算**
|
||||
|
||||
**品级:天级上品。** 用户指定;沿用现行十二级词表中的最高档`天阶高级 / tian-advanced`,不另建等级。
|
||||
本条是解释型功法,兼有工程应用步骤;品级记录不冒充正式效果评测。
|
||||
|
||||
一句话:**拼好码回答“选哪些成熟能力”,Lambda演算帮助回答“函数怎样抽象、应用、替换与组合”。**
|
||||
先读[拼好码](#doc-glue-coding),再用本篇看清组合结构;不因此自研解释器或用数学记号代替运行证据。
|
||||
|
||||
<a id="doc-lambda-calculus-lambda-calculus"></a>
|
||||
<a id="doc-lambda-calculus-核心定义"></a>
|
||||
**核心定义**
|
||||
|
||||
Lambda演算是以变量、函数抽象和函数应用构造计算表达式,并通过避免变量捕获的替换与归约研究计算过程的形式系统。它为函数、作用域、参数化、组合和求值语义提供统一模型;工程上可借它澄清接口与数据流,但真实程序的类型、错误、状态、权限、I/O和资源成本仍须独立建模与验证。
|
||||
|
||||
<a id="doc-lambda-calculus-问题为什么需要它"></a>
|
||||
**问题:为什么需要它**
|
||||
|
||||
函数名字换了是否还是同一计算?把一个表达式代入另一个表达式会不会改变变量含义?两个能力能否直接组合?
|
||||
重复化简是否一定结束?只把流程画成箭头,往往没有回答这些问题。
|
||||
|
||||
Lambda演算把这些问题收束为小而明确的规则,让“函数作为输入或输出”以及“组合形成新函数”可以逐步推导。
|
||||
它是理解编程语言语义和函数式抽象的基础模型,不是完整的软件架构或业务验收规约。
|
||||
|
||||
<a id="doc-lambda-calculus-设计三个构造与作用域"></a>
|
||||
**设计:三个构造与作用域**
|
||||
|
||||
纯无类型Lambda项的语法只有三类:
|
||||
|
||||
```text
|
||||
M ::= x 变量
|
||||
| λx.M 抽象:构造一个绑定x、函数体为M的函数
|
||||
| (M N) 应用:把M应用于参数N
|
||||
```
|
||||
|
||||
- 应用默认左结合:`f a b`是`(f a) b`,不是`f (a b)`。
|
||||
- 抽象的函数体尽量向右延伸:`λx.λy.x`是`λx.(λy.x)`。
|
||||
- `λx.x`中`x`受绑定;`λx.y`中的`y`是自由变量,不能假装它没有外部依赖。
|
||||
- 多参数可写成逐次接受一个参数:`λx.λy.M`。这是柯里化,不等于编程语言中的多个位置参数。
|
||||
- 数字、字符串、算术和网络请求不是这三个原始构造;要么明确扩展语言,要么说明采用何种编码。
|
||||
|
||||
<a id="doc-lambda-calculus-实现先学会正确改写"></a>
|
||||
**实现:先学会正确改写**
|
||||
|
||||
<a id="doc-lambda-calculus-α转换改名字不改绑定关系"></a>
|
||||
**α转换:改名字,不改绑定关系**
|
||||
|
||||
```text
|
||||
λx.x =α λz.z
|
||||
```
|
||||
|
||||
只能在不引入变量捕获的条件下改名,并一致修改该绑定对应的出现;不能顺手改写自由变量。
|
||||
|
||||
<a id="doc-lambda-calculus-β归约应用就是避免捕获的替换"></a>
|
||||
**β归约:应用就是避免捕获的替换**
|
||||
|
||||
```text
|
||||
(λx.M) N →β M[x := N]
|
||||
(λx.x) a →β a
|
||||
```
|
||||
|
||||
`M[x := N]`只替换`M`中自由出现的`x`,不是全文搜索替换。
|
||||
|
||||
最重要的反例:
|
||||
|
||||
```text
|
||||
(λx.λy.x) y
|
||||
=α (λx.λz.x) y 先把内层绑定改为新的z
|
||||
→β λz.y 原参数y仍是自由变量
|
||||
```
|
||||
|
||||
若直接得到`λy.y`,就把原本自由的`y`错误捕获了,计算含义已经改变。
|
||||
|
||||
<a id="doc-lambda-calculus-η规则删去无意义的转交层需要前提"></a>
|
||||
**η规则:删去无意义的转交层需要前提**
|
||||
|
||||
```text
|
||||
λx.f x →η f 前提:x不在f中自由出现
|
||||
```
|
||||
|
||||
这属于加入η规则后的等式/归约理论,不是所有语言都能直接套用的优化。
|
||||
严格求值、可观察函数身份、异常或副作用可能使源代码中的包装层与直接引用表现不同,必须检查宿主语言语义。
|
||||
|
||||
<a id="doc-lambda-calculus-组合从两个函数得到一个函数"></a>
|
||||
**组合:从两个函数得到一个函数**
|
||||
|
||||
```text
|
||||
COMPOSE ≡ λf.λg.λx.f (g x)
|
||||
COMPOSE f g a →β* f (g a)
|
||||
```
|
||||
|
||||
它把`g a`作为`f`的实参,表达函数复合的依赖结构;不规定运行时一定先把`g a`求值完毕。
|
||||
`→β*`表示零步或多步β归约,不是时间、性能或网络调度保证;实际求值次序另由策略决定。
|
||||
|
||||
用熟悉的Python匿名函数演示相同的嵌套应用形状:
|
||||
|
||||
```python
|
||||
compose = lambda f: lambda g: lambda x: f(g(x))
|
||||
add_one = lambda x: x + 1
|
||||
double = lambda x: x * 2
|
||||
|
||||
assert compose(double)(add_one)(3) == 8
|
||||
assert compose(add_one)(double)(3) == 7
|
||||
```
|
||||
|
||||
Python的数字、加法和乘法是宿主语言能力,并非纯Lambda项的原始符号。
|
||||
这个有限示例说明组合次序不可交换,不证明任意两个Python函数都纯、可组合或行为等价。
|
||||
|
||||
工程中若`g: A → B`、`f: B → C`,才有类型上的`f ∘ g: A → C`。
|
||||
还要核对单位、范围、精度、错误、权限与副作用:相同JSON Schema不保证业务语义相容。
|
||||
HTTP调用失败、重试、重复写入或取消不是一次β归约,不能用一个箭头抹掉。
|
||||
|
||||
<a id="doc-lambda-calculus-表达力编码递归与终止边界"></a>
|
||||
**表达力:编码、递归与终止边界**
|
||||
|
||||
<a id="doc-lambda-calculus-数据可以编码但不要为业务重复造轮子"></a>
|
||||
**数据可以编码,但不要为业务重复造轮子**
|
||||
|
||||
```text
|
||||
TRUE ≡ λa.λb.a
|
||||
FALSE ≡ λa.λb.b
|
||||
IF ≡ λp.λa.λb.p a b
|
||||
IF TRUE a b →β* a
|
||||
```
|
||||
|
||||
这是Church风格的布尔选择编码;无类型项本身不保证`p`就是这样的布尔值。
|
||||
严格求值宿主若提前求值两个分支,不能因此获得短路;需要另外表达延迟求值。
|
||||
实际项目优先使用语言和标准库的数据类型,这些编码主要用于理解表达力。
|
||||
|
||||
<a id="doc-lambda-calculus-可表达不等于会终止"></a>
|
||||
**可表达不等于会终止**
|
||||
|
||||
```text
|
||||
Ω ≡ (λx.x x) (λx.x x)
|
||||
Ω →β Ω →β Ω →β …
|
||||
```
|
||||
|
||||
所以无类型Lambda演算不是“所有计算都会收敛”的模型。
|
||||
例如`(λx.a) Ω`按最外侧先归约可得到`a`;先求参数则会陷入`Ω`。
|
||||
归约策略是语义的一部分,不能仅凭最后想要的结果选择性忽略执行过程。
|
||||
|
||||
Church–Rosser性质说:纯Lambda项经β归约分出的有限路径仍可继续归约至共同后继;
|
||||
因此存在β范式时它在α等价意义下唯一。**合流不保证每项有范式,也不保证每条归约路径终止。**
|
||||
|
||||
固定点组合子可表达递归:
|
||||
|
||||
```text
|
||||
Y ≡ λf.(λx.f (x x)) (λx.f (x x))
|
||||
Y F =β F (Y F)
|
||||
```
|
||||
|
||||
`=β`表示β可转换,不是声称上述两边必能按任意策略定向归约或完成求值。
|
||||
固定点方程也不证明收敛、最优、业务成功或模型自我提升;这个Y组合子不能直接按严格求值策略获得预期递归。
|
||||
|
||||
<a id="doc-lambda-calculus-类型能约束什么"></a>
|
||||
**类型能约束什么**
|
||||
|
||||
纯的简单类型Lambda演算在不加入一般递归等破坏归约终止性质的构造时,具有β归约的强正规化性质。
|
||||
这与允许自应用的一般无类型体系不同;不能把这个结论搬到带无限循环、I/O和不受限递归的实际语言。
|
||||
类型正确也不自动证明需求正确、权限正确、资源预算达标或生产可用。
|
||||
|
||||
<a id="doc-lambda-calculus-应用步骤把数学模型落回工程"></a>
|
||||
**应用步骤:把数学模型落回工程**
|
||||
|
||||
1. **定义问题**:写清输入、输出、预期行为与错误;不要先把现有代码改成满屏匿名函数。
|
||||
2. **暴露依赖**:识别自由变量、共享状态、时钟、随机源及外部服务;决定哪些应变成显式参数。
|
||||
3. **设计组合**:画清`A → B → C`,核对类型之外的单位、语义、顺序和失败路径。
|
||||
4. **选择实现**:优先语言原生函数、成熟库和现有组件;接口适配只保留必要胶水。
|
||||
5. **验证行为**:用已知字面量、边界值、错误输入和必要集成测试验证;只有满足前提才做等式替换。
|
||||
6. **核算代价**:检查闭包分配、重复求值、递归栈、I/O次数、并发、超时与重试,按真实负载测量。
|
||||
|
||||
不新增解释器、DSL、通用执行器或模型客户端。对需要权限和外部副作用的能力,显式调用宿主平台,不把函数应用写法当执行授权。
|
||||
|
||||
<a id="doc-lambda-calculus-比较共性与适用前提"></a>
|
||||
**比较、共性与适用前提**
|
||||
|
||||
| 对象 | 和Lambda演算的共性 | 关键差别与分工 |
|
||||
|---|---|---|
|
||||
| 拼好码 | 都关注可识别能力与组合 | 拼好码选择成熟方案并完成交付;Lambda演算解释函数与归约,不承担供应链和业务验收 |
|
||||
| 函数式编程 | 高阶函数、作用域、组合 | 工程语言还需数据、类型、模块、异常及副作用管理;不等于纯无类型Lambda项 |
|
||||
| Python/JavaScript的lambda或箭头函数 | 可表达匿名函数及闭包 | 宿主语言有各自求值和状态语义;换语法不自动获得纯度或可替换性 |
|
||||
| 工作流、API与Agent编排 | 可用输入输出描述阶段 | 真实系统包含权限、并发、失败和不可逆副作用,不直接满足纯项的等式规则 |
|
||||
| 类型系统 | 可约束可应用的函数及参数 | 具体保证依赖采用的类型理论与语言构造,不是见到类型注解就获得终止或正确性 |
|
||||
|
||||
适合:学习语言语义、理解闭包与作用域、设计小而清晰的函数接口、分析组合和替换前提。
|
||||
不适合:拿形式化程度代替任务收益,或用固定点、合流、类型名词保证AI输出和分布式系统会收敛。
|
||||
|
||||
<a id="doc-lambda-calculus-代价与检验"></a>
|
||||
**代价与检验**
|
||||
|
||||
收益是更清楚的计算结构与依赖边界;代价是学习绑定/替换、区分不同演算,以及证明现实实现满足模型前提。
|
||||
减少代码行数不等于减少计算成本,递归和高阶函数也不天然更快。
|
||||
|
||||
能否正确说明变量捕获反例、推出组合次序的`8/7`结果、区分合流与终止,并把副作用带回合同,是本篇的最低理解检查。
|
||||
用户指定的天级上品只记录内容选用判断;若实际任务中的理解、组合正确性或维护收益未达预设标准,应重新讨论其应用范围。
|
||||
|
||||
<a id="doc-lambda-calculus-来源与归属"></a>
|
||||
**来源与归属**
|
||||
|
||||
- 学术参考:[Stanford Encyclopedia of Philosophy:The Lambda Calculus](https://plato.stanford.edu/entries/lambda-calculus/)。本文独立中文整理,不是该来源的逐字翻译或官方工程规范。
|
||||
- 数学定义和归约性质与本文的工程应用建议分别阅读;示例不代替完整定理证明。
|
||||
- 本篇直接维护于功法`data.json`的`documents`载荷,逻辑身份为`.github/docs/gongfa/lambda-calculus.md`;这是集合内寻址名,不会重新创建旧物理目录。
|
||||
- 首发正文与冻结副本在登记前先固定为真实Git提交,随后来源记录指向该提交中的`data.json`,不捏造尚不存在的正文修订。
|
||||
|
||||
<a id="doc-system-building"></a>
|
||||
## 系统构建方法
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -122,6 +122,9 @@ documents:
|
||||
- path: .github/context/gongfa/README.md#doc-glue-coding
|
||||
title: 拼好码
|
||||
role: 复用成熟能力、胶水原则、能力编排与业务交付
|
||||
- path: .github/context/gongfa/README.md#doc-lambda-calculus
|
||||
title: Lambda 演算
|
||||
role: 天级上品;变量绑定、函数抽象、归约与组合及工程语义边界
|
||||
- path: .github/context/gongfa/README.md#doc-system-building
|
||||
title: 系统构建方法
|
||||
role: 自顶向下、自底向上与分而治之
|
||||
|
||||
@@ -70,9 +70,9 @@ class CatalogMaintenanceTest(unittest.TestCase):
|
||||
|
||||
def test_current_all_classified_content_and_two_bad_summaries_keep_original_opinions(self):
|
||||
rows = catalog.merge_rows(deepcopy(self.documents))
|
||||
self.assertEqual(Counter(row['namespace'] for row in rows), {'registry': 79, 'html211': 211, 'solve24': 24, 'html96': 96})
|
||||
self.assertEqual(len(rows), 410)
|
||||
self.assertEqual(len({(r['namespace'], r['original_id'], r['content_version']) for r in rows}), 410)
|
||||
self.assertEqual(Counter(row['namespace'] for row in rows), {'registry': 80, 'html211': 211, 'solve24': 24, 'html96': 96})
|
||||
self.assertEqual(len(rows), 411)
|
||||
self.assertEqual(len({(r['namespace'], r['original_id'], r['content_version']) for r in rows}), 411)
|
||||
undetermined = {(r['namespace'], r['original_id']) for r in rows if r['grading_status'] == 'undetermined'}
|
||||
self.assertEqual(undetermined, {('html211', 'E001'), ('html96', 'VC029')})
|
||||
by_id = {(r['namespace'], r['original_id']): r for r in rows}
|
||||
@@ -80,7 +80,14 @@ class CatalogMaintenanceTest(unittest.TestCase):
|
||||
self.assertEqual(by_id['solve24', 'psoa.programming.minimal-reproduction']['grade_id'], 'di-initial')
|
||||
self.assertIn('一个分布式系统最多只能保证一致性、可用性和分区容错性中的两项。', by_id['html96', 'VC029']['original_text'])
|
||||
self.assertIn('失去50%容量时剩余单位需要承担2倍总流量。', by_id['html211', 'E001']['original_text'])
|
||||
self.assertEqual(sum(r['entry_status'] == '已登记' for r in rows), 79)
|
||||
self.assertEqual(sum(r['entry_status'] == '已登记' for r in rows), 80)
|
||||
glue_index = next(index for index, row in enumerate(rows) if row['original_id'] == 'gongfa-glue-coding')
|
||||
self.assertEqual(rows[glue_index + 1]['name'], 'Lambda 演算')
|
||||
self.assertEqual(rows[glue_index + 1]['grade_id'], 'tian-advanced')
|
||||
self.assertIn('天级上品', rows[glue_index + 1]['reason'])
|
||||
rendered = catalog.book_views.render_sources(ROOT, 'gongfa')
|
||||
chapters = [line for line in rendered.splitlines() if line.startswith('## ')]
|
||||
self.assertEqual(chapters[chapters.index('## 拼好码') + 1], '## Lambda 演算')
|
||||
self.assertEqual(sum(r['entry_status'] == '登记库候选' for r in rows), 0)
|
||||
self.assertEqual(self.documents['registry']['assessments'], [])
|
||||
registry_item = next(item for item in self.documents['registry']['gongfa'] if item['id'] == 'gongfa-first-principles')
|
||||
@@ -108,7 +115,7 @@ class CatalogMaintenanceTest(unittest.TestCase):
|
||||
))
|
||||
self.assertEqual(expected_solve_explanation, solve_row['explanation'])
|
||||
markdown = catalog.render_markdown(rows, self.binding)
|
||||
self.assertIn('- 共**410条内容记录**;已登记79条,登记库候选0条,未入登记库的来源候选331条。', markdown)
|
||||
self.assertIn('- 共**411条内容记录**;已登记80条,登记库候选0条,未入登记库的来源候选331条。', markdown)
|
||||
self.assertNotIn('[控制论与科学方法论](#控制论与科学方法论)', markdown)
|
||||
self.assertFalse('catalog.xlsx' in markdown, '活动阅读视图只有Markdown,历史Excel仅作原始载荷保存')
|
||||
section = markdown.split('## 全部记录\n\n', 1)[1].split('\n\n## 更新与核对', 1)[0]
|
||||
@@ -137,7 +144,7 @@ class CatalogMaintenanceTest(unittest.TestCase):
|
||||
rows = catalog.merge_rows(documents)
|
||||
self.assertEqual(sum(row['entry_status'] == '登记库候选' for row in rows), 1)
|
||||
markdown = catalog.render_markdown(rows, self.binding)
|
||||
self.assertIn('- 共**411条内容记录**;已登记79条,登记库候选1条,未入登记库的来源候选331条。', markdown)
|
||||
self.assertIn('- 共**412条内容记录**;已登记80条,登记库候选1条,未入登记库的来源候选331条。', markdown)
|
||||
|
||||
def test_registry_updates_follow_explicit_correction_and_never_inherit_a_new_version(self):
|
||||
documents = deepcopy(self.documents)
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
|
||||
Context的9个既有集合是`gongfa`、`faqi`、`getting-started`、`prompts`、`research`、`external-resources`、`ai-citation`、`metadata`、`assets`。
|
||||
全部18个Skill和现有Extensions清单分别在其README,不另建工具注册层。
|
||||
Lambda演算已按用户要求加入功法,品级天级上品(现行`tian-advanced`),总表、文集及首页学习入口均紧随拼好码;不新增解释器或执行器。
|
||||
|
||||
## 原始数据与来源
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
**统一说明约定**:每次选用工具,问清问题是什么、为何这样设计、怎样实现、代价是什么;再比较替代方案、可复用共性和生效前提。
|
||||
这不是新增工具注册表,也不把资料行、运行实例、抽象依赖类别和程序源码混成一种身份。
|
||||
|
||||
**组合方式**:借鉴Lambda演算,用`f: Input → Result`表达接口,只有前一步结果满足后一步输入条件时才组合`λx. g(f(x))`。
|
||||
**组合方式**:借鉴[Lambda演算](.github/context/gongfa/README.md#doc-lambda-calculus),用`f: Input → Result`表达接口,只有前一步结果满足后一步输入条件时才组合`λx. g(f(x))`。
|
||||
真实程序的错误、环境、权限及副作用另列;这个记号不证明纯函数、确定性、正确性或终止,不在仓内实现解释器。
|
||||
|
||||
主体执行复用Pi的原生工具与模型选择,使用已授权的OpenAI GPT;没有新建Agent、模型HTTP客户端或Pi内置扩展副本。
|
||||
@@ -150,7 +150,8 @@ pi --skill .github/skills
|
||||
3. [问题求解](.github/context/gongfa/README.md#doc-problem-solving) - “目标-现状-差距-标准”与“目标-约束-对象-路径”的极简框架
|
||||
4. [Vibe Coding 状态转移闭环](.github/context/gongfa/README.md#doc-vibe-coding-state-transition) - 用固定目标、可变策略和分层反馈统一理解 Vibe Coding
|
||||
5. [拼好码](.github/context/gongfa/README.md#doc-glue-coding) - 优先复用成熟能力,用胶水代码连接、编排、适配业务流程
|
||||
6. [工程实践](.github/context/gongfa/README.md#doc-quality-gates-and-pitfalls) - 用项目架构、代码组织、开发经验和硬门禁约束 AI 输出
|
||||
6. [Lambda演算](.github/context/gongfa/README.md#doc-lambda-calculus) - 天级上品;理解函数抽象、作用域、归约与组合边界
|
||||
7. [工程实践](.github/context/gongfa/README.md#doc-quality-gates-and-pitfalls) - 用项目架构、代码组织、开发经验和硬门禁约束 AI 输出
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user