这样的功能已经存在吗? (或者,这个函数有什么更好的名字?)
我最近多次使用以下模式编写了代码,并且想知道是否有更短的方法来编写它。 foo :: IO String foo = do x <- getLine putStrLn x >> return x 为了让…
将 LINQ 查询语法与自定义 Maybe monad 实现结合使用
我正在尝试用 C# 编写一个简单的 Maybe monad。我希望能够使用 LINQ 查询语法。这是我到目前为止所想到的: using System; using System.Collections.…
有没有更好的方法在 Haskell 中实现多通道 Writer monad?
问题: 我需要在同一个 Haskell monad 转换器堆栈中组合不同类型的 writer monad。除了使用 tell 编写调试消息之外,我还想用它来编写其他一些数据类…
Scala 中的 Haskell do-notation 或 F# 计算表达式等效吗?
F# 计算表达式允许将一元语法的复杂性隐藏在厚厚的语法糖层后面。 Scala 中有类似的东西吗? 我认为这是为了理解...... 示例: val f = for { a <- Fu…
Haskell 对函数调用感到沮丧
学习 Haskell 简直要了我的命。如果我要编写一个函数,它接受可排序元素数组的数组,并输出相同的内容,我该怎么做? 我尝试: main = testfn [[1],[2…
可空嵌套对象和 Maybe Monad
我正在努力实现一个可能的 monad - 在这个例子中我将其称为 Nullable 。 Nullable 类的实现如下: Public NotInheritable Class Nullable(Of TClass) …
将 monad 组合抽象为变压器
抱歉,如果这个问题看起来有点微不足道……它不适合我。 我很高兴地编写了以下 monad: type SB i a = ReaderT ( AlgRO i ) (State ( AlgState i ) ) …
帮助我理解这段 Scala 代码:scalaz IO Monad
这是我试图理解的代码(来自 http://apocalisp.wordpress.com/2010/10/17/scalaz-tutorial-enumeration-based-io-with-iteratees/): object io { se…
更多 rmonad 库?
我想用 RMonad 做一些基本的事情。有没有办法使用“as monad”功能来 拥有身份 rmonad,以应用 monad 转换器? 有诸如 StateT 变压器之类的常见东西吗…
monads-tf:MonadState 的 MonadReader 实例
考虑下一个例子。我有一个单子 MyM 它只是一个 StateT {-# LANGUAGE TypeFamilies #-} import Control.Monad.State import Control.Monad.Reader type…
如何从 Haskell 中的 monad 中取出值?
有没有办法从 monad 中取出“东西”? 我正在开发一个游戏,现在我正在尝试了解数据库。我发现 happstack 非常好,但我拿不到东西。 例如,我有这个函…
“确实” Haskell 中的惰性 IO
考虑片段 - getLine >>= \_ -> getLine >>= putStr 它做了合理的事情,两次请求字符串,然后打印最后一个输入。因为编译器无法知道 getLine 有什么外…