Arman Bilge

Results 1748 comments of Arman Bilge

Yes, no worries, thank you very much for trying this out and writing this up! Pinging @rossabaker and @systemfw so they can have a look as well.

I've also been experimenting, to see how hard it is to break `Stream` tracing. So far I've minified down to https://github.com/armanbilge/bayou/commit/2ca914e211715bac59073fea281535663dcb3204 which basically inserts a `Queue` between two `Stream`s. ```scala...

Ok, minimized down to `noneTerminate` ... ```scala def run: IO[Unit] = { trace.use { implicit trace => stream.noneTerminate.compile.drain } } ``` Update: Yikes. Minimized to this? ```scala def run: IO[Unit]...

Thanks. Minimized to this: ```scala //> using scala "3.1.1" //> using lib "co.fs2::fs2-core:3.2.5" import cats.effect._ import fs2._ object Bayou extends IOApp.Simple: // def run = s.compile.lastOrError.flatMap(IO.println) // List(2, 1) def...

Ok, I think we more-or-less got to the bottom of it in https://github.com/typelevel/fs2/issues/2842#issuecomment-1062859215. Whenever interruption is involved, so are multiple fibers. And whenever multiple fibers are involved, you are liable...

It looks like there's some hope to fix this in fs2 :) but, what it means for Bayou is that it would probably specifically need a `spanS(...): Stream[F, Unit]`-style method...

> What region of the stream would have to be non-interruptible? Anytime you want to set local state, and have it be visible to the subsequent stream. Subsequent reading is...

Re (1): I wonder if we can have the release step check to see if the span currently in the fiber is actually the one that it installed. If not,...

I love your tables! :) I could be misunderstanding, but the span in question should definitely still close. But, while doing so it shouldn't change the ambient span if it...

> the only difference from the status quo is that `b`, not `root`, is ambient after release `a` IMO that's probably _slightly_ better. But at this point you are in...