Advertisement
Guest User

Untitled

a guest
Mar 24th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.11 KB | None | 0 0
  1. 將一般流程的 io 處理、錯誤處理、外部變數狀態修改視作副作用,與正常流程抽離出來。
  2. 正常流程被 lift 到 functor 殼裡,其他的副作用被掛在 functor 本身。
  3.  
  4. 讓正常流程能夠 RT 跟 total,進而能讓一切的小程流可以無痛組裝串接起來。
  5.  
  6. - functor 支持 map,能讓外部函式能夠一次性地套用殼內的數值。
  7. - applicative 不只支持 functor 的一次性套用,還能夠更細緻將一次性套入函式,打散分成各個 在殼內的 currued 函式。
  8. 而這些已在殼內的函式,也能繼續套用在殼內的數值。
  9.  
  10. - monad 有了 applicative 的功能外,可以讓任何每個帶有副作用(帶殼)函式,能夠在套用在殼內的數值後,將其所帶的殼們合併攤平成一個殼。
  11. 使得 monad 殼內的運算可以串接所有 a -> fb, b -> fc, c -> fd
  12.  
  13.  
  14. 正常流程內部又 pure 又 total,所以 applicative 中有個 pure 表示它會將先沒作用任何參數的 function ,升級成將只會處理正常流程的 殼內 function。
  15. pure 是這個意思。
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement