→ Favonia:忘了 [] 的 case... 然後用 partition 省 ++ 不一定有好處 04/17 21:20
忘了寫boundary condition orz
→ Favonia:看似 tail recursion 但 acc 還是有一堆 ++ 等著算 xDDDDD 04/17 21:21
這個嚴格來說不是tail recursion,因為還是得暫存less的值
只是隨著執行時間它的stack會小於N(因為被推到ACC裡面去了)
而用++的stack會一直差不多等於N
※ 編輯: dryman 來自: 220.136.176.35 (04/17 21:32)
※ 編輯: dryman 來自: 220.136.176.35 (04/17 21:39)
推 Favonia:我覺得你不能用其他程式語言的執行順序來理解 Haskell... 04/17 21:45
→ Favonia:前者 stack 大小的期望值和後者 acc 大小的期望值只差常數 04/17 21:48
→ Favonia:GHC 的預設實作中不會用到的部份根本不會算,這是重點。 04/17 21:49
→ dryman:哈,我其實比較熟的FP語言是scrict而不是lazy 04/18 08:48