15得票1回答
NonEmptyList的Monad转换器?

在我看来,Scalaz的NonEmptyList具有单子实例,因此对它进行单子变换(类似于ListT)应该是可能的。这个说法正确吗? 如果是的话,是否已经有相关实现了?(我在Scalaz 7中没有找到相关实现。) 如果不是,即对它进行单子变换将是不可能的或者没有意义的,我将非常感激任何额外...

14得票1回答
scalaz List[StateT].sequence - 无法为参数n找到隐式值:scalaz.Applicative

我正在尝试使用StateT将两个基于State状态变换器组合起来,这是根据我在Scalaz state monad examples答案中的评论而得出的。看起来我已经非常接近了,但是当我尝试应用sequence时出现了问题。import scalaz._ import Scalaz._ imp...

14得票2回答
Scalaz验证:将一系列验证转换为单个验证

我正在使用scalaz验证,并且有一些用于验证产品的代码。def validateProduct(product: Option[Product]): ValidationNel[String, Product] = ??? 给定一个产品列表,我希望得到一个包含整个列表作为成功值或验证错误列表...

14得票6回答
if (p(f(a), f(b))) 返回 a,否则返回 b 的功能等价形式

我猜应该有更好的函数式方法来表达以下内容:def foo(i: Any) : Int if (foo(a) < foo(b)) a else b 所以在这个例子中,f == foo并且p == _ < _。肯定有一些 Scalaz 中的巧妙技巧!我可以看到使用BooleanW,...

14得票5回答
组合Scalaz验证

我希望使用Scalaz进行验证,并希望能够在不同的上下文中重用验证函数。顺便说一句,我对Scalaz完全不熟悉。 假设我有以下简单的检查:def checkDefined(xs: Option[String]): Validation[String, String] = xs.map(_...

14得票1回答
如何在返回验证结果的函数中使用Kleisli组合?

我如何组合两个返回验证结果(Validation)的函数?以下是我的尝试,但都没有成功:scala> def f: Int => Validation[String, Int] = i => if(i % 2 == 0) Success(i * 2) else Failure...

14得票2回答
使用镜头避免重复,同时将数据深度复制到Map值中

我有一个不可变的数据结构,在其中我有嵌套在Map中的值,如下: case class TradingDay(syms: Map[String, SymDay] = Map.empty) case class SymDay(sym: String, traders: Map[String, T...

14得票2回答
Scala中使用惰性求值或融合的迭代器?

我听说迭代器很懒,但它们到底有多懒呢?另外,是否可以将迭代器与后处理函数融合,以便不必构建中间数据结构? 例如,在我的迭代器中,我是否可以从java.io.BufferedReader构建一个由1百万项Stream[Option[String]]组成的流,并在组合方式下过滤掉None而无需将...

14得票3回答
Scala的PartialFunction可以成为Monoid吗?

我认为PartialFunction可以成为Monoid。我的思路正确吗?import scalaz._ import scala.{PartialFunction => -->} implicit def partialFunctionSemigroup[A,B]:Semigr...

14得票1回答
我的API都返回Future[Option[T]],如何在for-comprehension中优雅地组合它们?

我的所有API方法都返回Future [Option [T]],我正在尝试找出如何优雅地执行以下操作: case class UserProfile(user: User, location: Location, addresses: Address) 下面的代码目前无法编译,因为use...