为什么许多编程语言对换行甚至缩进情有独钟?

使用 Offside rule 的影响来自于 1966 年发表的 ISWIM,也就是 PL 任耳熟能详的 the next 700 languages

初衷很简单,ISWIM 不是实际实现的语言,比起方便实现用程序 parser,它更主要用来手写和 TeX 排版里交流算法代码,在没有 IDE 辅助情况下,显然用缩进而不是成对结构对人类更友好,而且当时 TeX 排版代码不是用工具生成 TeX,而是直接手打 TeX 命令,省略不必要的结构有效提高写论文效率 当时还没有 TeX,论文是手工铅排的,作者在后记中提到为了保证排版正确把校对版打回重排了三次,不过对最终效果还是十分滿意。在只能单色打印的时代,能用不同字体来“高亮”关键字而不须用等宽字体,也能提高论文可读性。

ISWIM 影响众多后来的函数式风格语言,包括 1971 年的 Axiom CAS,用 Lisp 实现了一个使用 offside rule 的扩展语言编译器,以及 1972 年实现的 ISWIM 的可执行子集 SASL,它的后继者 Miranda 和 Haskell

4 个赞