3 ms·
Okay, sorry. The repeated "monstrous" and focus on how bad it is (which I genuinely disagree with - it's absolutely fine) rubbed me the wrong way. > and if you
by neonsunset 2y ago
Okay, sorry. The repeated "monstrous" and focus on how bad it is (which I genuinely disagree with - it's absolutely fine) rubbed me the wrong way.
> and if you aren't fortunate enough for your F# codebase to be mostly Tasks instead of async the you'll have to actually care.
My expectation is that async-based methods are not exposed to consuming from C#. If they are - this is unfortunate. The ideal state is to modernize the implementation and mainly rely on task CEs. Async CE has its advantages in terms implicit cancellation propagation but flowing down a cancellation token explicitly is usually a more pleasant experience than in other languages. Nothing that stands out as monstrous, and if something is - it has to do with the way a particular GUI framework implements it and not the language and platform themselves.
Last note on sync over async - threadpool can deal with it just fine. It has detection mechanism for this which proactively injects threads when a worker thread is expected to be blocked that bypasses regular scaling through hill-climbing.