haskell

    0熱度

    1回答

    我試圖按照the servant tutorial,我跑入驚天動地錯誤Unknown fields: build-tool-depends。這是我tutorial.cabal文件(我得到這個從servant's github repo): name: tutorial version: 0.10 synopsis: The servant tutorial homepage:

    1熱度

    1回答

    當我運行這段代碼: test1 :: Int -> String test1 x = do if x == 1 then "Hello" 我得到以下錯誤: test-if.hs:4:21: error: parse error (possibly incorrect indentation or mismatched brackets) 我不知道這是爲什麼

    1熱度

    2回答

    我在編寫Haskell中的簡單函數時遇到了麻煩......它意在計算從1到n的數字之和。我不允許使用if語句,因爲我的老師希望我們專注於函數式編程。任何幫助,將不勝感激。謝謝! summation :: Integer -> Integer summation n | n > 1 = n + summation(n-1) | n == 1 = 1 這是GHCI輸出: cl

    2熱度

    1回答

    我已經一個Haskell模塊中的以下數據類型和我想寫可儲存instace經由FFI與C使用它: data MyType a = TypeDouble Double | TypeLst [a] | TypeAdd (MyType a) (MyType a) 我開始通過定義sizeOf功能: instance Storable a => Storable (My

    -2熱度

    1回答

    我想實現一個函數,我有一個2元組的列表,它返回對應於真的元組。第一個字符是一個字符串,第二個字符是布爾值。這就是我想要的: pack [ ("a", True), ("b", False), ("c", False), ("d", True) ] returns [ ("a", True), ("d", True) ] 這裏是我的代碼: pack :: [String] -> [B

    0熱度

    1回答

    的較大的分支。如果我有數據類型: data Tree t = Leaf | Branch t t 我怎樣才能讓一個函數來獲取一棵樹的最長的分支?我想在列表中得到答案,該列表包含從根到樹葉的最長分支節點的所有值。事情是這樣的: longestBranch :: (Tree a) -> [a] 什麼建議嗎? 謝謝。

    0熱度

    4回答

    實施一種搜索算法,該搜索算法搜索Int n列表並在n之前返回列表中的值。如果沒有值,或者列表爲空,則返回-1。例如,findPrev 5 [1,2,3,4,5,6]應該返回4,而findPrev 5 [0,10,20,30]返回-1。 現在我找到了這個號碼,但不知道如何獲得以前的號碼。有人可以幫我解釋一下嗎?這裏是我做的第一個,不知道這是否會幫助你理解我在這個地方: findNext :: Int

    3熱度

    1回答

    我正在寫一些代碼(圍繞卡片播放策略),它們一起使用State和遞歸。也許這部分實際上並不需要(它對我來說已經覺得笨拙,即使作爲一個相對的初學者),但也有其他部分可能這樣做,我的一般問題站在... 我最初的幼稚實現是完全確定性(投標的選擇僅僅是由功能validBids提供的第一個選項): bidOnRound :: (DealerRules d) => d -> NumCards -> State

    4熱度

    2回答

    ,我們可以得到一個價值層面證明[Int]具有使用Dict {-# LANGUAGE ConstraintKinds, GADTs #-} data Dict (p :: Constraint) where Dict :: p => Dict p 和 proof = Dict :: Dict (Show [Int]) 有沒有辦法得到一個值水平推導一個顯示實例,那就是整個證明樹?

    5熱度

    2回答

    我試圖通過綁結結構來形成像數據結構這樣的無限網格。 這是我的方法: import Control.Lens data Grid a = Grid {_val :: a, _left :: Grid a, _right :: Grid a, _down :: Grid a, _up :: Grid a} makeLens