13得票2回答
使用scalaz的 |> 运算符交换函数和对象

I can use scalaz |> operator when I want to switch function and object so there can be a little more readability acquired. Let me introduce you ...

13得票1回答
Dotty会如何改变Scala中的纯函数式编程?

在2013年的这个问题中,Odersky先生指出,由于高阶和存在类型的削弱,Scalaz等库是否能够存在(至少在它们目前的状态下)取决于Dotty的发展情况。 随着时间的推移,Dotty对Scalaz和Cats的影响已经被阐明了吗?像内置效果和记录之类的建议特性会改变这些项目的范围吗? 我...

13得票3回答
Scala中方法的有条件调用

我在我的代码中发现了这个模式很多次: ... if (doIt) object.callAMethod else object 我想知道是否有更加语法优美的方式来编写上面的代码,特别是避免重复使用object变量。类似于: // using the Sc...

13得票1回答
Scalaz类型类实例汇总:适用于其他库的类型类实例

我经常发现自己想要(并且通常会编写)Scalaz类型类实例,用于其他Scala或Java库中的类。以下是一些例子: Shapeless的HList的单子实例为具有适当类型成员的情况类提供了几乎免费的单子实例。 Lift的Box的应用函子实例使您能够对箱子列表进行排序,例如: scala&...

13得票3回答
镜片和部分镜片有什么区别?

“Lens”和“Partial Lens”在名称和概念上看起来非常相似。它们有什么区别?在什么情况下需要使用其中之一? 标记Scala和Haskell,但欢迎与任何拥有镜头库的函数式语言相关的解释。

13得票4回答
Scala中Option对象在另一个Option对象内部

我有一个模型,其中包含一些选项字段,这些字段又包含其他的选项字段。例如: case class First(second: Option[Second], name: Option[String]) case class Second(third: Option[Third], title:...

12得票1回答
管理Scalaz7中的导入

我在项目中使用scalaz7,有时会遇到导入问题。最简单的方法是: import scalaz._ import Scalaz._ 但有时这可能会导致冲突。 目前我一直在进行以下稍微繁琐的过程: 制作一个需要与实际代码相同导入的最小示例 将该示例复制到单独的项目中 使用选项-Xpri...

12得票1回答
基础的Scalaz State问题

我该如何使用 State 来模仿 List.zipWithIndex 的行为?至目前为止,我想出了以下代码(但并不起作用):def numberSA[A](list : List[A]) : State[Int, List[(A, Int)]] = list match { case x ...

12得票1回答
类型别名和类型 Lambda 的区别

这个问题涉及到了Scala隐式解析系统的一个限制。我在使用Scalaz时遇到了几次这种情况,但这对我来说并不太合理。下面是一个去除了Scalaz的版本,来说明这个问题,如果需要,我可以提供更多关于动机的信息。 假设我有一些关于类型构造器的类型类: import scala.language...

12得票1回答
如何将A[B[C]]转换为B[A[C]],如果A和B是单子?

我正在寻求一种更通用的解决方案,利用单子(可能是幺半群)来实现与if( xs.contains(None) ) None else Some(xs.flatten)相同的结果,对于类型为Seq[Option[A]]的xs。 如何使用Scalaz实现这个功能?我觉得我漏掉了一些明显的东西。