函数式编程中的函数—函数式编程的多态
保存了计算上下文和计算过程的特殊值
保存了计算上下文和计算过程的有输入输出的可计算结构。
保存了计算上下文和计算过程的可配置结构;(柯里化)。
函数作为一种特殊的值和结构,可以由更高阶的函数对其进行组合、变换、柯里化等操作;
函数作为输入和输出:本质上都是可配置、可计算结构。
可配置的是作为参量输入的计算上下文;
可计算是计算上下文配置完备后直接进行计算;
普通函数;
参数函数(闭包函数);
高阶函数;
返回函数(内部函数);
值函数:被其它函数引用和调用的函数;
上下文函数:给值函数提供上下文(参量)的函数。
函数:需要初始化的可求值结构;
函数变量:需要二阶初始化的可求值变量
1、求值结构初始化;函数绑定;
2、求值上下文初始化;参数变量绑定;
函数作为返回值的函数的解析
1、定义函数变量,引用函数返回值;
2、对函数变量进行上下文初始化,执行求值;
形参上下文:
函数内部对其它函数的引用,一部分是通过形参初始化的;
编译器会对所有的基础函数:不管是内部还是外部的进行编译存储。
函数式编程中可变的是同一签名下,不同实现的函数的可替代性。
基础函数:函数式编程中所有的不可变的函数;
组合函数:通过不可变的函数结合而成的函数。
组合函数的调用入口仍然是基础函数;
函数式编程的多态:
同一个基础函数与不同的其它函数组合,会有不同的行为形式。