假设,我们必须创建仅包含奇数个元素的OddList[+T] 。 现在我们可以做这样的事情吗 如果没有奇数/偶数的条件,那么我们只需执行以下操作 但是我们可以控制可以传递的参数数量吗? ...
假设,我们必须创建仅包含奇数个元素的OddList[+T] 。 现在我们可以做这样的事情吗 如果没有奇数/偶数的条件,那么我们只需执行以下操作 但是我们可以控制可以传递的参数数量吗? ...
我有一个代表宠物的简单案例类: 现在假设我有一个与Pet 1:1 映射的案例类,但是所有属性都包装在某种“可解析”容器或 monad 中: 从后者到前者的转换很容易定义: 注意到 Future 的flatMap和 Some 的value在某种意义上都“从容器中提取值”,我希望我们可以定义 ...
我知道这完全是一个胡说八道的问题,但是由于我对编程技能的文盲,我想到了这个问题。 使用 Cats 和 scalaz 以便我们可以在 Scala 中进行类似于 Haskell/纯函数式编程方式的编码。 但是为了实现这一点,我们需要在我们的项目中额外添加这些库。 最终,为了使用这些,我们需要用它们的对 ...
我正在尝试构建 Scala 播放应用程序,但由于 repo 不再启动,依赖项突然无法下载下面的完整堆栈跟踪。 我曾经很好地获得了scalaz-stream v0.7a 依赖项,但它似乎不再出现在网站上。 我会使用一个快照 0.7a .. 但是我只需要知道如何将版本切换到这个版本? 我不知道 sca ...
我正在将一些基于 scalaz 的代码迁移到类型级别的猫。 项目/插件.sbt build.sbtscalacOptions ++= Seq("-feature", "-deprecation", "-Xlint", "-Xfatal-warnings", "-Ypartial-unificati ...
我正在 cat.free.Free Monad 库的帮助下使用案例类编写 DSL。 DSL 将由接收消息的 Actor 进行解释,因此每个 Actor 必须首先使用Free.resume解包命令。 这在六年前使用 scalaz 效果很好,我们也使用了简历 function ,但是免费 monad ...
有没有一种简洁的方法来深度合并 Scala 中的两个可变映射? 例子: 我。 二、 三、 即,如果两个映射中存在相同的键,则键对应的值( List[Int] )被合并。 有没有办法简洁地实现它,避免大量检查特定密钥是否出现在另一个 map 中? 使用像scalaz或cats这样的FP库也可以。 ...
我很抱歉这个问题,但我无法从之前的问题中得到答案。 我有一个 Scala 课程 现在在另一堂课上,我有这样的声明:- 但是会引发编译时问题:- 调用 sorted 方法时。 我不明白的另一件事是相同的代码适用于 Scala 2.10.x,但将其升级到 2.11.x 会导致此问题。 任 ...
我需要做什么来比较两个 Java UUID? 我是否需要为java.util.UUID创建一个 Equal 类型类的实例? ...
在猫中我能做到 import cats.Eq implicit val eq: Eq[Foo] = Eq.fromUniversalEquals[Foo] 如何使用 Scalaz (7.3.1) 执行此操作? 我从 repo 中的示例中尝试了此操作,但出现编译错误: import scal ...
我对 scala 隐式比较陌生,但如果我想能够做到5.?? , 我会做:class MyInt(int: Int) { // Useless, just to make a point def ?? : Int = int * 100 } implicit def toMyInt(in ...
我刚刚开始评估 ZIO 以改进编程 model 和我的异步 Scala 代码的性能。 在我的代码库中,我经常处理Future[Option[T]] ,到目前为止,我已经使用 Scalaz 的OptionT monad 转换器处理了这个问题。 现在我想用 ZIO 试试这个。 考虑两个函数: def ...
我相信 scalaz 对 Map 和SortedMap都有幺半群实例。 但这不起作用 ...
这些天我正在学习 scalaz。 当我将 scalaz 与 Haskell 进行比较时,我发现很难自定义我自己的 monad 转换器。 我可以在 Haskell 中执行这样的代码: newtype Box a = Box a deriving Show -- Monad instance of B ...
我有 3 个不同的模块,每个模块都有自己的错误类型。 以下是一个非常简化的版本。 作为这些模块的客户,链接这些调用的最佳方式是什么。 首先 - 深度嵌套的复杂返回类型,但具有所需的所有类型。 第二 - 非常易读,但错误类型丢失(推断的返回类型是Product \\/ Long )。 理想情 ...
ListT不提供ListT monad 转换器,所以我们如何将以下在 for-comprehension 中使用 scalaz ListT代码段重写为ListT中语义等效的代码段 这是我尝试使用flatMap和flatTraverse 这种重构似乎满足了类型检查器,但是我不确定快乐编译器是 ...
据我所知,我可以用这个 Monoid 连接 2 个 Map。 但我无法理解,如何使用它。 我必须放入(V: Monoid[V])参数以op之后使用op方法并放置 2 个 Maps。 ...
我花了一段时间在Google上搜索了非猫三重等于方法,但除了Scalaz找不到任何东西。 不幸的是,我无法在此库中计算===的导入。 有人可以帮忙,非常感谢。 ...
我想知道如何在 Scala 中将List[Try[T]]转换为Try[List[T]] ? 我曾尝试使用累加器并向右折叠,但似乎并不理想。 ...
(1)我有一个函数返回EitherT作为 (2)我想按顺序执行以下转换,以便等待对createData的每次调用一个接一个地完成。 (3)但是,Await.ready要求Future传入,因此在上面的代码中,我将EitherT与Future包装在一起。 但是我认为上面的代码(2 ...