@@ -13,13 +13,13 @@ import scala.collection.generic.CanBuildFrom
1313import scala .language .higherKinds
1414
1515class AsyncStream [F [+ _]: Monad , + A ](private [asyncstreams] val data : F [Step [A , AsyncStream [F , A ]]]) {
16- def to [Col [+ _]](implicit cbf : CanBuildFrom [Nothing , A , Col [A @ uV]], methods : ASImpl [F ]): F [Col [A ]] =
17- methods .collectLeft(this )(cbf())((col, el) => col += el).map(_.result())
16+ def to [Col [+ _]](implicit cbf : CanBuildFrom [Nothing , A , Col [A @ uV]], impl : ASImpl [F ]): F [Col [A ]] =
17+ impl .collectLeft(this )(cbf())((col, el) => col += el).map(_.result())
1818
1919 def takeWhile (p : A => Boolean )(implicit impl : ASImpl [F ]): AsyncStream [F , A ] = impl.takeWhile(this )(p)
2020
21- def take (n : Int )(implicit smp : Alternative [AsyncStream [F , ? ]]): AsyncStream [F , A ] =
22- if (n <= 0 ) smp .empty
21+ def take (n : Int )(implicit alt : Alternative [AsyncStream [F , ? ]]): AsyncStream [F , A ] =
22+ if (n <= 0 ) alt .empty
2323 else AsyncStream {
2424 data.map(p => Step (p.value, p.rest.take(n - 1 )))
2525 }
@@ -30,13 +30,13 @@ class AsyncStream[F[+_]: Monad, +A](private[asyncstreams] val data: F[Step[A, As
3030 data.flatMap(p => p.rest.drop(n - 1 ).data)
3131 }
3232
33- def foreach [U ](f : (A ) => U )(implicit methods : ASImpl [F ]): F [Unit ] =
34- methods .collectLeft(this )(())((_ : Unit , a : A ) => {f(a); ()})
33+ def foreach [U ](f : (A ) => U )(implicit impl : ASImpl [F ]): F [Unit ] =
34+ impl .collectLeft(this )(())((_ : Unit , a : A ) => {f(a); ()})
3535
3636 def foreachF [U ](f : (A ) => F [U ])(implicit impl : ASImpl [F ]): F [Unit ] =
3737 impl.collectLeft(this )(().pure[F ])((fu : F [Unit ], a : A ) => fu.flatMap(_ => f(a)).map(_ => ())).flatMap(identity)
3838
39- def flatten [B ](implicit asIterable : A => GenIterable [B ], smp : Alternative [AsyncStream [F , ? ]], impl : ASImpl [F ]): AsyncStream [F , B ] = {
39+ def flatten [B ](implicit asIterable : A => GenIterable [B ], alt : Alternative [AsyncStream [F , ? ]], impl : ASImpl [F ]): AsyncStream [F , B ] = {
4040 def streamChunk (step : Step [A , AsyncStream [F , A ]]): AsyncStream [F , B ] =
4141 impl.fromIterable(asIterable(step.value).seq) <+> step.rest.flatten
4242
@@ -54,7 +54,7 @@ class AsyncStream[F[+_]: Monad, +A](private[asyncstreams] val data: F[Step[A, As
5454 data.flatMap(s => f(s.value).map(nv => Step (nv, s.rest.mapF(f))))
5555 }
5656
57- def flatMap [B ](f : A => AsyncStream [F , B ])(implicit smp : Alternative [AsyncStream [F , ? ]]): AsyncStream [F , B ] = AsyncStream {
57+ def flatMap [B ](f : A => AsyncStream [F , B ])(implicit alt : Alternative [AsyncStream [F , ? ]]): AsyncStream [F , B ] = AsyncStream {
5858 data.flatMap(s => (f(s.value) <+> s.rest.flatMap(f)).data)
5959 }
6060
@@ -94,17 +94,17 @@ object AsyncStream {
9494 private [asyncstreams] def apply [F [+ _]: Monad , A ](data : => F [Step [A , AsyncStream [F , A ]]]): AsyncStream [F , A ] = new AsyncStream (data)
9595 def asyncNil [F [+ _]: Monad , A ](implicit impl : ASImpl [F ]): AsyncStream [F , A ] = impl.empty
9696
97- private [asyncstreams] def generate [F [+ _]: Monad , S , A ](start : S )(gen : S => F [(S , A )])(implicit smp : Applicative [AsyncStream [F , ? ]]): AsyncStream [F , A ] = AsyncStream {
97+ private [asyncstreams] def generate [F [+ _]: Monad , S , A ](start : S )(gen : S => F [(S , A )])(implicit app : Applicative [AsyncStream [F , ? ]]): AsyncStream [F , A ] = AsyncStream {
9898 gen(start).map((stateEl : (S , A )) => Step (stateEl._2, generate(stateEl._1)(gen)))
9999 }
100100
101- def unfold [F [+ _]: Monad , T ](start : T )(makeNext : T => T )(implicit smp : Applicative [AsyncStream [F , ? ]]): AsyncStream [F , T ] =
101+ def unfold [F [+ _]: Monad , T ](start : T )(makeNext : T => T )(implicit app : Applicative [AsyncStream [F , ? ]]): AsyncStream [F , T ] =
102102 generate(start)(s => (makeNext(s), s).pure[F ])
103103
104- def unfoldM [F [+ _]: Monad , T ](start : T )(makeNext : T => F [T ])(implicit alt : Applicative [AsyncStream [F , ? ]]): AsyncStream [F , T ] =
104+ def unfoldM [F [+ _]: Monad , T ](start : T )(makeNext : T => F [T ])(implicit app : Applicative [AsyncStream [F , ? ]]): AsyncStream [F , T ] =
105105 generate(start)(s => makeNext(s).map(n => (n, s)))
106106
107- def unfoldMM [F [+ _]: Monad , T ](start : F [T ])(makeNext : T => F [T ])(implicit alt : Applicative [AsyncStream [F , ? ]]): AsyncStream [F , T ] = AsyncStream {
107+ def unfoldMM [F [+ _]: Monad , T ](start : F [T ])(makeNext : T => F [T ])(implicit app : Applicative [AsyncStream [F , ? ]]): AsyncStream [F , T ] = AsyncStream {
108108 start.flatMap(initial => generate(initial)(s => makeNext(s).map(n => (n, s))).data)
109109 }
110110}
0 commit comments