「：展开模式匹配类型
同时展开异常处理的内建操作符，
同时将顺序执行节点变成内联虑
同时把自由变量转换成内建变量
同时展开内建变量
：」

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

。
寻观「编译器核心」之「编译数据」之「编译配置」之「编译期输出」之书。

寻观「编译器核心」之「编译数据」之「抽象绑定树结构」之「命名环境术」之书。

寻观「编译器核心」之「编译步骤」之「类型标注擦除」之「模式匹配消除」之书。

寻观「编译器核心」之「编译数据」之「操作符」之「操作符数据结构」之书。
寻观「编译器核心」之「顺序标识符」之「顺序标识符」之书。

寻观「编译器核心」之「编译步骤」之「类型标注擦除」之「模式匹配展开」之书。

「展开构造器节点」乃
  化「表达式」 「：类型：」而
  化（化（「列」于「表达式」）而「表达式」） 「：参数到最终节点的变换：」而
  化（「列」于「字符串」）而
  「表达式」
也。
「展开构造器节点」者会「类型」而会「最终构造」而会「已有参数」而
  鉴「类型」而
    有（「式节点」于「箭头类型节点」于（「缀」于「定义域」于（「缀」于「次类型」于「余类型们」）））
    则（
      虑「值域」者
        （
          鉴
            「余类型们」而
            有「罄」则「次类型」
            或有「非空余类型们」则
              「式节点」于「箭头类型节点」于（「缀」于「次类型」于「余类型们」）
        ）而
        虑「新名」者「下个字符序数」于『构造器参数』而
        「式节点」
          于（「拉姆达抽象」于「显式」）
          于（（「列」【
            （「进行抽象」
              于「新名」
              于（「展开构造器节点」
                于「值域」
                于「最终构造」
                于（（「附加」授以「字符串」）
                于「已有参数」
                于（（（「列」于「字符串」）也（（「列」【「新名」】）））））））
          】））
    ）
    或有（「式节点」于（「隐式派类型节点」于「参数个数」）于（（「列」【「原绑定值域」】）））
    则（
      虑「新名及后值域」者
        「打开首隐式派类型」于
          「类型」于
          「已有参数」
      而
      「式节点」
        于（「拉姆达抽象」于「隐式」）
        于（（「列」【
          （「进行抽象」
            于（「新名及后值域」中「零」）
            于（「展开构造器节点」于（「新名及后值域」中「一」）于「最终构造」于「已有参数」））
        】）
        ）
    ）
    或有「其他」则
      「最终构造」于（（「态射」）于「已有参数」于「自由变量」）
也。

「：本函数调用前模式已经被顶部归一，所以不应该存在自由变量：」
「转换模式匹配模式」乃化「命名环境」而化「表达式」而「表达式」也。
「转换模式匹配模式」者会「境」而会「式」而
  鉴「式」而
    有（「式节点」于（「模式匹配新变量」于「名」）于「参」）则「式」
    或有（「式节点」于（「唯一构造器节点」于「序数」于「文件路径」于「构造器名」）于（（「列」【「构造器类」】）））
    则（「式节点」于（「展开后唯一构造器节点」于「序数」）于「罄」）
    或有（「式节点」于（「整数节点」于「数」）于「罄」）则
      （「式节点」于（「整数节点」于「数」）于「罄」）
    或有（「式节点」于（「字符串节点」于「串」）于「罄」）则
      （「式节点」于（「字符串节点」于「串」）于「罄」）
    或有（「式节点」于（「内建节点」于「内建爻阳」）于「罄」）则
      （「式节点」于（「内建节点」于「内建爻阳」）于「罄」）
    或有（「式节点」于（「内建节点」于「内建爻阴」）于「罄」）则
      （「式节点」于（「内建节点」于「内建爻阴」）于「罄」）
    或有（「式节点」于「函数调用」于（「缀」于「体」于「参数节点们」））则（
      鉴（「转换模式匹配模式」于「境」于「体」）而
        有（「式节点」于（「展开后唯一构造器节点」于「序数」）于「已有参数」）
        则（
          递归虑「处理参数节点」其化（「列」于「表达式」）而化（「列」于「表达式」）而「表达式」者
            会「当前参数」而会「余参数节点们」而鉴「余参数节点们」而
              有「罄」则「式节点」
                于（「展开后唯一构造器节点」于「序数」）
                于「当前参数」
              或有（「缀」于（「式节点」于（「参数节点」于「隐式」）于「忽略参数们」）于「后参数节点们」）则
                「处理参数节点」
                  于「当前参数」
                  于「后参数节点们」
              或有（「缀」于（「式节点」于（「参数节点」于「显式」）于「用们」）于「后参数节点们」）则
                「处理参数节点」
                  于（「附加」
                    于「当前参数」
                    于（（「态射」）于「用们」于（会「参数」而「转换模式匹配模式」于「境」于「参数」）））
                    于
                    「后参数节点们」
              或有「其他」则
                「发生事故」于『模式函数调用脊不是参数节点』
          而
          「处理参数节点」于「已有参数」于
          「参数节点们」
        ）
        或有「其他」则
          「发生事故」于（『期待展开后节点或新变量，不可以被调用』附（「表达式表示」于「式」））
    ）
    或有（「式节点」于（「元组构造节点」）于「元素们」）则（「式节点」
      于（「元组构造节点」）
      于（（「态射」）于「元素们」于（会「素」而「转换模式匹配模式」于「境」于（「素」））））
    或有「其他」则
      「发生事故」
        于『不支持的模式匹配项』附（「表达式表示」于「式」）附『，环境：「：换行：」』附（「命名环境表示」于「境」）
也。

「模式匹配转换」乃
  化「命名环境」而
  化「表达式」而
  「表达式」 「：标注后的类和物：」
也。
「模式匹配转换」者会「境」而
  会「式」而
    递归虑「绑定对象模式匹配转换」其（化「命名环境」而
    化「表达式」 「：对象（是一个绑定）：」而
    化「表达式」 「：绑定类型：」而
    「表达式」 「：检查过的对象（是一个绑定）：」
  ）者（会「境」而
  会「绑定物」而
  会「绑定类型」而
  （
    虑「绑名」者「获取可能绑定名」于「绑定物」而
    虑「新绑名及新境」者「添加声明」于「境」于「绑名」于「绑定类型」而
    虑「新绑名」者（「新绑名及新境」）中「零」而
    虑「绑体」者
      「式替换」于（「自由变量」于（「新绑名及新境」）中「零」）
      于（「绑定物」）
    而
    虑「绑定体物」者
      「模式匹配转换」于（「新绑名及新境」中「一」）于「绑体」而
    「：TODO 验证模式匹配转换中没有绑定名：」
    （「进行抽象」于「新绑名」于（「绑定体物」））
  ））而
  虑「无」者
    「详细调试打印行」于（会「无」而『模式匹配转换中』附（「表达式表示」于「式」））
  而
  虑「处理」者
    （「尝试运行」授以「表达式」）
    于（会「无」而
    虑「递归处理」者
      （遇「表达式」者「甲」而（「模式匹配转换」于「境」于「甲」））
  而
  鉴「式」而
    有（「式节点」于（「参数节点」于「形」）于「参数们」）则
      （「表达式统一操作」于「递归处理」于「式」）
    或有（「式节点」于「函数调用」于（「缀」于「函数」于「参数节点们」））则
      （「表达式统一操作」于「递归处理」于「式」）
    或有（「式节点」于（「文件定义引用节点」于「文件名」于「投影名」于「序数」）于「罄」）则
      「式」
    或有（「式节点」于（「结构投影带序数」于「串」于「序数」）于（（「列」【「前式」】）））则
      （「发生事故」于『模式匹配转换阶段不应再出现结构投影带序数：』附「串」）
    或有（「自由变量」于「名」）则
      「：我们在此处把自由变量换成内建的：」
      （
        虑「后自由」者
          （
            鉴「名」而
              有『《《内建类型：字符串》》』则
                「式节点」
                  于（「内建节点」于（「内建类型字符串」））
                  于「罄」
              或有『《《内建类型：整数》》』则
                「式节点」
                  于（「内建节点」于（「内建类型整数」））
                  于「罄」
              或有『《《内建类型：小数》》』则
                「式节点」
                  于（「内建节点」于（「内建类型小数」））
                  于「罄」
              或有『《《内建类型：动态分类值》》』则
                「式节点」
                  于（「内建节点」于（「内建类型动态分类值」））
                  于
                  「罄」
              或有『《《内建类型：有》》』则
                「式节点」
                  于（「内建节点」于（「内建类型有」））
                  于
                  「罄」
              或有『《《内建类型：爻》》』则
                「式节点」
                  于（「内建节点」于（「内建类型爻」））
                  于
                  「罄」
              或有『《《内建类型：元类型》》』则
                「式节点」
                  于（「内建节点」于（「内建类型元类型」））
                  于
                  「罄」
              或有『《《内建爻：阳》》』则
                「式节点」
                  于（「内建节点」于（「内建爻阳」））
                  于「罄」
              或有『《《内建爻：阴》》』则
                「式节点」
                  于（「内建节点」于（「内建爻阴」））
                  于「罄」
              或有『《《内建有：元》》』则
                「式节点」
                  于（「内建节点」于（「内建有元」））
                  于「罄」
              或有『《《内建函数：抛出异常字符串》》』则
                「式节点」
                  于（「内建节点」于（「内建函数抛出异常」））
                  于
                  「罄」
              或有『《《内建函数：尝试运行字符串》》』则
                「式节点」
                  于（「内建节点」于（「内建函数尝试运行」））
                  于
                  「罄」
              或有『《《内建函数：整数：相等》》』则
                「式节点」
                  于（「内建节点」于（「内建函数整数相等」））
                  于
                  「罄」
              或有『《《内建函数：整数：大于》》』则
                「式节点」
                  于（「内建节点」于（「内建函数整数大于」））
                  于
                  「罄」
              或有『《《内建函数：整数：减》》』则
                「式节点」
                  于（「内建节点」于（「内建函数整数减」））
                  于「罄」
              或有『《《内建函数：以当前续延调用》》』则
                「式节点」
                  于（「内建节点」于（「内建函数以当前续延调用」））
                  于
                  「罄」
              或有「其他」则「式」
          ）
        而
        鉴「后自由」而
          有（「自由变量」于「后名」）则「式」
          或有「其他」则
            「模式匹配转换」于「境」于「后自由」
      ）
    或有（「式节点」于（「内建节点」于「量」）于「罄」）则（
      鉴「量」而
        有「内建函数抛出异常」则（「式节点」
          于（「拉姆达抽象」于「隐式」）
          于（「列」【
            （「进行无名抽象」于（ 「：者是返回值类：」
              「式节点」
                于（「拉姆达抽象」于「显式」）
                于（（「列」【
                  （「构造抽象」
                    于
                    『异常字符串』于（会「异常字符串」而
                      「式节点」
                        于「内联虑」
                        于（（「列」【
                          （「式节点」于（「解析后外部调用节点无类型」于『豫言_获取当前异常处理器』）于「罄」），
                          （「构造抽象」
                            于
                            『处理函数』
                              于（会「处理函数」而（「添加函数调用参数」
                                于（「自由变量」于「处理函数」）
                                于
                                「显式」于（「自由变量」于「异常字符串」））））
                        】））））
                】））））
          】））
        或有「内建函数尝试运行」则（「式节点」
          于（「拉姆达抽象」于「隐式」）
          于（「列」【
            （「进行无名抽象」于（ 「：者是返回值类：」
              「式节点」
                于（「拉姆达抽象」于「显式」）
                于（（「列」【
                  （「构造抽象」
                    于『尝试结构』
                    于（会
                    「尝试结构」而
                    「式节点」
                      于「续延调用节点」
                      于（（「列」【
                        （「构造抽象」
                          于『尝试续延』
                          于（会
                          「尝试续延」而
                          「式节点」
                            于「内联虑」
                            于（（「列」【
                              （「式节点」于（「解析后外部调用节点无类型」于『豫言_获取当前异常处理器』）于「罄」），
                              （「构造抽象」
                                于
                                『先前异常处理器』
                                  于（会「先前异常处理器」而「式节点」
                                    于「内联虑」
                                    于（（「列」【
                                      （「式节点」
                                        于（「拉姆达抽象」于「显式」）
                                        于（（「列」【
                                          （「构造抽象」
                                            于『异常字符串』
                                            于（会「异常字符串」而「式节点」
                                            于「内联虑」
                                            于（（「列」【
                                              （「式节点」
                                                于（「解析后外部调用节点无类型」于『豫言_设置当前异常处理器』）
                                                于（（「列」【（「自由变量」于「先前异常处理器」）】））），
                                                （「进行无名抽象」
                                                  于（「添加函数调用参数」
                                                  于（「自由变量」于「尝试续延」）
                                                  于「显式」
                                                  于（「添加函数调用参数」
                                                  于（「式节点」
                                                  于（「元组解构节点」于「一」）
                                                  于（（「列」【（「自由变量」于「尝试结构」）】）））
                                                  于「显式」
                                                  于（「自由变量」于「异常字符串」））））
                                            】））））
                                        】））），
                                        （「构造抽象」
                                          于『新的异常处理器』
                                          于（会「新的异常处理器」而「式节点」
                                          于「内联虑」
                                          于（（「列」【
                                            （「式节点」
                                              于（「解析后外部调用节点无类型」于『豫言_设置当前异常处理器』）
                                              于（（「列」【（「自由变量」于（「新的异常处理器」））】））），
                                              （「进行无名抽象」
                                                于（「式节点」
                                                于「内联虑」
                                                于（（「列」【
                                                  （「添加函数调用参数」
                                                    于（「式节点」
                                                    于（「元组解构节点」于「零」）
                                                    于（（「列」【（「自由变量」于「尝试结构」）】）））
                                                    于「显式」
                                                    于（「式节点」于（「展开后内建节点」于「内建有元」）于「罄」）），
                                                    （「构造抽象」
                                                      于『返回值』
                                                      于（会「返回值」而「式节点」
                                                      于「内联虑」
                                                      于（（「列」【
                                                        （「式节点」
                                                          于（「解析后外部调用节点无类型」
                                                          于『豫言_设置当前异常处理器』）
                                                          于（（「列」【（「自由变量」于（「先前异常处理器」））】）））
                                                          ，
                                                          （「进行无名抽象」
                                                            于（（「添加函数调用参数」
                                                            于（「自由变量」于「尝试续延」）
                                                            于「显式」
                                                            于（「自由变量」于「返回值」））））
                                                      】））））
                                                】））））
                                          】））））
                                    】））））
                            】））））
                      】））））
                】））））
          】））

        或有「内建函数以当前续延调用」则（「式节点」
          于（「拉姆达抽象」于「隐式」）
          于（「列」【
            （「进行无名抽象」于（ 「：是返回值类：」
              「式节点」
                于（「拉姆达抽象」于「显式」）
                于（「列」【
                  （「构造抽象」
                    于
                    『续延调用函数』于（会「续延调用函数」而
                      「式节点」
                        于「续延调用节点」
                        于（「列」【
                          （「构造抽象」
                            于『当前续延』
                            于（会
                            「当前续延」而「式节点」
                              于「内联虑」
                              于（「列」【
                                （「式节点」于（「解析后外部调用节点无类型」于『豫言_获取当前异常处理器』）于「罄」），
                                （「构造抽象」
                                  于
                                  『先前异常处理器』
                                    于（会「先前异常处理器」而（「添加函数调用参数」
                                      于（「自由变量」于「续延调用函数」）
                                      于「显式」
                                      于（「式节点」
                                        于（「拉姆达抽象」于「隐式」）
                                        于（「列」【
                                          （「进行无名抽象」
                                            于（ 「：这个是Throw的返回值类型：」
                                            （「式节点」
                                              于（「拉姆达抽象」于「显式」）
                                              于（（「列」【
                                                （「构造抽象」
                                                  于『续延提前返回值』
                                                  于（会「续延提前返回值」而「式节点」
                                                  于「内联虑」
                                                  于（（「列」【
                                                    （「式节点」
                                                      于（「解析后外部调用节点无类型」于『豫言_设置当前异常处理器』）
                                                      于（（「列」【（「自由变量」于「先前异常处理器」）】））），
                                                      （「进行无名抽象」
                                                        于（（「添加函数调用参数」
                                                        于（「自由变量」于「当前续延」）
                                                        于「显式」
                                                        于（「自由变量」于「续延提前返回值」））））
                                                  】））））
                                              】）））））
                                        】）））））
                              】）））
                        】）））
                】）））
          】））
        或有「其他」则（「展开构造器节点」
          于（「内建物类型」于「量」）
          于（会「参数们」而「式节点」于（「展开后内建节点」于「量」）于「参数们」）
          于「罄」）
    ）
    或有（「式节点」于（「拉姆达抽象带类型」于「拉形」）于（（「列」【「原抽象类型」，「拉参」】）））
    则
      「：TODO：应该有很多可能性：」
      （
        虑「后体物」者
          「绑定对象模式匹配转换」于「境」于「拉参」于「原抽象类型」
        而
        （「式节点」于（「拉姆达抽象带类型」于「拉形」）于（（「列」【「原抽象类型」，（「后体物」）】）））
      ）
    或有（「式节点」于（「爻分支节点」）于（「列」【「爻式」，「阳式」，「阴式」】））
    则（
      虑「后爻式」者（「模式匹配转换」于「境」于「爻式」）而
      虑「后阳式」者（「模式匹配转换」于「境」于「阳式」）而
      虑「后阴式」者（「模式匹配转换」于「境」于「阴式」）而
      （「式节点」于（「爻分支节点」）于（「列」【「后爻式」，「后阳式」，「后阴式」】））
    ）
    或有（「式节点」于（「整数节点」于「数」）于「罄」）则
      （「式节点」于（「整数节点」于「数」）于「罄」）
    或有（「式节点」于（「小数节点」于「数」于「整小部」）于「罄」）则
      （「式节点」于（「小数节点」于「数」于「整小部」）于「罄」）
    或有（「式节点」于（「字符串节点」于「串」）于「罄」）则
      （「式节点」于（「字符串节点」于「串」）于「罄」）
    或有（「式节点」于（「元组类型节点」）于「类型们」）则
      （「式」）
    或有（「式节点」于「内联虑带类型」于（「列」【「定义类」，「定义式」，「尾式」】））
    则（
      虑「后定义式」者（「模式匹配转换」于「境」于「定义式」）而
      虑「后尾式物」者
        「绑定对象模式匹配转换」于「境」于「尾式」于「定义类」
      而
      （「式节点」于「内联虑带类型」于（「列」【「定义类」，「后定义式」，「后尾式物」】））
    ）
    或有（「式节点」于（「递归节点」）于（（「列」【「递归定义域」，「递归值域」】）））
    则（
      虑「后递归值域」者
        （「绑定对象模式匹配转换」于「境」于「递归值域」于「递归定义域」）
      而
      （「式节点」于（「递归节点」）于（（「列」【「递归定义域」，「后递归值域」】）））
    ）
    或有（「式节点」于「模式匹配」于（「缀」于「分析式」于「分支们」））
    则（
      虑「后分析式物」者「模式匹配转换」于
        「境」于「分析式」而
        虑「后分支们式」者
          （「态射」授以「表达式」授以「表达式」）
          于
          「分支们」
            于（会「分支」而（「模式匹配转换」于「境」于「分支」））
        而
        虑「展开后结果」者
          （「展开模式匹配顶层」
            于（「式节点」于（「模式匹配」）于（（「缀」授以「表达式」）于（「后分析式物」）于（「后分支们式」））））
        而
        鉴「展开后结果」而
          有（「式节点」于「模式匹配」于「参」）则（「展开后结果」）
          或有「其他」则（「展开后结果」）
    ）
    或有（「式节点」于（「模式匹配分支」）于（（「列」【「模式」，「结果」】）））
    则（
      虑「模式新变量们」者「读取模式匹配新变量」于「模式」而
      虑「无」者
        （
          若（「出现重复」授以「字符串」）于「串相等」于
            「模式新变量们」则「发生事故」
              于『模式有重复变量』附（「表达式表示」于「模式」）
          否则
            （「元」）
        ）
      而
      虑「归一后模式」者「模式」
      而
      虑「归一后模式新变量们」者「读取模式匹配新变量」于
        「归一后模式」
      而
      虑「无」者
        （
          若（「不等于」于（「长度」于（「归一后模式新变量们」））于（「长度」于（「模式新变量们」）））则
            「发生事故」
              于
              『模式的归一并未完全保持新变量(1)』附（「表达式表示」于「模式」）附『，』附（「表达式表示」
                于
                「归一后模式」）
          否则
            （
              若（（「互为子集」授以「字符串」）于「串相等」于（「归一后模式新变量们」）于（「模式新变量们」））则
                「元」
              否则
                「发生事故」
                  于
                  『模式的归一并未完全保持新变量(2)』附（「表达式表示」于「模式」）附『，』附（「表达式表示」
                    于
                    「归一后模式」）
            ）
        ）
      而
      虑「新境」者「添加模式匹配声明」于「境」于「归一后模式」
      而
      虑「展开后模式」者「转换模式匹配模式」于「境」于
        「归一后模式」
      而
      虑「分支物」者（「模式匹配转换」于「新境」于「结果」）而（（「式节点」
        于（「模式匹配分支」）
        于（（（「列」于「表达式」）也（（「列」【（「展开后模式」），（「分支物」）】）））））
      ）
    ）
    或有（「式节点」于（「元组构造节点」）于「元素们」）
    则（
      虑「后式」者
        （「式节点」
          于（「元组构造节点」）
          于（（「态射」）于「元素们」于（会「元素」而「模式匹配转换」于「境」于「元素」）））
      而
      「后式」
    ）
    或有（「式节点」于（「元组解构节点」于「序数」）于（（「列」【「元组」】）））
    则（
      虑「后对子式」者
        「模式匹配转换」于「境」于
          「元组」
      而
      （「式节点」于（「元组解构节点」于「序数」）于（（「列」【（「后对子式」）】）））
    ）
    或有（「式节点」于「顺序执行节点」于（（「列」【「式甲」，「式乙」】）））
    则（
      虑「后式甲式」者
        「模式匹配转换」于
          「境」于「式甲」
      而
      虑「后式乙式」者「模式匹配转换」于「境」于「式乙」而（「式节点」
        于
          「内联虑」
            于（（「列」【（「后式甲式」），（「进行无名抽象」于（「后式乙式」））】）））
    ）
    或有（「式节点」于（「唯一构造器节点」于「序数」于「文件路径」于「构造器名」）于（（「列」【「构造器类」】）））
    则（（（「展开构造器节点」
      于「构造器类」
      于（会「参数们」而
        「展开展开后唯一构造器节点」于（「式节点」于（「展开后唯一构造器节点」于「序数」）于「参数们」））于
          「罄」）
      ）
    ）
    或有（「式节点」于（「文件引用节点」于「新文件名」）于「罄」）则
      （（「式节点」于（「文件引用节点」于「新文件名」）于「罄」））
    或有（「式节点」于（「解析后外部调用节点带类型」于「串」）于（「缀」于「类」于「参」））则
      （（「式节点」于（「解析后外部调用节点带类型」于「串」）于（「缀」于「类」于「参」）））
    或有（「式节点」于「箭头类型节点」于「参」）则
      （「式」）
    或有（「式节点」于（「隐式派类型节点」于「忽略参数个数」）于「参」）则
      （「式」）
    或有「其他」则
      「发生事故」于『未有模式匹配转换126：』附（「表达式表示」于「式」））
      于（会「异常」而「发生事故」于「异常」附『「：换行：」在模式匹配转换』附（「表达式表示」于「式」）附『时』）
        而

        「处理」
也。

「模式匹配转换顶层」乃化「表达式」而「表达式」也。
「模式匹配转换顶层」者会「式」而
  「模式匹配转换」于「默认命名环境」于「式」
也。
