Description
Hi all,
A question for people who use TaskBuilder, in relation to https://github.com/fsharp/fslang-design/blob/master/RFCs/FS-1097-task-builder.md
As everyone might know, the proposed support for tasks in F# is very much based around the functionality of TaskBuilder and we started with the test suite (though the implementation is entirely new).
Now TaskBuilder supports ContextInsensitive tasks where ConfigureAwait is false by default, e.g. https://github.com/rspeele/TaskBuilder.fs/blob/master/TaskBuilder.fs#L352. However the task { ... }
support in the F# RFC doens't include ContextInsensitive tasks.
So the question is - how important is it for inbuilt F# task support to support a builder (e.g. open ContextInsensitive ... task { ...}
) for context insensitive tasks? Or is it ok for people to do this manually?
Personally I think moving away from the UI thread should be done explicitly, e.g.
task {
do! Task.SwitchToBackgroundThread() // or whatever
... }
or via explicit ConfigureAwait calls.