函數式程式設計中的函數—函數式程式設計的多态
儲存了計算上下文和計算過程的特殊值
儲存了計算上下文和計算過程的有輸入輸出的可計算結構。
儲存了計算上下文和計算過程的可配置結構;(柯裡化)。
函數作為一種特殊的值和結構,可以由更高階的函數對其進行組合、變換、柯裡化等操作;
函數作為輸入和輸出:本質上都是可配置、可計算結構。
可配置的是作為參量輸入的計算上下文;
可計算是計算上下文配置完備後直接進行計算;
普通函數;
參數函數(閉包函數);
高階函數;
傳回函數(内部函數);
值函數:被其它函數引用和調用的函數;
上下文函數:給值函數提供上下文(參量)的函數。
函數:需要初始化的可求值結構;
函數變量:需要二階初始化的可求值變量
1、求值結構初始化;函數綁定;
2、求值上下文初始化;參數變量綁定;
函數作為傳回值的函數的解析
1、定義函數變量,引用函數傳回值;
2、對函數變量進行上下文初始化,執行求值;
形參上下文:
函數内部對其它函數的引用,一部分是通過形參初始化的;
編譯器會對所有的基礎函數:不管是内部還是外部的進行編譯存儲。
函數式程式設計中可變的是同一簽名下,不同實作的函數的可替代性。
基礎函數:函數式程式設計中所有的不可變的函數;
組合函數:通過不可變的函數結合而成的函數。
組合函數的調用入口仍然是基礎函數;
函數式程式設計的多态:
同一個基礎函數與不同的其它函數組合,會有不同的行為形式。
------------------越是喧嚣的世界,越需要甯靜的思考------------------
合抱之木,生于毫末;九層之台,起于壘土;千裡之行,始于足下。
積土成山,風雨興焉;積水成淵,蛟龍生焉;積善成德,而神明自得,聖心備焉。故不積跬步,無以至千裡;不積小流,無以成江海。骐骥一躍,不能十步;驽馬十駕,功在不舍。锲而舍之,朽木不折;锲而不舍,金石可镂。蚓無爪牙之利,筋骨之強,上食埃土,下飲黃泉,用心一也。蟹六跪而二螯,非蛇鳝之穴無可寄托者,用心躁也。