Remix.run Logo
shortrounddev2 a day ago

The distinction in this case is utterly meaningless. This is about the ergonomics of the language. Which are lacking the minute to break out of pure functional land

cjbgkagh a day ago | parent | next [-]

I disagree with both of your statements

neonsunset a day ago | parent | prev [-]

Read this first: https://learn.microsoft.com/en-us/dotnet/fsharp/language-ref...

There are multiple alternate asynchronous computation expression implementations which give different ergonomics and behavior (like https://github.com/TheAngryByrd/IcedTasks). There's an entire CE extension to specifically enable this kind of convenience and flexibility too: https://github.com/fsharp/fslang-design/blob/main/FSharp-6.0...

None of this is possible in C#, at least without jumping through many hoops and ending up with extra boilerplate (and this is okay, C# has enough of its own complexity). As cjbgkagh noted, providing this type of control is the whole point and what makes F# so powerful.