對於使用最近版本的GHC爲初學者教授Haskell,某些功能的類型可能會因爲可摺疊可穿越前奏(FTP)而引起混淆。例如,列表上的基本功能(如length,sum和product)的類型包括Foldable約束foldr :: Foldable t => (a -> b -> b) -> b -> t a -> b。對於一些介紹性的高階功能,例如foldl :: Foldable t => (b -
這裏我們需要得到給定長度的所有子序列。如何計算給定函數的漸近複雜度? import Data.List
subsequencesOfSize l n = [x | x <- subsequences l, length x == n]
它會是多少「迭代」?我們可以談論「迭代」嗎?任何優化? GHC 7.10.2。編譯器或程序員如何改進這一點?