這個系列文會分享一年來筆者學習 FP 的心路歷程與學習資源,希望可以幫助對 FP 有興趣的開發者減少學習曲線,並且推廣 FP 的好處,讓更多人使用 FP。
文章主要會用 JavaScript 跟 TypeScript. 可能使用跟講解到的函式庫會有 ramda, fp-ts 與 io-ts.
yo, what's up? Product Type Product types 允許同時存在兩種以上的資料型態在內 舉例來說現在我們建立一個特別的型別叫...
Definition of a Semigroup 一個集合(Set)或稱型別(Type) 有 concat method 必須符合 associative...
yo, what's up Semigroup II 多組 Semigroup 進形合併 到目前為止我們已經知道 Semigroup 可以透過 concat 將...
Introduction 在先前我們提到了 compose,並且將許多單一功能的純函式,透過 compose 成一個更強大的計算函式。 但問題就來了,當兩個函式...
在上一章,我們提到了 Functor,但更精準地說是 Covariant functor,而今天要提到的則是 Contravariant Functor,其定義...
到目前為止我們已經知道了 Functor 可以將 effect 跟 pure function 進行 compose,但我們沒有提到一點是 Functor 無法...
Introduction Type Signature of :: Applicative f => a -> f a Law Identit...
yo, what's up 又看到了這張熟悉的表了,想必大家都已經知道這章要來介紹什麼了, 但在這之前先來複習一下,兩個程式 f 與 g 如何進行 compos...
yo, what's up 在之前我們都是用 Identity 作為例子,但其功用並不大,所以今天要來開始介紹一些比較常用的 ADTs,今天就從 Maybe 開...
Review 前一篇文章我們談到了如何實作一個 Maybe Monad,而其主要的功能就是處理無值的情境,今天我們要來介紹另外一種寫法去實作 Maybe Mon...