天天看點

函數式程式設計中的函數—函數式程式設計的多态

函數式程式設計中的函數—函數式程式設計的多态

儲存了計算上下文和計算過程的特殊值

儲存了計算上下文和計算過程的有輸入輸出的可計算結構。

儲存了計算上下文和計算過程的可配置結構;(柯裡化)。

函數作為一種特殊的值和結構,可以由更高階的函數對其進行組合、變換、柯裡化等操作;

函數作為輸入和輸出:本質上都是可配置、可計算結構。

可配置的是作為參量輸入的計算上下文;

可計算是計算上下文配置完備後直接進行計算;

普通函數;

參數函數(閉包函數);

高階函數;

傳回函數(内部函數);

值函數:被其它函數引用和調用的函數;

上下文函數:給值函數提供上下文(參量)的函數。

函數:需要初始化的可求值結構;

函數變量:需要二階初始化的可求值變量

1、求值結構初始化;函數綁定;

2、求值上下文初始化;參數變量綁定;

函數作為傳回值的函數的解析

1、定義函數變量,引用函數傳回值;

2、對函數變量進行上下文初始化,執行求值;

形參上下文:

函數内部對其它函數的引用,一部分是通過形參初始化的;

編譯器會對所有的基礎函數:不管是内部還是外部的進行編譯存儲。

函數式程式設計中可變的是同一簽名下,不同實作的函數的可替代性。

基礎函數:函數式程式設計中所有的不可變的函數;

組合函數:通過不可變的函數結合而成的函數。

組合函數的調用入口仍然是基礎函數;

函數式程式設計的多态:

同一個基礎函數與不同的其它函數組合,會有不同的行為形式。

------------------越是喧嚣的世界,越需要甯靜的思考------------------

合抱之木,生于毫末;九層之台,起于壘土;千裡之行,始于足下。

積土成山,風雨興焉;積水成淵,蛟龍生焉;積善成德,而神明自得,聖心備焉。故不積跬步,無以至千裡;不積小流,無以成江海。骐骥一躍,不能十步;驽馬十駕,功在不舍。锲而舍之,朽木不折;锲而不舍,金石可镂。蚓無爪牙之利,筋骨之強,上食埃土,下飲黃泉,用心一也。蟹六跪而二螯,非蛇鳝之穴無可寄托者,用心躁也。

繼續閱讀