タグ付けされた質問 「scala-cats」

1
Scala Cats / fs2でスタックの安全性を推論する方法は?
以下はfs2のドキュメントからのコードの一部です。関数goは再帰的です。問題は、それがスタックセーフであるかどうかをどのように知るか、および関数がスタックセーフかどうかをどのように推論するかです。 import fs2._ // import fs2._ def tk[F[_],O](n: Long): Pipe[F,O,O] = { def go(s: Stream[F,O], n: Long): Pull[F,O,Unit] = { s.pull.uncons.flatMap { case Some((hd,tl)) => hd.size match { case m if m <= n => Pull.output(hd) >> go(tl, n - m) case m => Pull.output(hd.take(n.toInt)) >> Pull.done } case None …

2
ステートフルオブジェクトの構築は、エフェクトタイプでモデル化する必要がありますか?
Scalaやのような関数環境を使用する場合cats-effect、ステートフルオブジェクトの構築はエフェクトタイプでモデル化する必要がありますか? // not a value/case class class Service(s: name) def withoutEffect(name: String): Service = new Service(name) def withEffect[F: Sync](name: String): F[Service] = F.delay { new Service(name) } 構造は間違いがないので、のような弱い型クラスを使用できますApply。 // never throws def withWeakEffect[F: Applicative](name: String): F[Service] = new Service(name).pure[F] これらはすべて純粋で確定的だと思います。結果のインスタンスは毎回異なるため、参照透過的ではありません。エフェクトタイプを使うのにいい時ですか?または、ここで異なる機能パターンがあるでしょうか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.