函數(shù)式編程中一切皆是函數(shù),函數(shù)的同一個(gè)輸入產(chǎn)生的結(jié)果是確定的,不依賴于外部狀態(tài) 。
所有的變量可以看作不可改變的,因此無法保存狀態(tài)。
函數(shù)式編程的重點(diǎn)是定義而不是狀態(tài)機(jī)的實(shí)現(xiàn),而普通的過程式編程正好相反。
函數(shù)式程序中各語句不一定嚴(yán)格按順序執(zhí)行,但不影響結(jié)果,這種無序化正是并行運(yùn)算的基礎(chǔ),是天然邏輯分離的。
closure :函數(shù)式強(qiáng)調(diào)無狀態(tài),但closure用于實(shí)現(xiàn)狀態(tài) 。
continuation :將結(jié)果作為參數(shù)傳給下一個(gè)函數(shù) , 類似于返回地址的跳轉(zhuǎn),在函數(shù)返回時(shí)將結(jié)果作為參數(shù)調(diào)用下一個(gè)函數(shù),用于實(shí)現(xiàn)有序化。
currying : 快速簡易的創(chuàng)建數(shù)據(jù)封裝,類似adapter模式,用于實(shí)現(xiàn)接口轉(zhuǎn)換 。