Hacker News new | ask | show | jobs
by rnantes 1885 days ago
If you look on the Swift GitHub page you will see tremendous effort going into async/await. It will change the game for server side swift later this year.
2 comments

this! lack of proper async support has been a big deterrent for me when considering Swift on my server or even Docker/CLI project. I worried that things like SwiftNIO/Vapor would change significantly when async landed and would require a lot of upkeep... I look forward to async landing.
I don’t know how Swift works, but from my Haskell experience, if your language needs async/await —- it’s already failing. Everything is async in Haskell, so you don’t need to think about it, and cannot accidentally make a mistake by blocking your async thread by calling sync code from it.
> Everything is async in Haskell, so you don’t need to think about it,

Then why does https://hackage.haskell.org/package/async exist?

I think what he means is that everything in Haskell is "async" because the language runtime is lazy and types can encode parallelism: monads and functors fro sequential, blocking code, while applicatives for independent code.

Not sure if it's actually correct though.

Nothing to do with laziness. It just means you cannot accidentally call blocking (sync) operation from a lightweight (async) thread and block a whole bunch of other lightweight threads like in Rust, C#, or other languages with explicit “async” keyword
Please keep in mind it’s a library, not a language extension. It exists same reason any other library exists. It’s a useful set of combinators