如何在实际实践中使用groupBy和zip?
import Data.List.Split import Data.List(nub, groupBy) z = splitOn "+" "x^2+2*x^3+x^2" y = map (splitOn "*") z x = map head y toInt :: [Strin…
Haskell 中的并行映射
是否有一些可以并行评估列表的 map 替代品?我不需要它来偷懒。 类似于: pmap :: (a -> b) -> [一]-> [b] 让我 pmap costly_function big_list 并使…
如何合并两个 Observables,以便当任何一个 Observables 完成时结果也完成?
我有这样的代码: var s1 = new Subject(); var s2 = new Subject(); var ss = s1.Merge(s2).Finally(() => Console.WriteLine("Finished!")); ss.Sub…
scala 解析器组合器中的回溯?
看来 scala 的解析器组合器不会回溯。我有一个语法(见底部),无法正确解析以下“stmt”: copy in to out . 这应该很容易通过回溯解析: stmt: (to …
Foldr 和 Foldl 进一步解释和示例
我查看了不同的折叠和一般折叠 以及其他一些内容,他们解释得相当好。 我仍然不知道 lambda 在这种情况下如何工作。 foldr (\y ys -> ys ++ [y]) [] […
你将如何在 Haskell 中(重新)实现迭代?
iterate :: (a -> a) -> a -> [a] (您可能知道)iterate 是一个接受函数和起始值的函数。然后它将函数应用于起始值,然后将相同的函数应用于最后的结…
如何在 Clojure 中创建惰性序列生成、匿名递归函数?
编辑:我在写这篇文章的过程中发现了我自己问题的部分答案,但我认为它可以很容易地改进,所以我无论如何都会发布它。也许有更好的解决方案? 我正在…
具有无限列表的foldl 与foldr 行为
这个问题中的 myAny 函数的代码 使用foldr。当谓词满足时,它会停止处理无限列表。 我使用 Foldl 重写了它:( myAny :: (a -> Bool) -> [a] -> Bool …
Scala:我可以推动组合器解析器变得局部贪婪吗?
假设我有一种用组合器解析器表达的模糊语言。有没有办法让某些表达式局部贪婪?这是我的意思的一个例子。 import scala.util.parsing.combinator._ ob…
我在 Haskell 中对 Zip 的定义有什么问题?
-- eg. myzip [’a’, ’b’, ’c’] [1, 2, 3, 4] -> [(’a’, 1), (’b’, 2), (’c’, 3)] myzip :: Ord a => [a] -> [a] -> [(a,a)] myzip list1 …