我如何编写泛型

主要观点:

  • 通用函数在概念上很美,但语法上有些丑陋,作者的通用函数使用风格旨在让其更接近常规函数,使函数更易读和正确。
  • 介绍了通用函数的结构,包括函数、多个方法、类型调度和元数据等方面,强调了方法的重要性及不同定义方式的优缺点。
  • 提到通用函数可通过类型调度实现高度可组合性,虽方法调度可能较昂贵,但可通过优化声明等方式解决,还介绍了元数据如方法组合和通用类的使用。
  • 建议使用宏来简化通用函数的编写,如 define-generic 宏,并给出了使用示例和参考样式。

关键信息:

  • 通用函数的定义方式,如先放文档和声明,后放方法;在通用定义中列出所有关键字/可选参数等。
  • 方法的分类,如终止/调度/默认方法等,以及不同定义位置的优缺点。
  • 类型调度可通过 eql 类型等实现,可覆盖类型层次结构的边缘情况。
  • 定义简化的通用函数编写宏 define-generic 及其特点和使用示例。

重要细节:

  • 以具体代码示例展示了通用函数的各种特性和用法,如从 NJSON 、Nclasses 等项目中的代码。
  • 强调了在通用函数编写中要注重设计清晰的契约,不要过度优化。
  • 提到可通过邮件提供反馈。
阅读 8
0 条评论