iT邦幫忙

鐵人檔案

2023 iThome 鐵人賽
回列表
Software Development

Haskell 從入門到放棄 系列

簡單介紹Haskell及functional programming

鐵人鍊成 | 共 30 篇文章 | 6 人訂閱 訂閱系列文 RSS系列文
DAY 21

[Haskell 從入門到放棄] Day 21 - Monoid (1)

Monoid 我們先來看一下幾個 expression (4 * 2) * 1 4 * (2 * 1) ([1] ++ [2,3]) ++ [] [] ++...

2023-10-03 ‧ 由 toddliao469469 分享
DAY 22

[Haskell 從入門到放棄] Day 22 - Monoid (2)

Maybe 在 Haskell 中 Maybe a 也是能具有 Monoid 特性的。 instance Monoid a => Monoid (Mayb...

2023-10-04 ‧ 由 toddliao469469 分享
DAY 23

[Haskell 從入門到放棄] Day 23 - Monad (1)

在看 monad 相關的文章時不時想到一個剛開始學 FP 時聽過的笑話 「a monad is just a monoid in the category of...

2023-10-05 ‧ 由 toddliao469469 分享
DAY 24

[Haskell 從入門到放棄] Day 24 - Monad (2)

I/O Monad 雖然 Haskell 是一個純粹的 FP 語言,這意味著它的函數更接近數學意義上的「函數」,也就是我們所說的 pure function 。...

2023-10-06 ‧ 由 toddliao469469 分享
DAY 25

[Haskell 從入門到放棄] Day 25 - Monad (3)

List Monad 在講 list monad 前我們先回憶一下 applicatives,我們知道 <*> 是可以把一個在 context 裡的...

2023-10-07 ‧ 由 toddliao469469 分享
DAY 26

[Haskell 從入門到放棄] Day 26 - Monad (4)

Monad Law 畢竟 monad 是來自於數學上的概念,所以就算某個type 實作了 Monad 的 instance ,嚴格定義上我們也不能說它是 m...

2023-10-08 ‧ 由 toddliao469469 分享
DAY 27

[Haskell 從入門到放棄] Day 27 - newtype

newtype 大概在之前的 monoid 的時候有提到過這個語法。 getProduct $ Product 1 `mappend` Product 2 `...

2023-10-09 ‧ 由 toddliao469469 分享
DAY 28

[Haskell 從入門到放棄] Day 27 - Monad (5)

Writer Monad 不知道讀者有沒有想過,如果今天我想要把每一步 monadic 操作的過程都有 log 紀錄方便我們 debug 的話要怎麼做?(用 p...

2023-10-10 ‧ 由 toddliao469469 分享
DAY 29

[Haskell 從入門到放棄] Day 29 - Monad (6)

State Monad 可能有讀者看到 state monad 這個名字時可能會想,Haskell 這樣的語言允許我們擁有 state 這種感覺應該是 muta...

2023-10-11 ‧ 由 toddliao469469 分享
DAY 30

[Haskell 從入門到放棄] Day 30 - 開始也是結束

終於寫到最後一天了,今天就輕鬆一點吧xD。 首先感謝所有讀者,在開賽前就有心理準備這個題材本來就是屬於比較冷門領域所以應該沒什麼人關注,本來以為可能完全沒有回饋...

2023-10-12 ‧ 由 toddliao469469 分享