豫豫言文档API ATLAS
入口包说明.html
18 模块254 名称
← 全部模块

模块 / 4

依赖解析。豫

依赖解析。豫

31公开名称

包节点

公开
「元类型」

文言:此篇纯函数,自应用起,循依赖而尽取其闭包;磁盘之事(列包、读描述)由调用者授以函数与表。汉语:传递依赖解析。输入:包表(包名与包文件路径的对应)、包根列表(只用于报错)、读取包描述的函数、应用根节点;输出:按依赖在前、应用在末排序的库与应用节点,以及按首次遇到顺序排列的操作系统接口名。标准库与内置基础库(原拓展库拆出,见「内置基础库名们」)内置,豫言操作系统XXX 表示接口 XXX,其余依赖到包表里找恰一个。环用已访问表截断。

包节点名

公开
化(「字符串」合「字符串」合(「列」于「字符串」))而「字符串」

暂无说明。

包节点路径

公开
化(「字符串」合「字符串」合(「列」于「字符串」))而「字符串」

暂无说明。

包节点依赖们

公开
化(「字符串」合「字符串」合(「列」于「字符串」))而(「列」于「字符串」)

暂无说明。

已找包

公开
「元类型」

文言:包表之一项:名与所在之包文件。汉语:包表的一项:包名与包描述文件的路径。

解析结果

公开
「元类型」

文言:解析所得:库与应用之节点(依赖在前,应用居末),及接口名(首见之序)。汉语:解析结果:节点列表与接口名列表。

解析结果节点们

公开
化((「列」于(「字符串」合「字符串」合(「列」于「字符串」)))合(「列」于「字符串」))而(「列」于(「字符串」合「字符串」合(「列」于「字符串」)))

暂无说明。

解析结果接口们

公开
化((「列」于(「字符串」合「字符串」合(「列」于「字符串」)))合(「列」于「字符串」))而(「列」于「字符串」)

暂无说明。

内置基础库名们

公开
(「列」于「字符串」)

文言:内置基础库之名,依依赖之序;标准库另计。汉语:内置基础库(原拓展库拆出)的包名,按依赖先后排列;标准库另行处理。

内置基础库依赖们

公开
化「字符串」而(「列」于「字符串」)

文言:内置基础库之所依。汉语:内置基础库各自的依赖名。

内置名在列中

公开
化「字符串」而化(「列」于「字符串」)而「爻」

暂无说明。

内置包吗

公开
化「字符串」而「爻」

暂无说明。

接口前缀

公开
「字符串」

暂无说明。

接口依赖名

公开
化「字符串」而(「或可有」于「字符串」)

文言:依赖名冠以豫言操作系统者,乃公约接口,去其冠得接口名。汉语:如果依赖名以「豫言操作系统」开头且后面还有字,返回其后的接口名;否则返回无。 文言:待办事项:诸父包(豫言操作系统接口、底层接口、适配、工具)亦冠此名,客若依之,则误作同名之接口而不得其目;今惟令客径依具体之包。汉语:待办事项:以此前缀开头的父包(豫言操作系统接口、豫言操作系统底层接口、豫言操作系统适配、豫言操作系统工具)若被应用依赖,会被当作名为“接口”“底层接口”“适配”“工具”的接口而找不到目录;目前只要求应用直接依赖具体的包。

依赖分类

公开
「元类型」

暂无说明。

略过依赖

公开
「依赖分类」

暂无说明。

接口依赖

公开
化「字符串」而「依赖分类」

暂无说明。

普通依赖

公开
「依赖分类」

暂无说明。

解析状态

公开
「元类型」

文言:状态三事:已访问之包名、已得之节点(逆序)、已见之接口(逆序)。汉语:解析状态:已访问的包名、已产出节点的逆序列表、已遇到接口名的逆序列表。

核验依赖名

公开
化「字符串」而化「字符串」而「有」

文言:一依赖何属:内置、已见者略过;接口未见则收之;余者为普通包。汉语:给依赖分类:内置包或已访问的包、已收集的接口都略过,新接口收集,其余是需要到包表里找的普通包。 文言:依赖之名将入路径与命令,先验其洁。汉语:依赖名必须是安全名称(不空、不含斜杠等),否则抛出指明请求者的中文事故;接口名同样受检。

分类依赖

公开
化「字符串」而化「字符串」而化((「列」于「字符串」)合(「列」于(「字符串」合「字符串」合(「列」于「字符串」)))合(「列」于「字符串」))而「依赖分类」

暂无说明。

按名找路径

公开
化(「列」于(「字符串」合「字符串」))而化「字符串」而(「列」于「字符串」)

文言:同名之包,取其路径之去重有序者。汉语:在包表里按名查找,返回去重并按字节序排序的候选路径列表。

唯一路径

公开
化「字符串」而化「字符串」而化(「列」于「字符串」)而化(「列」于「字符串」)而「字符串」

文言:无则告其所搜之根,多则列其诸径。汉语:候选恰有一个时返回其路径;没有或有多个时抛出说明依赖名、请求者与包根的中文事故。

核验所有者

公开
化「字符串」而化(「字符串」合「字符串」合(「列」于「字符串」))而「有」

文言:自动模式所识之包,主皆为豫言。汉语:自动模式生成的包上下文里所有包的所有者都是「豫言」,其他所有者暂不支持。

载入节点

公开
化化「字符串」而(「字符串」合「字符串」合(「列」于「字符串」))而化「字符串」而化「字符串」而(「字符串」合「字符串」合(「列」于「字符串」))

文言:入一包:读其描述,验其名与所有者。汉语:读取包描述并核对:包描述里的名称必须与依赖名一致,所有者必须是「豫言」。

载入依赖

公开
化(「列」于(「字符串」合「字符串」))而化(「列」于「字符串」)而化化「字符串」而(「字符串」合「字符串」合(「列」于「字符串」))而化「字符串」而化「字符串」而(「字符串」合「字符串」合(「列」于「字符串」))

暂无说明。

登记访问

公开
化「字符串」而化((「列」于「字符串」)合(「列」于(「字符串」合「字符串」合(「列」于「字符串」)))合(「列」于「字符串」))而((「列」于「字符串」)合(「列」于(「字符串」合「字符串」合(「列」于「字符串」)))合(「列」于「字符串」))

文言:三事各有登记之术;泛型之缀,必在有型之函内为之,以免类型不定。汉语:解析状态的三个更新函数:登记已访问的包名、登记新遇到的接口名、追加产出的节点。写成带完整类型签名的小函数,避免在局部绑定里构造带泛型的元组导致隐式参数无法确定。

登记节点

公开
化(「字符串」合「字符串」合(「列」于「字符串」))而化((「列」于「字符串」)合(「列」于(「字符串」合「字符串」合(「列」于「字符串」)))合(「列」于「字符串」))而((「列」于「字符串」)合(「列」于(「字符串」合「字符串」合(「列」于「字符串」)))合(「列」于「字符串」))

暂无说明。

登记接口

公开
化「字符串」而化((「列」于「字符串」)合(「列」于(「字符串」合「字符串」合(「列」于「字符串」)))合(「列」于「字符串」))而((「列」于「字符串」)合(「列」于(「字符串」合「字符串」合(「列」于「字符串」)))合(「列」于「字符串」))

暂无说明。

访问包

公开
化(「列」于(「字符串」合「字符串」))而化(「列」于「字符串」)而化化「字符串」而(「字符串」合「字符串」合(「列」于「字符串」))而化(「字符串」合「字符串」合(「列」于「字符串」))而化((「列」于「字符串」)合(「列」于(「字符串」合「字符串」合(「列」于「字符串」)))合(「列」于「字符串」))而((「列」于「字符串」)合(「列」于(「字符串」合「字符串」合(「列」于「字符串」)))合(「列」于「字符串」))

文言:访一包:先记其名(防环),逐依而入;接口则收,普通包则载而访之;毕,乃书其节点于后。汉语:深度优先访问一个包:进入时先登记,防止环;按依赖声明顺序处理每个依赖;处理完再把本节点追加到结果(因此依赖在前,应用在末)。

解析依赖

公开
化(「列」于(「字符串」合「字符串」))而化(「列」于「字符串」)而化化「字符串」而(「字符串」合「字符串」合(「列」于「字符串」))而化(「字符串」合「字符串」合(「列」于「字符串」))而((「列」于(「字符串」合「字符串」合(「列」于「字符串」)))合(「列」于「字符串」))

文言:自应用起尽取其依赖之闭包。汉语:解析入口:从应用节点出发,返回(节点列表,接口名列表);节点依赖在前、应用在末,接口按首次遇到的顺序。