豫言赋

以雅辞明函数之道,以今译备初学之疑。

小引

粤若结绳既远,书契聿兴;竹帛载言,金石传声。迨夫电走铜脉,算驰硅城,欲役万机,必先正辞。西式之码,固可通神工;华夏之文,亦宜开别境。于是取名实之辨,参函数之理;以 述所变,以 接所成;以 察万形,以 贯众类。字有疆而意无际,句若古而器维新。名之曰豫言,铺陈其术,乃为此赋。

是书以赋体为文,以函数为经,以类型为纬。先陈值与类,次及术与参;继以构造、鉴形、递归、多态,终于府库、效用、持变、合章。诸例皆尝以仓库所载稳定自举编译器验其类,又编而行之,非徒纸上谈兵也。

十三篇之体与循序之法,取意于《文言阴符》;然篇目、譬喻、正文与豫言诸例,皆据豫言今制而新作。欲考语法之精,宜观语言规范;欲构编译之器,宜循快速开始

篇目

篇章 所明 成例
启机第一 编译、运行与初声 启机。豫
正名第二 名、实、字面与定义 正名。豫
术数第三 函数之类、参数、调用与局部绑定 术数。豫
决疑第四 爻、比较与条件 决疑。豫
制器第五 自制类型与构造器 制器。豫
鉴形第六 模式、对子与分枝 鉴形。豫
列阵第七 多态列与结构递归 列阵。豫
通术第八 高阶术、多态与隐式类参 通术。豫
归藏第九 顶层递归与局部递归 归藏。豫
府库第十 模块之寻、观、诵与投影 府库。豫
弦歌第十一 字符串、输入输出与次序 弦歌。豫
持变第十二 可选值、异常与引用 持变。豫
成章第十三 合诸术为数据流水 成章。豫

读法

赋文主于取势,章解主于定言,代码主于验实。初学宜循篇次而进;素习函数式编程者,可自第五篇始,专察豫言之构造、模式与隐参。

诸篇成例,皆可立于仓库之根径行之。例曰:

./yy_bs_stable 文档/豫言赋/示例/启机。豫

但欲验类而不运行者,曰:

./yy_bs_stable 文档/豫言赋/示例/启机。豫 --type-check-only

约法

豫言之辞虽近人言,其法度则严。读者当先识四端:

  1. 内建关键之辞裸书,如 ;自定之名,以 「」 括之。
  2. 字符串以 『』 括之;数字字面量,亦寓 「」 中。
  3. 声明以中文句号 相隔;表达式须定其组者,以全角括号 () 括之。
  4. 是书务明,故多显书其辞;习熟之后,乃可酌用语言所容之简式。

古所谓绳墨者,非困匠也,所以成方圆;今所谓类型者,非困作者也,所以护程序。守其界,然后纵其才。十三篇之旨,大抵在此。