函数式编程是和面向对象编程对等的设计思想。如果说面向对象是一种真实世界的模拟,那么函数式就是数学世界的模拟。可以看到,函数式编程和数学模型有着直接的关系。

主要有以下几个知识点:

  1. 函数是第一型。这是一个数学概念。支持把问题的解转换成高阶函数迭代的语言体系中,函数被称为“第一型”。
  2. 科里化(currying)。这也是一个数学概念,叫做函数的currying解。
  3. 延迟求值和延续。