函数式编程(functional programming)或称函数程序设计,又称泛函编程,是一种编程典范,它将计算机运算视为数学上的函数计算,并且避免使用程序状态以及易变对象。函数式反应式编程(FRP) 是一种采用函数式编程的基础部件(如 map、reduce、filter 等)进行反应式编程(异步数据流编程)的编程范式。FRP 被用于GUI、机器人和音乐方面的编程,旨在通过明确时间模型来简化这些问题。函数式编程是一种编程范式, 它将计算机运算视为数学上的函数计算。 函数式编程的基础是 lambda 演算。可是,单纯依靠这两句解释是不足以分辨函数式编程跟其他编程范式的不同之处, 这需要结合函数式编程语言的特性去分析。 首先, 函数式编程中的函数指的是“高阶函数”, 即函数可以作为参数传入到其他函数, 函数也可以返回函数作为结果。