运维开发网

scalaz

0
  • Scala中的应用组合物的实例

    这是我的旧 questions的后续内容: 我知道monad是不可组合的,即如果M1 [_]和M2 [_]是monad M2 [M1 [_]]不一定是monad.例如,List [Int]和Option [Int]是monad,但是Option [List [Int]]不会自动成为monad,因此我需要monad转换器将其用作mon...[详细]

    2020-07-24 14:46 分类:编程语言
  • 在Scala中编写验证函数

    假设我需要编写一个验证函数Validate [A]: type Status[A] = Validation[List[String], A] type Validate[A] = A => Status[A] // should be Kleisli 如果输入有效,则该函数返回带有输入的Success;如果不是,则返回带有错误列表的Fail...[详细]

    2020-07-24 13:28 分类:编程语言
  • scala – IO Monad中未来的行为

    我编写了一个返回IO值的函数: def foo(x : Int): IO[Future[Int]] = IO { // do some IO } 我正在使用Scalaz的IO类型类. 然后,我将其用于表达式,如下所示: (for { _ <- foo(10) } yield bar()).unsafePerformIO() 由于调用...[详细]

    2020-07-24 10:03 分类:编程语言
  • Scala中的读者monad:返回,本地和序列

    我正在使用 scalaz库提供的Scala中的Reader monad.我熟悉这个monad as defined in Haskell.问题是我找不到与return,local和sequence(等等)相当的函数. 目前我使用的是我不喜欢的结构,因为我正在重复自己或使我的代码有点模糊. 关于回归,我...[详细]

    2020-07-23 19:06 分类:编程语言
  • 什么是scalaz的Cohoist?

    scalaz定义了 Cohoist: trait Cohoist[F[_[_], _]] extends ComonadTrans[F] { def cohoist[M[_], N[_]: Comonad](f: M ~> N): F[M, ?] ~> F[N, ?] } 其中定义了ComonadTrans: trait ComonadTrans[F[_[_], _]] { de[详细]

    2020-07-23 10:25 分类:编程语言
  • scala – 类型参数推断高阶类型类型= :-(

    import scalaz._; import Scalaz._ def foo[M[_]:MonadPlus,A](a:A) = a.point[M] // foo: [M[_], A](a: A)(implicit evidence$1: scalaz.MonadPlus[M])M[A] def bar1[M[_]:MonadPlus](i:Int): M[Int] = foo(i)[详细]

    2020-07-23 07:34 分类:编程语言
  • scalaz’Functor如何被赋予具有上下文绑定的更高级别的类型?

    我想为以下类定义Functor实例: class RequiresManifest[A: Manifest] { def value: A } class RequiresAnyRef[A <: AnyRef] { def value: A } class RequiresBothManifestAndAnyRef[A <: AnyRef: Manifest] { def valu[详细]

    2020-07-22 19:21 分类:编程语言
  • scala – 如何使用ToFunctorOps中的提升

    ToFunctorOps通过ToLiftV隐式定义了一个提升方法,但我似乎无法让它找到我的仿函数实例: import scalaz.std.option._ import scalaz.syntax.functor._ import scalaz.syntax.id._ import scalaz.syntax.std.option._ def inc(x: Int) = ...[详细]

    2020-07-22 17:48 分类:编程语言
  • scala – 在免费代数中进行流式传输的最佳方式是什么?

    我一直在尝试使用Free monads创建一个HTTP客户端,类似于RúnarBjarnason, Composable application architecture with reasonably priced monads给出的演讲中采用的方法. 到目前为止我所拥有的内容可以在这个片段中看到,https://bitbucket...[详细]

    2020-07-21 10:14 分类:编程语言
  • Scalaz验证,验证内在价值

    我有一个Validation对象 val v = Validation[String, Option[Int]] 我需要进行第二次验证,以检查实际的Integer值是否等于100.如果我做 val vv = v.map(_.map(intValue => if (intValue == 100) intVa...[详细]

    2020-07-20 09:51 分类:编程语言