将运算符与 zipWithN 一起使用
比如说,我们可以这样写: zipWith (,) [1,2,3] [4,5,6] 如果我们想要元组 3 列表,我们可以写: zipWith3 (,,) [1,2,3] [4,5,6] [7,8,9] 我们还可以…
在 Haskell 中对布尔函数执行“and”和“or”
我刚刚编写了以下两个函数: fand :: (a -> Bool) -> (a -> Bool) -> a -> Bool fand f1 f2 x = (f1 x) && (f2 x) f_or :: (a -> Bool) -> (a -> Bool…
如何使用 Monad 的 (->) 实例以及关于 (->) 的困惑
在不同的问题上,我在评论中找到了有关使用 Monad 的 (->) 实例的提示,例如用于实现无点样式。 对于我来说,这有点太抽象了。好的,我在 (->) 上看到…
“重用”的技巧Haskell 中的争论?
有时我会偶然发现我想要表达的问题“请使用最后一个参数两次”,例如为了编写 pointfree 风格或避免 lambda。例如 sqr x = x * x 可以写成 sqr = doub…
为什么这个函数的 pointfree 版本看起来像这样?
我一直在使用 Haskell,包括练习以无点形式编写函数。这是一个示例函数: dotProduct :: (Num a) => [a] -> [a] -> a dotProduct xs ys = sum (zipWit…
从函数应用到函数组合的 Haskell 类型错误
这个问题与antal sz回答的函数组合VS函数应用相关。 你怎么能得到这个? map has type (a -> b) -> [a] -> [b] head has type [a] -> a map head has …
Haskell 中的无点
我有这段代码,我想使其成为无点的; (\kt -> chr $ a + Flip mod 26 (ord k + ord t -2*a)) 我该怎么做? 除了“思考这个并想出一些东西”之外,还有…
翻转/反转 fmap (<$>)?
我发现定义以下内容 (%) = flip fmap 我可以编写这样的代码: readFile "/etc/passwd" % lines % filter (not . null) 对我来说,它比替代方案更有意…
什么是“无积分”? 风格(在函数式编程中)?
我最近注意到的一个短语是“point free”风格的概念...... 首先,有 这个问题,以及还有这个。 然后,我发现这里他们提到“另一个可能值得讨论的主题…
- 共 1 页
- 1