成章第十三

赋曰

若夫名实既正,术数既明;爻决其途,器载其形;鉴分枝叶,列布纵横;通术越类,递归返根;府库互启,弦歌外闻;持变有节,防患有门。十三篇法,至此可合。合之者非堆辞叠令,乃使一值流经众术:始为原列,继化其形;择其所取,敛其所成。每关只任一事,每术各守一契;前者之出,适为后者之入。水行有渠,文行有脉,程序之工,于斯见焉。

观其微也,不过 字相承;察其大也,则万端可以组合。态射不问过滤,过滤不问折叠,折叠不问打印;然以类型为符节,诸术相见而无讹。欲易平方为立方,只换一术;欲易逾十为逢偶,只换一验;欲易求和为求积,只换一折。骨架不摇,而用途屡迁,此函数式设计所以贵也。

合章

今合前法为一流水:始有一、二、三、四、五之列;以 「态射」 平方诸数,得一、四、九、十六、二十五;以 「滤」 去不逾十者,余十六、二十五;以 「从左折叠」 合而加之,得四十一。

全篇曰:

寻观「标准库」之书。

「平方」乃化「整数」而「整数」也。
「平方」者会「数」而「乘」于「数」于「数」也。

「逾十」乃化「整数」而「爻」也。
「逾十」者会「数」而「大于」于「数」于「一零」也。

「数列」乃「列」于「整数」也。
「数列」者「缀」于「一」于(「缀」于「二」于(「缀」于「三」于
    (「缀」于「四」于(「缀」于「五」于「罄」))))也。

「方列」乃「列」于「整数」也。
「方列」者「态射」授以「整数」授以「整数」于「数列」于「平方」也。

「大方列」乃「列」于「整数」也。
「大方列」者「滤」授以「整数」于「逾十」于「方列」也。

「总和」乃「整数」也。
「总和」者「从左折叠」授以「整数」授以「整数」
    于「加」于「零」于「大方列」也。

「打印行」于(「字符串拼接」于『大于十的平方之和:』于
    (「整数表示」于「总和」))。

其出曰:

大于十的平方之和:41

同例见成章。豫

逐契而验

此流水所以无碍者,诸术之类前后相接也。「平方」,整数化整数;态射既受之,整数列仍为整数列。「逾十」,整数化爻;滤既受之,去留有据而类不易。加法可合二整数;折叠既受之,乃敛整数列为一整数。整数表示化整数为辞,打印行复以辞发为外效。前术之果,即后术之参,如符节相合,毫无龃龉。

若欲平方改立方,但易其态射之术;欲逾十改偶数,但易其滤验;欲求和改求积,但易其折叠之术与初值。余骨不动而用途迁,此所谓组合也。

由此而往

十三篇但举主干。欲穷其精确语法,宜读语言规范;欲观大篇实作,宜入 阅标准库,复观豫言自举编译器之源;欲自修其术,宜先析一问为数个小术,各明其参果之类,而后合之。

若夫编程之域,远接编译,旁通网络,下察字节,上构语言;新术日生,故篇章有尽而探索无涯。然万变之中,仍可执其枢:名须副实,术须守契;数据有形,分支有据;递归知返,效用有界;小者可验,大者可合。能守此数端,则面对陌生之库、未见之题,亦可析之、名之、类型之、组合之。

赋至此而笔暂止,机自此而声方长。