第十三屆 優選

software-dev
Functional Programming For Everyone
Jing.tech

系列文章

DAY 11

Day 11 - Algebraic Data Types

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

DAY 12

Day 12 - Semigroup I

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

DAY 13

Day 13 - Semigroup II & Monoid

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

DAY 14

Day 14 - Functor

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

DAY 15

Day 15 - Contravariant Functor

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

DAY 16

Day 16 - Apply

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

DAY 17

Day 17 - Applicative

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

DAY 18

Day 18 - Chain

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

DAY 19

Day 19 - Maybe Monad

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

DAY 20

Day 20 - Maybe Monad II (Piping)

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