From e14a5a6b2251f4945c3a9ccbeb4b1eaa634c714f Mon Sep 17 00:00:00 2001 From: Amir Saeid Date: Sat, 14 Feb 2026 17:00:08 +0000 Subject: Remove unnecessary Monad --- fs2/src/main/scala/com/codiff/fairstream/fs2/conversions.scala | 5 +---- fs2/src/main/scala/com/codiff/fairstream/fs2/syntax.scala | 3 +-- fs2/src/test/scala/com/codiff/fairstream/fs2/FairFs2Suite.scala | 4 +++- 3 files changed, 5 insertions(+), 7 deletions(-) (limited to 'fs2') diff --git a/fs2/src/main/scala/com/codiff/fairstream/fs2/conversions.scala b/fs2/src/main/scala/com/codiff/fairstream/fs2/conversions.scala index 4083c31..c100d64 100644 --- a/fs2/src/main/scala/com/codiff/fairstream/fs2/conversions.scala +++ b/fs2/src/main/scala/com/codiff/fairstream/fs2/conversions.scala @@ -1,7 +1,6 @@ package com.codiff.fairstream package fs2 -import cats.Monad import _root_.fs2.{Pull, Pure, Stream} object conversions { @@ -16,9 +15,7 @@ object conversions { go(fair).stream } - def fairTToStream[F[_], A](fairT: FairT[F, A])(implicit - F: Monad[F] - ): Stream[F, A] = { + def fairTToStream[F[_], A](fairT: FairT[F, A]): Stream[F, A] = { def go(ft: FairT[F, A]): Pull[F, A, Unit] = Pull.eval(ft.run).flatMap { case FairE.Nil() => Pull.done diff --git a/fs2/src/main/scala/com/codiff/fairstream/fs2/syntax.scala b/fs2/src/main/scala/com/codiff/fairstream/fs2/syntax.scala index 1c7aba7..b44fab7 100644 --- a/fs2/src/main/scala/com/codiff/fairstream/fs2/syntax.scala +++ b/fs2/src/main/scala/com/codiff/fairstream/fs2/syntax.scala @@ -1,7 +1,6 @@ package com.codiff.fairstream package fs2 -import cats.Monad import _root_.fs2.{Pure, Stream} object syntax { @@ -11,7 +10,7 @@ object syntax { } implicit class FairTFs2Ops[F[_], A](val fairT: FairT[F, A]) extends AnyVal { - def toFs2(implicit F: Monad[F]): Stream[F, A] = + def toFs2: Stream[F, A] = conversions.fairTToStream(fairT) } diff --git a/fs2/src/test/scala/com/codiff/fairstream/fs2/FairFs2Suite.scala b/fs2/src/test/scala/com/codiff/fairstream/fs2/FairFs2Suite.scala index cbb2975..c7b9269 100644 --- a/fs2/src/test/scala/com/codiff/fairstream/fs2/FairFs2Suite.scala +++ b/fs2/src/test/scala/com/codiff/fairstream/fs2/FairFs2Suite.scala @@ -109,7 +109,9 @@ class FairFs2Suite extends CatsEffectSuite { // -- Plain fs2.Stream vs Fair interleaving -- - test("plain fs2.Stream cannot find pythagorean triples (depth-first gets stuck)") { + test( + "plain fs2.Stream cannot find pythagorean triples (depth-first gets stuck)" + ) { // Plain fs2.Stream uses depth-first (sequential) flatMap: for i=1, j=1 it // tries k=1,2,3,... forever, never advancing j or i. So it cannot produce // even a single triple from an infinite number stream within a budget. -- cgit v1.2.3