@@ -547,10 +547,9 @@ type TaskSeq =
547
547
/// Builds a new task sequence whose elements are the results of applying the <paramref name="mapper" />
548
548
/// function to each of the elements of the input task sequence in <paramref name="source" />, passing
549
549
/// an extra zero-based index argument to the <paramref name="mapper" /> function.
550
- /// The given function will be applied as elements are pulled using async enumerators retrieved from the
551
- /// input task sequence.
552
- ///
553
- /// If <paramref name="mapper" /> is asynchronous, use <see cref="TaskSeq.mapiAsync" />.
550
+ /// The given function will be applied as elements are pulled using the <see cref="MoveNextAsync" />
551
+ /// method on async enumerators retrieved from the input task sequence.
552
+ /// Does not evaluate the input sequence until requested.
554
553
/// </summary>
555
554
///
556
555
/// <param name="mapper">A function to transform items from the input task sequence that also access the current index.</param>
@@ -578,10 +577,9 @@ type TaskSeq =
578
577
/// Builds a new task sequence whose elements are the results of applying the asynchronous <paramref name="mapper" />
579
578
/// function to each of the elements of the input task sequence in <paramref name="source" />, passing
580
579
/// an extra zero-based index argument to the <paramref name="mapper" /> function.
581
- /// The given function will be applied as elements are pulled using async enumerators retrieved from the
582
- /// input task sequence.
583
- ///
584
- /// If <paramref name="mapper" /> is synchronous, use <see cref="TaskSeq.mapi" />.
580
+ /// The given function will be applied as elements are pulled using the <see cref="MoveNextAsync" />
581
+ /// method on async enumerators retrieved from the input task sequence.
582
+ /// Does not evaluate the input sequence until requested.
585
583
/// </summary>
586
584
///
587
585
/// <param name="mapper">An asynchronous function to transform items from the input task sequence that also access the current index.</param>
@@ -903,7 +901,7 @@ type TaskSeq =
903
901
/// <summary>
904
902
/// Returns a task sequence that, when iterated, yields elements of the underlying sequence while the
905
903
/// given function <paramref name="predicate" /> returns <see cref="true" />, and then returns no further elements.
906
- /// The first element where the predicate returns <see cref="false" /> is not included in the resulting sequence
904
+ /// Stops consuming the source and yielding items as soon as the predicate returns <c>false</c>.
907
905
/// (see also <see cref="TaskSeq.takeWhileInclusive" />).
908
906
/// If <paramref name="predicate" /> is asynchronous, use <see cref="TaskSeq.takeWhileAsync" />.
909
907
/// </summary>
@@ -917,7 +915,7 @@ type TaskSeq =
917
915
/// <summary>
918
916
/// Returns a task sequence that, when iterated, yields elements of the underlying sequence while the
919
917
/// given asynchronous function <paramref name="predicate" /> returns <see cref="true" />, and then returns no further elements.
920
- /// The first element where the predicate returns <see cref="false" /> is not included in the resulting sequence
918
+ /// Stops consuming the source and yielding items as soon as the predicate returns <c>false</c>.
921
919
/// (see also <see cref="TaskSeq.takeWhileInclusiveAsync" />).
922
920
/// If <paramref name="predicate" /> is synchronous, use <see cref="TaskSeq.takeWhile" />.
923
921
/// </summary>
@@ -959,9 +957,9 @@ type TaskSeq =
959
957
/// <summary>
960
958
/// Returns a task sequence that, when iterated, skips elements of the underlying sequence while the
961
959
/// given function <paramref name="predicate" /> returns <see cref="true" />, and then yields the remaining
962
- /// elements. The first element where the predicate returns <see cref="false" /> is returned , which means that this
963
- /// function will skip 0 or more elements (see also <see cref="TaskSeq.skipWhileInclusive" />).
964
- /// If <paramref name="predicate" /> is asynchronous, use <see cref="TaskSeq.skipWhileAsync" />.
960
+ /// elements. Elements where the predicate returns <see cref="false" /> are propagated , which means that this
961
+ /// function may not skip any elements (see also <see cref="TaskSeq.skipWhileInclusive" />).
962
+ /// If <paramref name="predicate" /> is asynchronous, consider using <see cref="TaskSeq.skipWhileAsync" />.
965
963
/// </summary>
966
964
///
967
965
/// <param name="predicate">A function that evaluates to false when no more items should be skipped.</param>
@@ -973,9 +971,9 @@ type TaskSeq =
973
971
/// <summary>
974
972
/// Returns a task sequence that, when iterated, skips elements of the underlying sequence while the
975
973
/// given asynchronous function <paramref name="predicate" /> returns <see cref="true" />, and then yields the
976
- /// remaining elements. The first element where the predicate returns <see cref="false" /> is returned , which
977
- /// means that this function will skip 0 or more elements (see also <see cref="TaskSeq.skipWhileInclusiveAsync" />).
978
- /// If <paramref name="predicate" /> is synchronous, use <see cref="TaskSeq.skipWhile" />.
974
+ /// remaining elements. Elements where the predicate returns <see cref="false" /> are propagated , which means that this
975
+ /// function may not skip any elements (see also <see cref="TaskSeq.skipWhileInclusiveAsync" />).
976
+ /// If <paramref name="predicate" /> is synchronous, consider using <see cref="TaskSeq.skipWhile" />.
979
977
/// </summary>
980
978
///
981
979
/// <param name="predicate">An asynchronous function that evaluates to false when no more items should be skipped.</param>
@@ -986,27 +984,27 @@ type TaskSeq =
986
984
987
985
/// <summary>
988
986
/// Returns a task sequence that, when iterated, skips elements of the underlying sequence until the given
989
- /// function <paramref name="predicate" /> returns <see cref="false" />, also skips that element
990
- /// and then yields the remaining elements (see also <see cref="TaskSeq.skipWhile" />). This function skips
987
+ /// function <paramref name="predicate" /> returns <see cref="false" />, <i> also skips that element</i>
988
+ /// and then yields the remaining elements (see also <see cref="TaskSeq.skipWhile" />). It will thus always skip
991
989
/// at least one element of a non-empty sequence, or returns the empty task sequence if the input is empty.
992
990
/// If <paramref name="predicate" /> is asynchronous, use <see cref="TaskSeq.skipWhileInclusiveAsync" />.
993
991
/// </summary>`
994
992
///
995
- /// <param name="predicate">A function that evaluates to false when no more items should be skipped.</param>
993
+ /// <param name="predicate">A function that evaluates to false for the final item to be skipped.</param>
996
994
/// <param name="source">The input task sequence.</param>
997
995
/// <returns>The resulting task sequence.</returns>
998
996
/// <exception cref="T:ArgumentNullException">Thrown when the input task sequence is null.</exception>
999
997
static member skipWhileInclusive : predicate : ( 'T -> bool ) -> source : TaskSeq < 'T > -> TaskSeq < 'T >
1000
998
1001
999
/// <summary>
1002
1000
/// Returns a task sequence that, when iterated, skips elements of the underlying sequence until the given
1003
- /// function <paramref name="predicate" /> returns <see cref="false" />, also skips that element
1004
- /// and then yields the remaining elements (see also <see cref="TaskSeq.skipWhileAsync" />). This function skips
1001
+ /// function <paramref name="predicate" /> returns <see cref="false" />, <i> also skips that element</i>
1002
+ /// and then yields the remaining elements (see also <see cref="TaskSeq.skipWhileAsync" />). It will thus always skip
1005
1003
/// at least one element of a non-empty sequence, or returns the empty task sequence if the input is empty.
1006
1004
/// If <paramref name="predicate" /> is synchronous, use <see cref="TaskSeq.skipWhileInclusive" />.
1007
1005
/// </summary>
1008
1006
///
1009
- /// <param name="predicate">An asynchronous function that evaluates to false when no more items should be skipped.</param>
1007
+ /// <param name="predicate">An asynchronous function that evaluates to false for the final item to be skipped.</param>
1010
1008
/// <param name="source">The input task sequence.</param>
1011
1009
/// <returns>The resulting task sequence.</returns>
1012
1010
/// <exception cref="T:ArgumentNullException">Thrown when the input task sequence is null.</exception>
@@ -1248,6 +1246,9 @@ type TaskSeq =
1248
1246
1249
1247
/// <summary>
1250
1248
/// Applies the function <paramref name="folder" /> to each element in the task sequence, threading an accumulator
1249
+ /// argument of type <typeref name="'State" /> through the computation. If the input function is <paramref name="f" /> and the elements are <paramref name="i0...iN" />
1250
+ /// then computes<paramref name="f (... (f s i0)...) iN" />.
1251
+ /// If the accumulator function <paramref name="folder" /> is asynchronous, consider using <see cref="TaskSeq.foldAsync" />.
1251
1252
/// argument of type <paramref name="'State" /> through the computation. If the input function is <paramref name="f" /> and the elements are <paramref name="i0...iN" />
1252
1253
/// then computes <paramref name="f (... (f s i0)...) iN" />.
1253
1254
/// If the accumulator function <paramref name="folder" /> is asynchronous, use <see cref="TaskSeq.foldAsync" />.
@@ -1264,7 +1265,7 @@ type TaskSeq =
1264
1265
/// Applies the asynchronous function <paramref name="folder" /> to each element in the task sequence, threading an accumulator
1265
1266
/// argument of type <paramref name="'State" /> through the computation. If the input function is <paramref name="f" /> and the elements are <paramref name="i0...iN" />
1266
1267
/// then computes <paramref name="f (... (f s i0)...) iN" />.
1267
- /// If the accumulator function <paramref name="folder" /> is synchronous, use <see cref="TaskSeq.fold" />.
1268
+ /// If the accumulator function <paramref name="folder" /> is synchronous, consider using <see cref="TaskSeq.fold" />.
1268
1269
/// </summary>
1269
1270
///
1270
1271
/// <param name="folder">A function that updates the state with each element from the sequence.</param>
0 commit comments