iT邦幫忙

shootingstar 的所有留言 10

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

補充 想當然爾,那些Reader(我還以為第30天會提)、Writer、State monad等我們通常不會自己實作,它們都放在transformers和mtl...

2023-10-15 ‧ 由 shootingstar 留言

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

請問老師~ 既然newtype可以拿來包裝某個既有的type,那這樣為什麼不直接用data就好了? newtype限制還一大堆,什麼只能有一個value con...

2023-10-10 ‧ 由 shootingstar 留言

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

補充 Monad自base 4.13.0.0之後便將fail移至MonadFail這個type class裡,詳情可看MonadFail Proposal

2023-10-08 ‧ 由 shootingstar 留言

[Haskell 從入門到放棄] Day 20 - Applicative (2)

雖然與Applicative無關,但我們也可以利用Maybe及Int加法具有Monoid的特性來換個方式實作addMaybe。 import Data.Coer...

2023-10-03 ‧ 由 shootingstar 留言

[Haskell 從入門到放棄] Day 16 - Algebraic Data Types (3)

補充 Fixity 優先順序0為最低、9最高,預設的fixity為infixl 9 Precedence Left associative operato...

2023-09-30 ‧ 由 shootingstar 留言

[Haskell 從入門到放棄] Day 11 - 繼續談 higher order function

補充 一般來說不太會用foldl,而會使用strict的版本foldl',foldl會在acc上不斷累積thunk,這在處理很大的list時讓你的記憶體爆掉。...

2023-09-30 ‧ 由 shootingstar 留言

[Haskell 從入門到放棄] Day04 - 簡簡單單的List

補充 不要使用partial function 所謂的partial function就是傳入某些合法的值卻回傳bottom的function。合法的值指這個f...

2023-09-30 ‧ 由 shootingstar 留言

[Haskell 從入門到放棄] Day 03 - 基礎語法

補充 Haskell的type system非常嚴格,不同的type就是不同的type,某個function如果需要Foo type的參數,你就絕對不可能傳一個...

2023-09-16 ‧ 由 shootingstar 留言

如何不拋出例外的處理錯誤 (1)

可以考慮把拋出例外和捕捉例外分成兩件事來看待,假如你的function只有依賴input但有可能拋出例外的話,這個function仍舊是pure functio...

2023-09-07 ‧ 由 shootingstar 留言