io-monad

    0热度

    2回答

    我: stuff :: IO [String] doThings :: String -> IO [()] ,我想 stuff >>= doThings ,但我的类型了。我想本质上做一个提升的绑定,但我所尝试的一切都很微妙。

    4热度

    1回答

    我有,如IO上下文几个数据类型: a :: IO String b :: IO FilePath c :: String -> IO String 欲把它们放在一起在一个数据对象像: data Configdata = Configdata String FilePath (String -> String) 所以我没有得到自己的每个值了IO方面的,但刚出来的IO Configdata

    1热度

    1回答

    的bind函数(>>=)具有签名: m a -> (a -> m b) -> m b 然而,我想与签名功能: m (t a) -> (a -> m (t b)) -> m (t b) 具体来说,我有一个给定的整数的函数,它返回一个整数列表中的IO内: f :: Int -> IO [Int] 但我想将它应用到IO of list of Integers,我不能使用常规绑定函数,因为它包

    0热度

    1回答

    我第一次尝试使用Scotty,我似乎无法让我的GET请求过去。返回的响应类型 IO (Response bytestring-0.10.8.1:Data.ByteString.Lazy.Internal.ByteString) 我知道我需要将其转换为一个类型,可以是由斯科蒂输出,但我无法弄清楚如何做到这一点。 我完整的代码: {-# LANGUAGE DeriveGeneric #-} {

    1热度

    1回答

    在Haskell中,如何去写入任意大量的文件? 举个例子,假设我想把a到z这两个字母放在一个文件名里面,这个文件的内容是字母。最初的尝试是做到以下几点: main :: IO() main = do let letter = map (:"") ['a'..'z'] zipWith writeFile letter letter 这将产生以下错误: Couldn't

    4热度

    1回答

    我有一个非常简单的抽象来处理可以回滚(在某种程度上)的IO动作序列,即如果动作写入文件,则回滚将删除此文件或动作创建一个目录树,修剪它会回滚等 data IOAction = IOAction { execute :: IO(), rollback :: IO() } executeAll :: [IOAction] -> IO() executeAll [] = re

    4热度

    2回答

    我想弄清楚如何使用scalaz7 IO和monad变压器以优雅的纯功能风格编写这段代码,但仅仅是无法让我的头转向它。 试想一下,我有这个简单的API: def findUuid(request: Request): Option[String] = ??? def findProfile(uuid: String): Future[Option[Profile]] = redisClient.g

    0热度

    1回答

    我想使用monads在haskell中编写一个循环,但我很难理解这个概念。 有人能给我提供一个while循环的简单例子,而有些条件是满足IO操作的吗?我不想要一个抽象的例子,而是一个真正具体的例子。

    0热度

    1回答

    我有一个 foobar :: IO (ParseResult [(String,String)]) ParseResult在这里定义的单子:https://hackage.haskell.org/package/haskell-src-exts-1.13.5/docs/Language-Haskell-Exts-Parser.html#t:ParseResult 我想利用这些字符串,并将其写入

    3热度

    2回答

    我正在写一个函数,它会接受任意列表,并将它们进行比较以查看其中是否是另一个列表的子列表。对于stdin,我想要求用户提供两个列表,但我无法弄清楚接受任意类型的方法。这是我到目前为止的代码: 1 main :: IO() 2 main = do 3 l1 <- getLine 4 l2 <- getLine 5 print $ sublist (read l1 :: [Int]) (r