J. *_*ini 4 types common-lisp first-class
Peter Norvig 曾说过,许多 OOP 设计模式在 Lisp 中都是微不足道或多余的。这里的幻灯片 #10声称一流类型取代了其中的许多类型。
在什么意义上,Common Lisp 中的类型是一流的?作为参考,《计算机程序的结构和解释》给出了以下编程语言元素必须满足的条件才能被视为一流:
它们可以通过变量命名。
它们可以作为参数传递给过程。
它们可以作为程序的结果返回。
它们可能包含在数据结构中
证明 Common Lisp 中的类型满足上述条件将是一个很好的答案。
在 Common Lisp 中,类型不是一流的:该语言没有公开表示类型的对象,因此很容易满足您给出的所有要求。
类是一流的,类对应于类型的子集。
类型说明符也是一流的:像integeror这样的类型说明(integer 0 (10))符显然是一流的,因为符号和列表是一流的。但类型说明符不是类型,就像符号cons或列表(lambda (x) x)不是函数一样。
所以诺维格的看法是错误的。
| 归档时间: |
|
| 查看次数: |
149 次 |
| 最近记录: |