Cats是一个为Scala中的函数式编程提供抽象的库。
http4s-ember-server 时不时地抛出 ClosedChannelException
在我的一个应用程序上使用http4s-ember-server,我注意到这些异常不时出现在我的服务器日志中。 它们的奇怪之处在于它们不遵循我的记录器的附加程序或
Scala Cats Effect 从封闭类的 Effect 类型包装实现
我有一个如下所示的实现: 最终类 MyServiceImpl[M[_]: Async](dbCfg: DBConfig)(隐式 ec: Scheduler) 扩展 MyService[M] { ...... ...... ...... ...... } 里面...
我对 Scala 比较陌生,对 Doobie 也比较陌生。我正在连接到 SQL Server 2014,需要创建一个临时表,然后插入到该临时表中。在 SQL Server 中,当您创建...
我使用 Scala 中的猫效果在内存中实现了一个简单的缓存。 这是我的特点: 特征缓存[F[_], K, V] { def get(key: K): F[选项[V]] def put(键: K, 值: V): F[缓存[...
我创建了一个小型工作系统来以最大的多核处理器利用率运行并行作业。 它似乎工作正常,但在某些时候,当处理大量作业时,会出现错误......
当将 for 理解与 EitherT 链接时,编译器在将我的错误向上转换为它们的共同祖先类型时遇到问题。 我的代码中有以下类型定义: 密封特征错误
找不到类型为 cats.MonadThrow[sttp.client3.Identity] 的证据参数的隐式值
我正在考虑在我们的 Scala 项目中使用 stac4s 作为 STAC 客户端,但是天哪,这让我很为难。猫、单子和所有那些花哨的东西的使用非常令人生畏,而且没有文档......
redis4cats Scala redis.set 不设置任何记录
Scala redis4cats 库 redis: RedisCommands[IO, 字符串, 字符串] scala 中的代码行下方不会在 redis 中设置任何记录。 redis.set("a", "x") 虽然通过 te 设置时...
我是一名新的 Scala 开发人员,目前,我需要 http4s 的一些支持。 一般来说,我有以下 Scala 代码 导入 pureconfig._ 导入 pureconfig.generic.auto._ 导入 scala.io.Source 进口...
def forceR[B](即: IO[B]): IO[B] = // 这里需要强制转换来欺骗编译器避免 IO[Any] asInstanceOf[IO[Unit]].handleError(_ => ()).productR(那个) 来源 自asInst ...
给定带有 java.sql.Timestamp 的数据行的案例类表示: 案例类 ExampleRow(id: String, ts: Timestamp) 查询需要一个 ExampleRow: 进口杜比._ 导入 doobie.impl ...
我是猫效应的新手,我正在尝试使用猫效应实现经典表达式评估。使用 eval 我想返回一个 IO[Double] 而不是 Double。我有我天真的代码b ...
在 Scala 库 cats-effect 2 中,如何可靠地触发 IO 取消?
这是一个简短的例子: 假设 forever 是一个永不结束的 IO,我想运行它 3 秒并触发取消: val start = forever.runCancelable { 案例左(ee)=&g ...
我一直在编写我自己的 Scala Cats 版本(以帮助其他人学习这个库)。 我已经实现了我自己的大多数类型类版本,但仍然坚持使用 Tra 的自定义实现...
我应该如何正确包装此代码以与 Cats Effect 3 一起使用?我应该使用资源吗?
下面的代码是否适用于猫效应和 IO? 这是否应该使用资源,如果是这样,有人可以帮助我,因为我以前没有使用过资源。 对象 AWS { val client = AWSClientBuilder.
这是人为登录过程的基本 Scala Tagless Final 模式实现。它不会编译,因为它在结尾附近显示“没有找到参数的隐式......” 但是如果我删除 ':
Scala 中 EvalOption[A] 的 Monad 实例
想象一个 EvalOption 类型定义如下: 输入 EvalOption = [A] =>> Eval[Option[A]] 是否有可能以维护 Eval 堆栈安全的方式创建 Monad 实例...
UserRepository trait 有两个方法 isRegistered 和 insert。 特征 UserRepository[F[_]] { def insert(user: domain.User): F[长] def isRegistered(用户:domain.User):F [布尔] } 边界分类...
我有类似的东西 def test[F[_]: Sync: Console](counter: Int): F[Unit] = 为了 { _ <- if(counter % 10000 == 0) Console[F].println(s"counter: ${counter}") else Sync[F].unit ...
我正在通过Scala与Cats一起工作,我试图创建一个Show on a Tree[A]类型(不是书本练习)。基本上,我试图创建一个实例,如果我有任何一棵树,其 ...