27得票4回答
什么是DList?

我试着在谷歌上搜索了一下,但是所有的结果都是关于小名人的故事。鉴于缺乏文档,DList是什么?

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

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

8得票2回答
在使用scalaz的自由单子(free monad)时如何避免栈溢出?

我之前认为实现的目标之一就是避免这个问题,所以也许我做了什么明显愚蠢的事情吗? 以下是一些代码: // Stack overflow import scalaz._ sealed trait Command[T] case class Wait(ms: Long) extends...

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

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

7得票3回答
Scalaz验证函数链:Function1 [A,Validation [E,B]]

我正在尝试编写一些代码,以便轻松地链接返回 Scalaz Validation 类型的函数。其中一个我正在尝试编写的方法类似于 Validation.flatMap(短路该验证),我将其称为 andPipe。另一个类似于 ApplicativeBuilder 上的 |@|(累积错误),但它仅返...

23得票2回答
尝试[结果]、IO[结果]、Either[错误,结果],最终我应该使用哪一个?(这是一个提问标题)

我想知道我的方法应该具有什么样的签名,以便我可以优雅地处理不同类型的失败。 这个问题有点像我之前在Scala中关于错误处理的许多问题的总结。你可以在这里找到一些问题: 在Scala中抛出异常,有什么“官方规定” Either,Options和for comprehensions Eith...

7得票1回答
为什么Scalaz实现Option的Monoid时会对f2函数进行两次求值?

scalaz的Option Monoid的定义如下: implicit def optionMonoid[A: Semigroup]: Monoid[Option[A]] = new Monoid[Option[A]] { def append(f1: Option[A], f2: =&...

26得票1回答
在Scala中通过解析器线程化额外状态

我会先给你一个tl;dr 我正在尝试使用Scalaz 7中的状态单子变换器来在解析器中线程额外的状态,但是我很难做到任何有用的事情,而不编写大量的t m a -> t m b版本的m a -> m b方法。 一个解析问题的例子 假设我有一个包含带数字的嵌套括号的字符串: v...

8得票3回答
随机数作为scalaz.Monad的实例

这是对我之前的问题进行跟进的内容。我编写了一个单子(作为练习),它实际上是生成随机值的函数。然而,它没有被定义为类型类scalaz.Monad的一个实例。 现在我看了Rng 库,并注意到它将Rng定义为scalaz.Monad: implicit val RngMonad: Monad[R...

10得票2回答
是否有一种内置的方法可以将Option转换为Scalaz验证?

我一直在寻找一个隐式转换器,但是我找不到。很明显写一个这样的转换器非常简单,不过我在想是否错过了scalaz库中的某个转换器!