寻观「标准库」之书。
寻观「编译器核心」之「编译步骤」之「类型检查」之「模式合一」之书。

寻观「编译器核心」之「编译数据」之「抽象绑定树结构」之「抽象语法树」之「总集」之书。

。

寻观「编译器核心」之「编译数据」之「抽象绑定树结构」之「命名环境术」之书。
寻观「编译器核心」之「编译数据」之「语言服务信息」之书。
寻观「编译器核心」之「编译数据」之「操作符」之「操作符数据结构」之书。

寻观「拓展库」之「顺序标识符」之「顺序标识符」之书。
寻观「编译器核心」之「编译数据」之「编译配置」之「编译期输出」之书。
寻观「编译器核心」之「编译步骤」之「类型检查」之「类型检查工具」之书。
寻观「编译器核心」之「编译步骤」之「类型检查」之「类型检查基础」之书。
寻观「编译器核心」之「编译步骤」之「类型检查」之「函数应用隐式参数合成」之书。

「检查模式类型并更新环境」乃化「命名环境」而化「表达式」 「：对象：」而
  化「表达式」 「：模式的类型：」而
  「表达式」合
    「命名环境」 「：检查后的环境及类型：」
也。
「检查模式类型并更新环境」者会「境」而会「物」而会「类」而
  虑「结果」者（化「命名环境」而化「表达式」而化「表达式」而「表达式」合「命名环境」也会「境」而会「物」而会「类」而
      虑「无」者「详细调试打印行」于（会「无」而『[D]正在检查模式类型，模式：』附（「表达式表示」于「物」）附
          『，类型：』附（「表达式表示」于「类」））
      而
      虑「检查模式函数应用」者（化「命名环境」而化「表达式」而化「表达式」而「表达式」合「命名环境」也
          会「初境」而会「应用物」而会「期望类」而
            虑「头及脊」者「收集函数调用头脊」于「应用物」而
            虑「头类及物」者（「读引用」于「进行对象类型合成引用」）于「初境」
              于（「头及脊」中「零」）而
            递归虑「处理参数组」其
            化「表达式」而化「表达式」而化「命名环境」而化（「列」于（「参数形式」合「表达式」））而
              「表达式」合「表达式」合「命名环境」者
                会「当前类」而会「当前物」而会「当前境」而会「剩余脊」而
                  虑「初已用名」者（「附加」授以「字符串」）于（「读取式自由变量」于「当前物」）
                  于（（「附加」授以「字符串」）于（「读取式自由变量」于「期望类」）
                  于（「命名环境获取所有名称」于「当前境」））而
                  鉴（「读取函数应用类型骨架」于「初已用名」于「当前类」）而有（「上下文」与「隐式名们」与
                    「参数类型们」与「返回类型」
                  ）则
                    若（「且」于（「等」于（「长度」于「隐式名们」）于「零」）
                      于（「等」于（「长度」于「参数类型们」）于「零」））
                    则
                      「发生事故」于『模式函数调用的当前结果不是函数：』附（「表达式表示」于「当前类」）
                    否则
                      （鉴（「拆分函数应用参数组」于（「长度」于「隐式名们」）
                            于（「长度」于「参数类型们」）于
                            「阳」于「剩余脊」
                        ）而
                        有（「已给隐式参数们」与「显式参数们」与「后脊」）
                        则（虑「当前可能期望类」者（鉴「后脊」而
                            有「罄」则（「可有」授以「表达式」）于「期望类」
                            或有「非空后脊」则「可无」授以「表达式」
                          ）而
                            虑「接地骨架」者「上下文」与「隐式名们」与「参数类型们」与
                              「返回类型」而
                            虑「缺省隐式参数们」者「求解函数应用隐式参数」于「当前境」于
                              「接地骨架」于「已给隐式参数们」于「显式参数们」于
                              「当前可能期望类」而
                            虑「全部隐式参数们」者（「附加」授以「表达式」）于
                              「已给隐式参数们」于「缺省隐式参数们」而
                            递归虑「检查隐式参数们」其化「表达式」而化「表达式」而化
                              「爻」而化（「列」于「表达式」）而「表达式」合「表达式」合
                              「爻」者会「隐式当前类」而会「隐式当前物」而会「已经开始」
                              而会「待查隐式参数们」而鉴「待查隐式参数们」而
                                有「罄」则「隐式当前类」与「隐式当前物」与「已经开始」
                                或有（「缀」于「参数」于「后参数们」）
                                则（虑「后参数」者（「读引用」于「进行类型类型检查引用」）于「当前境」于「参数」而
                                    虑「后类」者
                                      「应用首隐式类型参数」于
                                      「隐式当前类」于
                                      「后参数」而
                                    虑「后物」者
                                      「添加当前函数应用组参数」于
                                      「已经开始」于
                                      「隐式当前物」于
                                      「隐式」于
                                      「后参数」而
                                    「检查隐式参数们」于
                                    「后类」于
                                    「后物」于「阳」于
                                    「后参数们」
                                ）
                                而
                                鉴（「检查隐式参数们」于「当前类」于「当前物」于「阴」于「全部隐式参数们」）而
                                有（「显式函数类」与「隐式后物」与「已经开始」）则（鉴
                                  「显式参数们」而
                                  有「罄」则（鉴「后脊」而
                                    有「罄」则「显式函数类」与「隐式后物」与「当前境」
                                    或有「非空后脊」则「处理参数组」于「显式函数类」于
                                      「隐式后物」于「当前境」于「后脊」
                                  ）
                                  或有「非空显式参数们」则（鉴（「拆分多参数函数类型」于「显式函数类」）而
                                    有（「可有」于（「实际参数类型们」与「实际返回类型」））
                                    则（虑「无」者若（「等」
                                        于（「长度」于「实际参数类型们」）
                                        于（「长度」于「显式参数们」））则「元」
                                    否则
                                      「发生事故」于
                                        『模式函数应用显式参数数量与函数类型不一致』而
                                        递归虑
                                          「检查显式参数们」其化「表达式」而化「命名环境」而化「爻」而化（「列」于
                                              「表达式」
                                          ）而化（「列」于「表达式」）而「表达式」合「命名环境」者会「显式当前物」而会
                                            「显式当前境」而会「已有参数」而会「待查参数们」而会「待查类型们」而鉴
                                            「待查参数们」与「待查类型们」而
                                            有「罄」与「罄」则「显式当前物」与「显式当前境」
                                            或有（「缀」于「参数」于「后参数们」）与（「缀」于「定义域」于「后类型们」）
                                              则（鉴（「检查模式类型并更新环境」于「显式当前境」于「参数」于「定义域」）
                                                而有（「后参数」与「后境」）
                                              则（虑「后物」者「添加当前函数应用组参数」于「已有参数」于「显式当前物」于
                                                    「显式」于「后参数」
                                                  而
                                                  「检查显式参数们」于「后物」于「后境」于「阳」于「后参数们」于
                                                    「后类型们」
                                              ））
                                            或有「其他」则「发生事故」于『模式函数应用参数与参数类型没有一一对应』而鉴（「检查显式参数们」于
                                                「隐式后物」于「当前境」于「已经开始」于「显式参数们」于
                                                「实际参数类型们」
                                            ）而
                                            有（「显式后物」与「显式后境」）则（鉴「后脊」而
                                              有「罄」则「实际返回类型」与「显式后物」与「显式后境」
                                              或有「非空后脊」则「处理参数组」于「实际返回类型」于「显式后物」于
                                                「显式后境」于「后脊」
                                            ））
                                    或有「可无」则「发生事故」于
                                        『模式函数调用的当前类型不是显式函数类型』
                                  ））））
                而
                鉴（「处理参数组」于（「头类及物」中「零」）于（「头类及物」中「一」）于「初境」
                  于（「头及脊」中「一」））
        而有（「结果类」与「结果物」与「结果境」）
        则（虑「无」者「断言类型相等」于「结果类」于「期望类」而「结果物」与「结果境」））而
      「尝试运行」于（会「无」而
        鉴「类」而
          「：TODO 检查对象节点的匹配：」
          有「其他类」则（鉴「物」而
            有（「式节点」于（「源码范围标注节点」于「范围」）于（（「列」【「源码物」】）））
            则（虑「后物及境」者
                  「检查模式类型并更新环境」于
                  「境」于
                  「源码物」于
                  「类」而
                虑「无」者「记录悬停文字信息」于「范围」
                于（「悬停类型文字」于「类」）而「后物及境」
            ）
            或有「自由变量」于「名」则（鉴（「解析单个名称及物」于「境」于「名」）而
              有（「可有」于（「名类」与「名物」））则（鉴「名类」而
                有「构造器类」则（鉴「构造器类」而
                  「：TODO 为何要加隐式参数？：」
                  有（「式节点」于（「隐式派类型节点」于「忽略参数个数」）于（（「列」【「值域」】）））
                  则
                    （「检查模式函数应用」于「境」于「名物」于「类」）
                  或有「其他构造器类」则（虑「无」者「断言类型相等」于「构造器类」于「类」而「名物」与「境」）））
              或有「可无」则（ 「：新绑定：」
                鉴「类」而
                  有「其他」则（虑「后境」者「添加声明不改变名」于『129』于「境」于「名」于「类」而
                                「：TODO：被绑定的变量仍以自由变量形式存在：」
                    （「式节点」于（「模式匹配新变量」于「名」）于（（「列」【「类」】）））与
                      「后境」
                  ）））
            或有「式节点」于（「模式匹配新变量」于「名」）
              于（（「列」【「模式名类」】））则（鉴（「解析单个名称及物」于「境」于「名」）而
                有（「可有」于（「名类」与「名物」））则（「发生事故」于『模式匹配不应当存在』）
                或有「可无」则（虑「无」者「断言类型相等」于「类」于「模式名类」而
                                虑「后境」者「添加声明不改变名」于『144』于「境」于「名」于「类」而
                                （「式节点」于（「模式匹配新变量」于「名」）于（（「列」【「模式名类」】）））与
                  「后境」
                ））
            或有（「式节点」于「空缺」于「罄」）
            则（虑「新名」者「下个字符序数」于『匿名模式』而
                虑「后境」者「添加声明不改变名」于『模式空缺』于「境」于「新名」于
                「类」而（「式节点」于（「模式匹配新变量」于「新名」）于（（「列」【「类」】）））与「后境」
            ）
            或有（「式节点」于「函数调用」于「忽略项们」）则
              （「检查模式函数应用」于「境」于「物」于「类」）
            或有（「式节点」于（「元组构造节点」）于「元素们」）则（鉴「类」而
              有
              （「式节点」于（「元组类型节点」）于「类型们」）则（若（「不等于」
                    于（「长度」于「元素们」）于（「长度」于「类型们」））
              则
                （「发生事故」于『元组模式元素个数和元组类型个数不匹配』）
              否则
                （虑「结果」者（「从左折叠」授以（「表达式」合「表达式」）授以（（「列」于「表达式」）合「命名环境」））
                  于（遇
                  「表达式」合「表达式」者「元素及类型」而会「已有」而
                    虑「后元素及境」者「检查模式类型并更新环境」
                      于（「已有」中「一」）于（「元素及类型」中「零」）
                      于（「元素及类型」中「一」）而（（「缀」授以「表达式」）
                        于（「后元素及境」中「零」）
                          于（「已有」中「零」））与（「后元素及境」中「一」））
                          于（（「罄」授以「表达式」）与「境」）
                          于（（「拉链合并」授以「表达式」授以「表达式」）于「元素们」于「类型们」）而
  （「式节点」于（「元组构造节点」）于（「反转」于（「结果」中「零」）））与（「结果」中「一」）））
              或有「其他」则
                  「发生事故」于『元组模式需要明确的元组类型：』附（「表达式表示」于「类」））
            或有（「式节点」于（「内建节点」于「内建爻阳」）于「罄」）
            则（虑「无」者「断言类型相等」
              于（「式节点」于（「内建节点」于「内建类型爻」）于「罄」）
              于「类」而「物」与「境」
            ）
            或有（「式节点」于（「内建节点」于「内建爻阴」）于「罄」）
            则（虑「无」者「断言类型相等」
              于（「式节点」于（「内建节点」于「内建类型爻」）于「罄」）
              于「类」而「物」与「境」
            ）
            或有（「式节点」于（「整数节点」于「数」）于「罄」）
            则（虑「无」者「断言类型相等」
              于（「式节点」于（「内建节点」于「内建类型整数」）于「罄」）
              于「类」而「物」与「境」
            ）
            或有（「式节点」于（「字符串节点」于「串」）于「罄」）
            则（虑「无」者「断言类型相等」
              于（「式节点」于（「内建节点」于「内建类型字符串」）于「罄」）
              于「类」而「物」与「境」
            ）
              「：其他表达式假设是直接值，不含变量，直接检查类型：」
            或有（「式节点」于（「结构投影」于「投影名」）于「参」）则
              （虑「后物」者（「读引用」于「进行对象类型检查引用」）于「境」于「物」于「类」而「后物」与「境」）
            或有（「式节点」于（「结构投影带序数」于「投影名」于「序数」）于「参」）则
              （虑「后物」者（「读引用」于「进行对象类型检查引用」）于「境」于「物」于「类」而「后物」与「境」）
            或有（「式节点」于（「文件定义引用节点」于「文件名」于「定义名」于「序数」）于「参」）则
              （虑「后物」者（「读引用」于「进行对象类型检查引用」）于「境」于「物」于「类」而「后物」与「境」）
            或有（「式节点」于（「唯一构造器节点」于「序数」于「文件路径」于「构造器名」）
              于（（「列」【「构造器类」】）））
              则
                （虑「无」者「断言类型相等」于「构造器类」于「类」而「物」与「境」）
            或有「其他」则「发生事故」于『不是支持的模式匹配项：』附（「表达式表示」于「物」）））
            于（会「异常」而
              「发生事故」于（「异常」附『「：换行：」=======》》》》 在检查模式|』附（「表达式表示」于「物」）
              附『|「：换行：」    拥有类型|』附（「表达式表示」于「类」）
              附『|「：换行：」    即：|』附（「表达式表示」于（「类」））附『|时』
              附『|「：换行：」    环境：：|』附（「间合」于『，』于（「命名环境获取所有名称」于「境」））附
                『|时』）））而
        「结果」于「境」于「物」于「类」
也。

「检查模式匹配分支」乃化「命名环境」而化「表达式」 「：分支：」而
  化「表达式」 「：返回的类型：」而
  化「表达式」 「：被匹配的类型：」而
  「表达式」 「：检查后的分支：」
也。
「检查模式匹配分支」者会「境」而会「分支」而会「返回类」而会「原匹配类」而
  鉴「分支」而
    有（「式节点」于（「模式匹配分支」）于（（「列」【「模式」，「尾式」】）））
    则（虑「后模式及后境」者
          「检查模式类型并更新环境」于
          「境」于「模式」于
          「原匹配类」而
        虑「后模式」者「后模式及后境」中「零」而
        虑「后境」者「后模式及后境」中「一」而
        虑「后尾式」者（「读引用」于「进行对象类型检查引用」）于
        「后境」于「尾式」于「返回类」而（「式节点」
          于（「模式匹配分支」）
          于（（「列」【「后模式」，「后尾式」】））））
    或有「其他」则「发生事故」于『不是模式匹配分支』也。

「模式匹配分支类型合成」乃化「命名环境」而化「表达式」 「：分支：」而
  化「表达式」 「：被匹配的类型：」而
  「表达式」合
    「表达式」 「：检查后的分支类及物：」
也。
「模式匹配分支类型合成」者会「境」而会「分支」而会「原匹配类」而
  鉴「分支」而
    有（「式节点」于（「模式匹配分支」）于（（「列」【「模式」，「尾式」】）））
    则（虑「后模式及后境」者
          「检查模式类型并更新环境」于
          「境」于「模式」于
          「原匹配类」而
        虑「后模式」者「后模式及后境」中「零」而
        虑「后境」者「后模式及后境」中「一」而
        虑「尾类及物」者（「读引用」于「进行对象类型合成引用」）于
        「后境」于「尾式」而（「尾类及物」中「零」）与（「式节点」
          于（「模式匹配分支」）
          于（（「列」【「后模式」，（「尾类及物」中「一」）】））））
    或有「其他」则「发生事故」于『不是模式匹配分支』
也。

「写引用」于「检查模式匹配分支引用」于「检查模式匹配分支」。
「写引用」于「模式匹配分支类型合成引用」于「模式匹配分支类型合成」。
