450得票1回答
Scalaz迭代器:将“EnumeratorT”提升以匹配“更大”的单子的“IterateeT”

如果我有一个EnumeratorT和相应的IterateeT,我可以将它们一起运行:val en: EnumeratorT[String, Task] = EnumeratorT.enumList(List("a", "b", "c")) val it: IterateeT[String, T...

217得票8回答
良好的scalaz入门介绍

最近,scalaz引起了我的注意。它看起来非常有趣,但我并没有找到任何好的关于该库的介绍。似乎scalaz融合了很多来自Haskell和数学的思想。大多数文章都假设你已经对这些概念感到舒适。 我想要的是逐步介绍库和基本概念-从简单和基本的概念到更高级的概念(基于基础)。 我还看了一下示例,...

106得票1回答
使用Scalaz 7 zipWithIndex/group enumeratees避免内存泄漏

背景 正如这个问题所指出的那样,我正在使用Scalaz 7 iteratees在恒定堆空间中处理大量(即无界)数据流。 我的代码看起来像这样:type ErrorOrT[M[+_], A] = EitherT[M, Throwable, A] type ErrorOr[A] = Error...

92得票3回答
Reader Monad用于依赖注入:多个依赖项,嵌套调用

当被问及Scala中的依赖注入时,相当多的答案都指向使用Reader Monad,无论是来自Scalaz还是自己编写的。有许多非常清晰的文章描述了这种方法的基本原理(例如Runar's talk, Jason's blog),但我没有找到更完整的例子,并且我未能看出这种方法相对于传统的“手动”...

82得票1回答
如何使用scalaz-stream替换作为序列状态转换流编写的程序?

我正在尝试理解如何重新组织一个程序,我之前会将其编写为状态转换的序列: 我有一些业务逻辑: type In = Long type Count = Int type Out = Count type S = Map[Int, Count] val inputToIn: String =...

79得票9回答
在Scala中进行HTTP请求

我正在尝试在Scala中向一个Web服务发出简单的POST请求,并返回一些XML。 似乎Dispatch是用于此任务的标准库,但我找不到相关文档。上面链接的主要网站详细解释了什么是promise以及如何进行异步编程,但实际上并没有记录API。有一个周期表 - 看起来有点吓人- 但它似乎只对已...

77得票3回答
Scalaz状态单子例子

我还没有看到很多Scalaz State Monad的示例。有这个例子,但很难理解,并且似乎只有一个其他问题在Stack Overflow上。 我将发布我玩过的几个示例,但欢迎提供更多示例。此外,如果有人可以提供关于为什么使用init、modify、put和gets的示例,那就太好了。 编...

70得票2回答
Scala中的Cats库与Scalaz有何关系?

Cats库与scalaz有何关联?Cats项目提到它是从scalaz演变而来的。

53得票8回答
如何将Seq[Either[A,B]]缩减为Either[A,Seq[B]]?

给定一个由 Seq[Either[String,A]] 组成的序列,其中Left代表错误消息。我想获得一个Either[String,Seq[A]],如果序列的所有元素都是Right,那么我将获得一个Right(它将是一个Seq[A])。如果至少有一个Left(表示错误消息),我想获取第一个错...

53得票5回答
不同的Scala Actor实现概述

我正在寻找“合适”的actor实现。我意识到有许多实现,选择一个有点令人困惑。个人而言,我特别关注远程actors,但我想一个完整的概述对许多其他人也会有帮助。这是一个非常普遍的问题,所以您可以自由回答您了解的实现。 我知道以下Scala Actor实现(SAI)。请添加缺失的内容。 S...