scalaz7

    1热度

    1回答

    我想这个Applicative validation syntax例如转换成Scalaz 7 +无形2.0 //for jupyter-scala kernel //classpath.add("org.scalaz" %% "scalaz-core" % "7.2.7") //classpath.add("com.chuusai" %% "shapeless" % "2.3.2") ca

    2热度

    2回答

    的类型,因此在Scala中,我们有典型的镜头签名参数镜头: case class Lens[O,V](get: O => V, set: (O,V) => O) 但正如你所看到的,只有更新,并设置相同类型的值,它不为另一种类型设置一种类型。我想到的是更多的东西是这样的: case class Lens[O[_],A,B](get: O[A] => A, set: (O[A],B) => O[B

    0热度

    1回答

    有人可以解释为什么我应该使用斯卡拉的NonEmptyList斯卡拉的List? 在一个不变的应用它并没有多大意义,以创建一个空的List 所以我就应该总是在一个不变的应用程序中使用NonEmptyList? 为什么我会使用斯卡拉的NonEmptyList而不是斯卡拉的List除了保证列表中至少有一个元素的明显原因?

    0热度

    1回答

    我是很新,scalaz创建OptionT [未来,A],而我试图找出转换不同类型单子变压器。 我一直在试图将Int转换为OptionT[Future, Int],甚至转换为EitherT[Future, String, Int]。 我发现了一堆教程/ SO解释如何使用point做到这一点的答案,但由于某种原因,我不能编译它们。 例如,该段从here: 1.point[({ type L[x] =

    4热度

    1回答

    我有以下解析器解析含有浮球RDD算术表达式: import scalaz._ import Scalaz._ def term2: Parser[List[\/[Float, RDD[(Int,Array[Float])]]]] = rep(factor2) def factor2: Parser[\/[Float, RDD[(Int,Array[Float])]]] = pathxml

    1热度

    1回答

    我很好奇方法scalaz.Bind.bind的实施?谢谢 trait Bind[F[_]] extends Apply[F] { self => //// /** Equivalent to `join(map(fa)(f))`. */ def bind[A, B](fa: F[A])(f: A => F[B]): F[B] ... 我正在查看7.3.

    1热度

    1回答

    我刚刚从eugene's blog post开始学习scalaz。我想在我的代码使用===但它返回一个编译错误 value === is not a member of object Red 这里是我的代码 import scalaz._ sealed trait TrafficLight case object Red extends TrafficLight case object Y

    1热度

    1回答

    我使用scalaz堆栈溢出” Monad.whileM_来实现功能的方式while循环,如下所示: object Main { import scalaz._ import Scalaz._ import scala.language.higherKinds case class IState(s: Int) type IStateT[A]

    3热度

    1回答

    我正在尝试使用Scalaz EitherT与scala.concurrent.Future。当试图用它换理解: import scalaz._ import Scalaz._ val et1:EitherT[Future, String, Int] = EitherT(Future.successful(1.right)) val et2:EitherT[Future, String,

    3热度

    1回答

    我最近听说过scala中的unboxed tagged类型,当我试图了解它的工作原理时,我发现这个question指出scalaz中实现的问题。其中的一个修复的后果是必须明确的拆礼物标签类型: def bmi(mass: Double @@ Kg, height: Double @@ M): Double = Tag.unwrap(mass)/pow(Tag.unwrap(height)