增量构建:Vesta 语言中的依赖计算与缓存机制
1. 依赖类型概述
在 Vesta 函数调用过程中,评估器会记录六种不同类型的依赖,这些依赖类型在依赖计算和缓存机制中起着关键作用。以下是这六种依赖类型的详细介绍:
| 类型 | 依赖内容 | 计算值 |
| ---- | ---- | ---- |
| V | 组件的完整值 | Value(V : path, c) == Eval(path, c) |
| X | 名称的存在性 | Value(X: path/id,c) == Eval(path!id, c) |
| D | 绑定的域 | Value(D :path, c) == {n IEval(path!n, c)} |
| T | 值的运行时类型 | Value(T : path, c) == Eval(typeo/(path),c) |
| L | 列表或绑定的长度 | Value(L : path, c) == Eval(length (path) ,c) |
| E | 闭包表达式的值(即函数体) | Value(E: path,c) == Eval(path,c).body |
这些依赖类型并非是绝对的,它们是基于实际使用 Vesta 语言的经验和考虑而选择的,适用于标准构建环境以及许多类似的环境。
2. 依赖计算规则
根据依赖类型和 SDL 语法,我们可以定义计算依赖的数学规则。首先
超级会员免费看
订阅专栏 解锁全文
36

被折叠的 条评论
为什么被折叠?



