所以我打這件事 {-# LANGUAGE FlexibleInstances, MultiParamTypeClasses, FunctionalDependencies #-}
import Data.Monoid
class Monoid m => Mconcat m a | a -> m where
mcon :: m -> a
instance Monoid m =>
完全懶惰一直 repeatedly demonstrated 到 cause space leaks。 爲什麼從-O開始完全懶惰?我發現自己不相信SPJ的The Implementation of Functional Programming Languages的推理。該要求是,在 f = \y -> y + sqrt 4
sqrt 4是每次進入f時間不必重複的,所以我們應該浮起來的拉姆達外。
我在嘗試cabal install hindent(實際發生故障的程序包是haskell-src-exts)時從ld出現1出口錯誤。通過使用sudo alternatives --config ld選擇黃金鍊接器,然後再次嘗試,我可以得到更有意義的錯誤消息:No space left on device。原來cabal install嘗試在/tmp中建立項目,在我的機器上,這是一個不是很大的ram
我想在Haskell中編寫安全的超時評估函數。代碼去如下 import System.Timeout
compute, compute' :: Int -> Int
compute i = sum [1..300000 + i]
compute' i = last $ repeat i
timedComp :: Int -> a -> IO (Maybe a)
timedComp t
我有以下多PARAM類型類與函數依賴於它們是(載體) module Vec where
class Vec v k | v -> k where -- v is an element of a vector space over k
vZero :: v -- The zero vector in v
vAdd :: v -> v -> v -- Adds two
例如: x :: Maybe a
y :: a
y `par` x `pseq` (fromMaybe y x)
是y火花停止,如果x丟棄計算(多)更快,是Just ...? 爲了更具體一些,我想搜索一個列表,但每個比較都非常昂貴。我想對搜索進行並行化處理,但是我希望一旦找到匹配項就可以放棄其餘的比較結果。