运维开发网

scalaz

0
  • 在Scala中正确编码这种存在类型?

    我有兴趣从Coutts等人的Stream Fusion论文中编码这种Stream类型.我在 Scala中探索流融合,尝试使用宏来代替GHC的重写规则. data Stream a = ∃s. Stream (s → Step a s) s data Step a s = Done | Yield a s ...[详细]

    2020-07-18 18:20 分类:编程语言
  • 使用Applicative Functor匹配3个Scala Regex中的至少一个

    我有三个 Scala正则表达式,我需要测试它们是否与给定的String匹配. 我知道我可以做以下事情: val matches = R1.findFirstIn(myString).isDefined || R2.findFirstIn(myString).isDefined || R3.findFirstIn...[详细]

    2020-07-18 12:16 分类:编程语言
  • 使用Control.Parallel到Scala的端口Haskell代码

    下面的 Haskell代码使用par和pseq做一些多核数字运算作为玩具来显示正在使用的几个核心.在 Scala中表达这个最简单,最惯用的方法是什么?期货和承诺似乎很有希望(咳咳),我一直在关注scalaz.concurrent,例如 this example,但我找不到文档来...[详细]

    2020-07-18 10:30 分类:编程语言
  • scala – Tupled函数输出

    我正在寻找一个函数,它在公共域上获取一个函数元组,并将一个函数从该域返回到它们各自输出的元组.我假设这样的实用程序要么内置在 Scala中,要么隐藏在 Scalaz的某个地方,但我一直无法找到它. 例如,一对函数的特殊情况(并将函数作为单独的...[详细]

    2020-07-17 20:40 分类:编程语言
  • scala – 将M [A => B]变换为A => M [B]

    Scala或 Scalaz中是否存在将容器/函数集合转换为从同一输入映射到集合输出值的函数的实用程序?签名看起来像 def transform[M[_], A, B](m: M[A => B]): A => M[B] = ??? 这是List容器的示例实现: def transform[A, B](fs: List[A...[详细]

    2020-07-17 20:31 分类:编程语言
  • 斯卡拉 – 国家monad的未来

    我想使用State monad来实现第三方API提供的数据的缓存.让我们假设方法getThirdPartyData(key:String)首先检查缓存,然后如果它不存在那么应该向API发出请求.我想到的第一个也是最天真的实现是将状态包含在Future中 – Future[State[Cache...[详细]

    2020-07-17 17:07 分类:编程语言
  • scala – 将HList中的验证应用于案例类

    在尝试使用应用程序仿函数( Monad to catch multiple exceptions (not just fail on single))进行验证时,我在scalaz中遇到了一个不允许超过14个仿函数的硬限制,因此这里有用的评论( https://github.com/scalaz/scalaz/issues/504#issueco...[详细]

    2020-07-16 17:00 分类:编程语言
  • scala – 返回演员的未来消息

    我有一个返回Future的现有API.现在为其中一个用例引入Actor并尝试继续使用相同的服务API.从下面你可以看到MyService.saveValues返回未来. object MyActor { implicit val ec = scala.concurrent.ExecutionContext.Implicits.global ...[详细]

    2020-07-16 12:38 分类:编程语言
  • 重复eval T => scala.concurrent.Future [T]到一个进程[?,T]

    我有一个函数get:T => scala.concurrent.Future [T] 我想迭代它像: val futs: Iterator[Future[T]] = Iterator.iterate(get(init)){ _.flatMap(prev => get(prev)) } 但Iterator的类型是Future [T],处理这个迭代器并不...[详细]

    2020-07-16 11:14 分类:编程语言
  • Scalaz未装箱标记类型不会自动取消装箱

    阅读 http://eed3si9n.com/learning-scalaz/Tagged+type.html并尝试示例代码: import scalaz._; import Scalaz._ sealed trait KiloGram def KiloGram[A](a: A): A @@ KiloGram = Tag[A, KiloGram](a) val mass = KiloGram(2[详细]

    2020-07-16 10:41 分类:编程语言