iT邦幫忙

鐵人檔案

2021 iThome 鐵人賽
回列表
Software Development

Functional Programming For Everyone 系列

這個系列文會分享一年來筆者學習 FP 的心路歷程與學習資源,希望可以幫助對 FP 有興趣的開發者減少學習曲線,並且推廣 FP 的好處,讓更多人使用 FP。

文章主要會用 JavaScript 跟 TypeScript. 可能使用跟講解到的函式庫會有 ramda, fp-ts 與 io-ts.

鐵人鍊成 | 共 30 篇文章 | 40 人訂閱 訂閱系列文 RSS系列文 團隊拒絕奴性的網友
DAY 11

Day 11 - Algebraic Data Types

yo, what's up? Product Type Product types 允許同時存在兩種以上的資料型態在內 舉例來說現在我們建立一個特別的型別叫...

2021-09-26 ‧ 由 Jing.tech 分享
DAY 12

Day 12 - Semigroup I

Definition of a Semigroup 一個集合(Set)或稱型別(Type) 有 concat method 必須符合 associative...

2021-09-27 ‧ 由 Jing.tech 分享
DAY 13

Day 13 - Semigroup II & Monoid

yo, what's up Semigroup II 多組 Semigroup 進形合併 到目前為止我們已經知道 Semigroup 可以透過 concat 將...

2021-09-28 ‧ 由 Jing.tech 分享
DAY 14

Day 14 - Functor

Introduction 在先前我們提到了 compose,並且將許多單一功能的純函式,透過 compose 成一個更強大的計算函式。 但問題就來了,當兩個函式...

2021-09-29 ‧ 由 Jing.tech 分享
DAY 15

Day 15 - Contravariant Functor

在上一章,我們提到了 Functor,但更精準地說是 Covariant functor,而今天要提到的則是 Contravariant Functor,其定義...

2021-09-30 ‧ 由 Jing.tech 分享
DAY 16

Day 16 - Apply

到目前為止我們已經知道了 Functor 可以將 effect 跟 pure function 進行 compose,但我們沒有提到一點是 Functor 無法...

2021-10-01 ‧ 由 Jing.tech 分享
DAY 17

Day 17 - Applicative

Introduction Type Signature of :: Applicative f => a -> f a Law Identit...

2021-10-02 ‧ 由 Jing.tech 分享
DAY 18

Day 18 - Chain

yo, what's up 又看到了這張熟悉的表了,想必大家都已經知道這章要來介紹什麼了, 但在這之前先來複習一下,兩個程式 f 與 g 如何進行 compos...

2021-10-03 ‧ 由 Jing.tech 分享
DAY 19

Day 19 - Maybe Monad

yo, what's up 在之前我們都是用 Identity 作為例子,但其功用並不大,所以今天要來開始介紹一些比較常用的 ADTs,今天就從 Maybe 開...

2021-10-04 ‧ 由 Jing.tech 分享
DAY 20

Day 20 - Maybe Monad II (Piping)

Review 前一篇文章我們談到了如何實作一個 Maybe Monad,而其主要的功能就是處理無值的情境,今天我們要來介紹另外一種寫法去實作 Maybe Mon...

2021-10-05 ‧ 由 Jing.tech 分享