主题
- #fp
- #程式庫
- #函數式編碼
- #Effect
- #框架
撰写: 2024-07-30
撰写: 2024-07-30 10:40
過去幾年來,函數式編碼相當流行。
物件導向提供了架構,
而函數式編碼則提升了程式碼細節的簡潔性。
當然,函數式編碼的流行趨勢會以幾年的週期持續出現。
隨著函數式編碼的流行,各種函式庫開始出現。
就我個人而言,FxTs僅僅是利用生成器(generator)來建立延遲評估(lazy evaluation)的工具包。
lodash也給人同樣的工具包感覺。
當然,這些工具包確實有助於宣告式編程。
但我們想要的函數式編程並非如此,而是映射(map)、函數應用(apply)和單子(monad),以及更多單子。
fp-ts符合了這個要求,而且其維護者也真心熱愛函數式編程。
然而,幾個月前,我聽說這個函式庫Effect已經合併。
因此,我查看了Effect,發現有些不同。
函式庫只要 API 公開良好,就可以直接拿來使用,但框架則需要對其套件有足夠的理解。
像這樣的Effect,並非用 Observable 包裹,而是用 Effect 包裹物件,
就像async關鍵字一樣,具有傳染性。
Effect物件的使用需要相應的函數也變成Effect。
就像上面程式碼中的program一樣。
當然,作為入口點的函數確實存在,但這並不夠吸引人。
總之,Effect的形態和簡潔性體現了其框架的角色,我期待它能為 Node 社群帶來新的風氣和標準。
评论0