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