zlacker

[return to "The bane of my existence: Supporting both async and sync code in Rust"]
1. xedrac+zh[view] [source] 2024-01-19 23:38:16
>>lukast+(OP)
When writing some IO bound application, async Rust is great. Less great for libraries that want to support both async and sync without having to make an async runtime a dependency if you just want the sync interface. Mutually exclusive features are taboo unfortunately. One thing I really love about Haskell is you can make any function run in a green thread by simply composing it with the 'async' function. There's nothing special about it. This works much better than say Go, because Haskell is immutable.
◧◩
2. XorNot+ri[view] [source] 2024-01-19 23:42:57
>>xedrac+zh
I'm not clear what your last sentence has to do with anything else? What does immutability have to do with Async/sync conversions?
◧◩◪
3. polyga+Ol[view] [source] 2024-01-20 00:11:51
>>XorNot+ri
Immutability is great for multithreaded/async programs because every thread can rest assured knowing no other thread can sneakily modify objects that they are operating on currently.
◧◩◪◨
4. candid+Xl[view] [source] 2024-01-20 00:12:57
>>polyga+Ol
Go can prevent this with the race detector among other things
◧◩◪◨⬒
5. binary+Er[view] [source] 2024-01-20 01:06:25
>>candid+Xl
The race detector needs to actually encounter a race in order to detect it, it's not a complete static analysis.
[go to top]