While writing #77 I realised it would be logical to allow this TaskSeq thing to interoperate with a standard CancellableTask, that is
taskSeq {
let! res = cancellableTask { ... }
...
}
which would pass the CancellationToken governing the iteration of the TaskSeq to the Cancellable task. This would give robust cancellation token passing through the overall computation.
Under the alternative long term strategy in #77 this would be the same as
asyncSeq {
let! res = async2 { ... } // re-implemented F# async
...
}
because F# cancellableTask and async2 are more or less the same thing.
This would mean bringing a CancellableTask into this library from IcedTasks, which may be a good thing.
While writing #77 I realised it would be logical to allow this TaskSeq thing to interoperate with a standard CancellableTask, that is
which would pass the CancellationToken governing the iteration of the TaskSeq to the Cancellable task. This would give robust cancellation token passing through the overall computation.
Under the alternative long term strategy in #77 this would be the same as
because F#
cancellableTaskandasync2are more or less the same thing.This would mean bringing a CancellableTask into this library from IcedTasks, which may be a good thing.