haskell

    1热度

    2回答

    考虑: λ: >let x = Control.Concurrent.MVar.newMVar "" λ: >:t x x :: IO (MVar [Char]) 席力图召putMVar: λ: >:t putMVar putMVar :: MVar a -> a -> IO() λ: >:t x x :: IO (MVar [Char]) 但它未能 λ: >x >>= \y

    1热度

    2回答

    我正在编写自己的haskell数据类型以解决整数求和操作,但我不知道如何编写语义。 data Expr = Value Int | Sum Expr Expr 我试图做的事: sum:: Expr -> Expr -> Int sum a b = b + a val:: Int -> Int val a = a 我想写这样的: Sum (Value 3) (Value 5)

    2热度

    3回答

    我想排序列表中的3个元素。但是我“米有问题它翻译哈斯克尔。它是可能的,如果在Haskell报表?我一直在试图模式匹配做的嵌套,但它永远带我。 if (x < y) { if (z < x) swap(x,z); } else { if (y < z) swap(x,y); else swap(x,z); } if(z<y) swap(y,z); 这是我曾尝试

    0热度

    1回答

    我正在寻找类型为Text -> [Text]的函数,实质上这将按换行符分割文本。然而,我不能只是分裂\n,因为这可能会逃脱例如\\n,我不知道还有什么其他并发症存在。 Main.hs {-# LANGUAGE OverloadedStrings #-} import Data.Text (Text) import Data.Text.IO import Shelly example :

    0热度

    1回答

    我通过yarn global add elm安装了Elm。但是,每当我跑elm -v,我得到以下错误: /usr/local/share/.config/yarn/global/node_modules/elm/Elm-Platform/0.18.0/.cabal-sandbox/bin/elm: error while loading shared libraries: libgmp.so.10

    2热度

    2回答

    的async package的文档链接描述withAsync功能: 菌种在一个单独的线程异步操作,并通过其异步 手柄所提供的功能。当函数返回或抛出一个异常时,在Async上调用uninterruptibleCancel。这是异步的一个有用的变体,确保Async永远不会无意中保持运行 。 我在那个一直盯着过去2小时,一直无法弄清楚如何启动一个监视线程,会派生多个工作线程,使得: 如果监视器线程死亡,

    1热度

    1回答

    我有不幸数据一起工作: { "name": "foo" , "data": [ [] , ["a", "b", "c", 1] , ["d", "e", "f", 2] ] } 条目允许为任一空数组,或大小的4的阵列中的数据。 ,我想解析为: data ResultRow = ResultRow Text Text Text Int deriving (Show,

    0热度

    1回答

    我知道POSIX正则表达式使用我忽略大写或小写 但是当我测试它? "a" =~ "?i:a" :: Bool 我得到了一个错误。 如何写对吧?

    1热度

    2回答

    我是Haskell的新手,目前正在寻找一种方法来提取或删除元组中的第一个Int。有没有一个内置的Haskell函数来做到这一点? 例如: tuple :: (Int) tuple = (1,2,3,4,5) tuple !! 0 =

    1热度

    1回答

    为什么在作为脚本运行putStr (printf "abc%d\n" 3)时3含糊不清,但在运行ghci时不是含糊不清?也就是说,为什么我必须在脚本中声明3的类型,而不是ghci? 这里是内ghci操作: $ ghci GHCi, version 7.6.3: http://www.haskell.org/ghc/ :? for help Loading package ghc-prim ..