我们通常把一个只有一个值的类型,称为 unit type ,如 OCaml 的 unit 类型,就只有一个值 ()。unit type 类型的值通常不被用于携带信息,而往往是出于形式的需要。
在 C++ 引入 monadic operations 以后,一个传统的 unit type 的重要性开始凸显。然而,C++ 仍旧在使用 void 。在传统上,其它语言...
CAI (Computer-Assisted Instruction, 计算机辅助教学) 这个词起码二十年没听人提起过了。简单说就是一些教学软件。在90年代,CAI 软件《开天辟地》曾经风靡一时。下面列出一些现代的 CAI 系统。
Racket
这既是一个编程语言开发环境,也是最有名的 Scheme 开发平台,同时也是一个 CAI 软件。当你第一次打开 Dr...
很多人都认为 SBCL 是“最快”的 Common Lisp 实现。然而,这种情况,在OpenJDK 11出来后被反转了。ABCL是 JVM 上的 Common Lisp 实现。可能由于投入不足,这个实现基本上是没有多少编译优化的,生成的代码又臭又长又慢。即便如此,凭借JVM的优化,这些又臭又长的代码也能优化成最快的 Common Lisp 代码。下面的例子...