组合 2 个列表的元素
假设我们有两个列表: val l1=List("a","b","c") val l2 = List("1","2","3") 我想要的是: List("a1", "b2", "c3") 也就是说,将 l1 的第 n 个元素与…
如何证明单子是一个函子和一个应用函子?
理论上,Monad 是函子和具体应用函子的子集,尽管 Haskell 的类型系统中没有指出这一点。 知道了,给定一个 monad 并基于 return 和 bind,如何: 导…
有人可以解释一下这段代码中应用实例是在哪里出现的吗?
isAlphaNum :: Char -> Bool isAlphaNum = (||) isAlpha isNum 我可以看到它有效,但我不明白 Applicative (或 Functor)的实例来自哪里。…
State 和其他 MTL monad 的应用实例?
查看 Control 的文档。应用性,我注意到它们有某些单子的实例声明(例如IO、Maybe,尤其是ST) ,但是有没有 MTL monad 的实例,例如 State 和 RWS。…
applicative <* 的一元等价物
阅读安东尼的回复后一个与样式相关的解析器问题,我正在尝试说服自己编写单体解析器仍然可以相当紧凑。 因此, reference :: Parser Transc reference…
Haskell - Control.Applicative.Alternative 有什么用?
我正在查看 Haskell 库中的 Applicative 类,并偶然发现了 替代。 这门课有什么用?谷歌搜索没有发现任何特别有见地的东西。它似乎完全不合适,因为它…
有没有办法逐步显示 Clojure 如何评估函数?
我刚刚开始自学 Clojure。作为补充学习的一部分,我观看了加州大学伯克利分校 Brian Harvey 的一些关于函数式编程主题的讲座。在他的关于函数式编程的…
Applicative IO 是基于 Monad IO 的函数实现的吗?
在“为大善而学 Haskell!”作者声称 Applicative IO 实例是这样实现的: instance Applicative IO where pure = return a b = do f <- a x <- b retu…
如何映射Applicative形式?
我想映射应用形式。 类地图函数的类型如下: mapX :: (Applicative f) => (f a -> f b) -> f [a] -> f [b] 用作: result :: (Applicative f) => f [b…
应用(和朋友)方法是否有人类友好的名称?
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers. 这个问题似乎与帮助中心中定义的范围内…
ap 在 Haskell 中如何以及为何被定义为 liftM2 id
在试图更好地理解 Applicative 的同时,我查看了 的定义,它往往被定义为 ap,而 ap 又被定义为: ap :: (Monad m) => m (a -> b) -> m a -> m b ap =…