Skip to content

Commit 41f84e8

Browse files
authored
Merge pull request #317 from fsprojects/repo-assist/docs-update-readme-0.6.0-2026-03-f0c7c614ff95add8
[Repo Assist] docs: update README to mark 0.6.0 functions as implemented
2 parents bd4d8ec + 56b362b commit 41f84e8

File tree

1 file changed

+19
-12
lines changed

1 file changed

+19
-12
lines changed

README.md

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -208,16 +208,16 @@ The `TaskSeq` project already has a wide array of functions and functionalities,
208208
- [ ] Add remaining relevant functions from `Seq`. **PLANNED FOR 0.4.x**
209209
- [x] `min` / `max` / `minBy` / `maxBy` & async variant (see [#221])
210210
- [x] `insertAt` / `updateAt` and related (see [#236])
211-
- [ ] `average` / `averageBy`, `sum` and related
211+
- [x] `average` / `averageBy`, `sum` and related (see [#304])
212212
- [x] `forall` / `forallAsync` (see [#240])
213213
- [x] `skip` / `drop` / `truncate` / `take` (see [#209])
214214
- [x] `chunkBySize` / `windowed` (see [#258])
215215
- [x] `compareWith` / `compareWithAsync`
216-
- [ ] `distinct`
216+
- [x] `distinct`
217217
- [ ] `exists2` / `map2` / `fold2` / `iter2` and related '2'-functions
218-
- [ ] `mapFold`
218+
- [x] `mapFold` (see [#306])
219219
- [x] `pairwise` (see [#293])
220-
- [ ] `allpairs` / `permute` / `distinct` / `distinctBy`
220+
- [x] `groupBy` / `groupByAsync`, `countBy` / `countByAsync`, `partition` / `partitionAsync` (see [#307])
221221
- [x] `replicate`
222222
- [x] `reduce` / `scan` (see [#299], [#296])
223223
- [x] `unfold` (see [#300])
@@ -257,8 +257,8 @@ This is what has been implemented so far, is planned or skipped:
257257
| ✅ [#81][] | `append` | `append` | | |
258258
| ✅ [#81][] | | | `appendSeq` | |
259259
| ✅ [#81][] | | | `prependSeq` | |
260-
| | `average` | `average` | | |
261-
| | `averageBy` | `averageBy` | `averageByAsync` | |
260+
| ✅ [#304][] | `average` | `average` | | |
261+
| ✅ [#304][] | `averageBy` | `averageBy` | `averageByAsync` | |
262262
| ❓ | `cache` | `cache` | | [note #1](#note1 "These functions require a form of pre-materializing through 'TaskSeq.cache', similar to the approach taken in the corresponding 'Seq' functions. It doesn't make much sense to have a cached async sequence. However, 'AsyncSeq' does implement these, so we'll probably do so eventually as well.") |
263263
| ✅ [#67][] | `cast` | `cast` | | |
264264
| ✅ [#67][] | | | `box` | |
@@ -274,9 +274,11 @@ This is what has been implemented so far, is planned or skipped:
274274
| ✅ [#237][]| `concat` (r-array) | `concat` (r-array) | | |
275275
| ✅ [#237][]| `concat` (seq) | `concat` (seq) | | |
276276
| ✅ [#70][] | `contains` | `contains` | | |
277+
| ✅ [#307][] | `countBy` | `countBy` | `countByAsync` | |
277278
| ✅ [#82][] | `delay` | `delay` | | |
278-
| | `distinct` | `distinct` | | |
279-
| | `distinctBy` | `dictinctBy` | `distinctByAsync` | |
279+
| ✅ [#305][] | `distinct` | `distinct` | | |
280+
| ✅ [#305][] | `distinctBy` | `distinctBy` | `distinctByAsync` | |
281+
| ✅ [#305][] | | `distinctUntilChanged` | | |
280282
| ✅ [#209][]| | `drop` | | |
281283
| ✅ [#2][] | `empty` | `empty` | | |
282284
| ✅ [#23][] | `exactlyOne` | `exactlyOne` | | |
@@ -295,7 +297,7 @@ This is what has been implemented so far, is planned or skipped:
295297
| 🚫 | `foldBack2` | | | [note #2](#note2 "Because of the async nature of TaskSeq sequences, iterating from the back would be bad practice. Instead, materialize the sequence to a list or array and then apply the 'Back' iterators.") |
296298
| ✅ [#240][]| `forall` | `forall` | `forallAsync` | |
297299
| | `forall2` | `forall2` | `forall2Async` | |
298-
| ❓ | `groupBy` | `groupBy` | `groupByAsync` | [note #1](#note1 "These functions require a form of pre-materializing through 'TaskSeq.cache', similar to the approach taken in the corresponding 'Seq' functions. It doesn't make much sense to have a cached async sequence. However, 'AsyncSeq' does implement these, so we'll probably do so eventually as well.") |
300+
| ✅ [#307][] | `groupBy` | `groupBy` | `groupByAsync` | |
299301
| ✅ [#23][] | `head` | `head` | | |
300302
| ✅ [#68][] | `indexed` | `indexed` | | |
301303
| ✅ [#69][] | `init` | `init` | `initAsync` | |
@@ -314,7 +316,7 @@ This is what has been implemented so far, is planned or skipped:
314316
| ✅ [#2][] | `map` | `map` | `mapAsync` | |
315317
| | `map2` | `map2` | `map2Async` | |
316318
| | `map3` | `map3` | `map3Async` | |
317-
| | `mapFold` | `mapFold` | `mapFoldAsync` | |
319+
| ✅ [#306][] | `mapFold` | `mapFold` | `mapFoldAsync` | |
318320
| 🚫 | `mapFoldBack` | | | [note #2](#note2 "Because of the async nature of TaskSeq sequences, iterating from the back would be bad practice. Instead, materialize the sequence to a list or array and then apply the 'Back' iterators.") |
319321
| ✅ [#2][] | `mapi` | `mapi` | `mapiAsync` | |
320322
| | `mapi2` | `mapi2` | `mapi2Async` | |
@@ -334,6 +336,7 @@ This is what has been implemented so far, is planned or skipped:
334336
| ✅ [#2][] | | `ofTaskList` | | |
335337
| ✅ [#2][] | | `ofTaskSeq` | | |
336338
| ✅ [#293][] | `pairwise` | `pairwise` | | |
339+
| ✅ [#307][] | `partition` | `partition` | `partitionAsync` | |
337340
| | `permute` | `permute` | `permuteAsync` | |
338341
| ✅ [#23][] | `pick` | `pick` | `pickAsync` | |
339342
| &#x1f6ab; | `readOnly` | | | [note #3](#note3 "The motivation for 'readOnly' in 'Seq' is that a cast from a mutable array or list to a 'seq<_>' is valid and can be cast back, leading to a mutable sequence. Since 'TaskSeq' doesn't implement 'IEnumerable<_>', such casts are not possible.") |
@@ -355,8 +358,8 @@ This is what has been implemented so far, is planned or skipped:
355358
| &#x2753; | `sortByDescending` | | | [note #1](#note1 "These functions require a form of pre-materializing through 'TaskSeq.cache', similar to the approach taken in the corresponding 'Seq' functions. It doesn't make much sense to have a cached async sequence. However, 'AsyncSeq' does implement these, so we'll probably do so eventually as well.") |
356359
| &#x2753; | `sortWith` | | | [note #1](#note1 "These functions require a form of pre-materializing through 'TaskSeq.cache', similar to the approach taken in the corresponding 'Seq' functions. It doesn't make much sense to have a cached async sequence. However, 'AsyncSeq' does implement these, so we'll probably do so eventually as well.") |
357360
| | `splitInto` | `splitInto` | | |
358-
| | `sum` | `sum` | | |
359-
| | `sumBy` | `sumBy` | `sumByAsync` | |
361+
| &#x2705; [#304][] | `sum` | `sum` | | |
362+
| &#x2705; [#304][] | `sumBy` | `sumBy` | `sumByAsync` | |
360363
| &#x2705; [#76][] | `tail` | `tail` | | |
361364
| &#x2705; [#209][]| `take` | `take` | | |
362365
| &#x2705; [#126][]| `takeWhile` | `takeWhile` | `takeWhileAsync` | |
@@ -659,6 +662,10 @@ module TaskSeq =
659662
[#296]: https://github.com/fsprojects/FSharp.Control.TaskSeq/pull/296
660663
[#299]: https://github.com/fsprojects/FSharp.Control.TaskSeq/pull/299
661664
[#300]: https://github.com/fsprojects/FSharp.Control.TaskSeq/pull/300
665+
[#304]: https://github.com/fsprojects/FSharp.Control.TaskSeq/pull/304
666+
[#305]: https://github.com/fsprojects/FSharp.Control.TaskSeq/pull/305
667+
[#306]: https://github.com/fsprojects/FSharp.Control.TaskSeq/pull/306
668+
[#307]: https://github.com/fsprojects/FSharp.Control.TaskSeq/pull/307
662669

663670
[issues]: https://github.com/fsprojects/FSharp.Control.TaskSeq/issues
664671
[nuget]: https://www.nuget.org/packages/FSharp.Control.TaskSeq/

0 commit comments

Comments
 (0)