如果我有一个EnumeratorT和相应的IterateeT,我可以将它们一起运行:val en: EnumeratorT[String, Task] = EnumeratorT.enumList(List("a", "b", "c")) val it: IterateeT[String, T...
最近,scalaz引起了我的注意。它看起来非常有趣,但我并没有找到任何好的关于该库的介绍。似乎scalaz融合了很多来自Haskell和数学的思想。大多数文章都假设你已经对这些概念感到舒适。 我想要的是逐步介绍库和基本概念-从简单和基本的概念到更高级的概念(基于基础)。 我还看了一下示例,...
背景 正如这个问题所指出的那样,我正在使用Scalaz 7 iteratees在恒定堆空间中处理大量(即无界)数据流。 我的代码看起来像这样:type ErrorOrT[M[+_], A] = EitherT[M, Throwable, A] type ErrorOr[A] = Error...
当被问及Scala中的依赖注入时,相当多的答案都指向使用Reader Monad,无论是来自Scalaz还是自己编写的。有许多非常清晰的文章描述了这种方法的基本原理(例如Runar's talk, Jason's blog),但我没有找到更完整的例子,并且我未能看出这种方法相对于传统的“手动”...
我正在尝试理解如何重新组织一个程序,我之前会将其编写为状态转换的序列: 我有一些业务逻辑: type In = Long type Count = Int type Out = Count type S = Map[Int, Count] val inputToIn: String =...
我正在尝试在Scala中向一个Web服务发出简单的POST请求,并返回一些XML。 似乎Dispatch是用于此任务的标准库,但我找不到相关文档。上面链接的主要网站详细解释了什么是promise以及如何进行异步编程,但实际上并没有记录API。有一个周期表 - 看起来有点吓人- 但它似乎只对已...
我还没有看到很多Scalaz State Monad的示例。有这个例子,但很难理解,并且似乎只有一个其他问题在Stack Overflow上。 我将发布我玩过的几个示例,但欢迎提供更多示例。此外,如果有人可以提供关于为什么使用init、modify、put和gets的示例,那就太好了。 编...
给定一个由 Seq[Either[String,A]] 组成的序列,其中Left代表错误消息。我想获得一个Either[String,Seq[A]],如果序列的所有元素都是Right,那么我将获得一个Right(它将是一个Seq[A])。如果至少有一个Left(表示错误消息),我想获取第一个错...