dram.me

PAIP读书笔记(第一章)

以下是阅读PAIP第一章部分的一些笔记:

  1. “Special forms”和函数可能并不一样,按PAIP中的介绍,“special forms”更类似于传统语言中“语句”的概念;
  2. 即使只是简单地做函数别名,用特定的名称往往好过通用名称。主要基于两点:一是让代码的意图更清晰,二是如果需要调整代码,找起来更简单;
  3. 按PAIP中的意思,lambda表达式在使用时也需要加#'前缀,但在SBCL和ECL上实验发现并不需要,这是在哪一点有不一致?这里有对此的讨论;
  4. 动态类型的优点有哪些?主要是更简单。缺点是有些错误不能在编译时发现;
  5. 什么是First-Class Functions?应该是可以和其他对象一样,在运行态动态创建,并可以创建匿名函数;
  6. Lisp的灵活性不单单体现在实现个别的结构,更可以实现全新的编程模式。在PAIP中后续介绍的rule-based programming,以及在Lisp中实现Prolog,就都是全新的模式。