interactive
interactive copied to clipboard
[F#] Treat F# cell as a `task` CE if `let!` or `do!` binding is present
Is your feature request related to a problem? Please describe.
It is very inconvenient to write .Result for each async call in a cell in F# code.
When you write a tutorial, your end consumer must remove .Result and add the bang operator to each call!
Describe the solution you'd like
If a cell contains at least one let! or do! binding accepting a Task the whole cell must be wrapped into a task { } computation expression. And cancellationToken parameter must become automatically available for the cell.
All let bindings must appear in the .NET Interactive: Values output window.
Also, It would be nice to implicitly reference and load FSharp.Control.FusionTasks to have seamless async-task interop