ghci

    2熱度

    1回答

    我 :m +Control.Monad System.Random.MWC NW.Affix 在我.ghci文件在我的項目的根目錄。我想在NW.Affix(在我的項目模塊)與cabal repl加載,但立刻失敗是這樣的: Preprocessing executable 'netherworld' for netherworld-0.0.0.0... GHCi, version 7.8.3:

    3熱度

    1回答

    當我問+操作的類型是你所期望的 Prelude> :t (+) (+) :: Num a => a -> a -> a 當我操作分配給一個變量,那麼該類型的簽名更改 Prelude> let x = (+) Prelude> :t x x :: Integer -> Integer -> Integer 爲什麼會的類型操作員在分配時更改?

    2熱度

    2回答

    在下面的簡單的代碼,即從二叉查找樹中刪除的元素的函數的定義的一部分: deleteB x (Node n l r) | x == n = Node (leastB r) l (deleteB (leastB r) r) 確實編譯器優化代碼所以它調用(B以上R)只有一次,好像它是: deleteB x (Node n l r) | x == n = Node k l (deleteB k r)

    0熱度

    1回答

    我試圖型手動派生的(foldr相似()。)類型 foldr :: (a1 -> b1 -> b1) -> b1 -> [a1] -> b1 (.) ::(b2 -> c2) -> (a2 -> b2) -> a2 -> c2 然後: a1 ~ (b2 -> c2) b1 ~ (a2 -> b2) b1 ~ a2 所以我得到的(foldr (.)) :: (a2 -> b2) -> [

    2熱度

    2回答

    我試圖通過獲得的foldr (++) 類型推導我開始的 (.) (foldr(++)) (map (:)) 類型 foldr :: (a1 -> b1 -> b1) -> b1 -> [a1] -> b1 (++) :: [a2] -> [a2] -> [a2] a1 ~ [a2] b1 ~ [a2] b1 ~ [a2] 所以 foldr (++) :: [a2] -> [[a2]]

    2熱度

    1回答

    我想獲得的zipWith . uncurry zipWith . uncurry = (.) zipWith uncurry類型 - 與(a3 -> b3 -> c3)和c1與[a2] -> [b2] -> [c2]更換a1級聯作爲功能 (.) :: (b1 -> c1) -> (a1 -> b1) -> a1 -> c1 zipWith :: (a2 -> b2 -> c2) -> [a2]

    0熱度

    1回答

    我不明白爲什麼q的類型是Ord t => [t] -> [a]而不是Ord a => [a] -> [a] q [] = [] q (x:xs) = q us ++ q ws where us = filter (<=x) xs ws = filter (>=x) xs 在什麼情況下輸入類型可以從輸出不同? 謝謝, 塞巴斯蒂安。

    0熱度

    1回答

    我目前正在學習Haskell(我的問題太多了,最近都以此語句開頭),而且由於語法錯誤,我的編譯程序出現問題,主要是識別錯誤,理解/解決錯誤由GHC提供的消息。 例如,它只是花了我一段時間纔算出下面代碼中的錯誤。記住,這是從一個Haskell教程的內容採取: getNums = do putStrLn "enter a number (0 to terminate)" num <

    4熱度

    2回答

    我在GHCI定義的自定義冪exp'功能爲: let exp' x = sum $ take 100 [(x**k)/factorial k | k <- [0..]] 這產生以下類型的簽名: #> :t exp' exp' :: (Enum a, Floating a) => a -> a 然而,我會它有望匹配exp功能,即 #> :t exp exp :: Floating a =>

    3熱度

    2回答

    我開始用haskell編程。我正在開發的程序只是將總數與兩個元素相加,例如: [("book",10),("cookies",2),("icecream",5)] 這應該返回「17」。在這裏,我我的代碼: total [] = [] total ([("c",e)]:y) = total y ++ [e] 但是,儘管GHCI運行它給我這個錯誤: <interactive>:80:8: