Skip to content

Commit 4a3a929

Browse files
committed
Improve readme with a dump of the current functions
1 parent a787106 commit 4a3a929

File tree

1 file changed

+41
-1
lines changed

1 file changed

+41
-1
lines changed

README.md

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,47 @@
11
# TaskSeq
22
An implementation `IAsyncEnumerableM<'T>` as a `taskSeq` CE for F# with accompanying `TaskSeq` module.
33

4-
## Coming up!!!
4+
## In progress!!!
55

66
It's based on [Don Symes `taskSeq.fs`](https://github.com/dotnet/fsharp/blob/d5312aae8aad650f0043f055bb14c3aa8117e12e/tests/benchmarks/CompiledCodeBenchmarks/TaskPerf/TaskPerf/taskSeq.fs)
77
but expanded with useful utility functions and a few extra binding overloads.
8+
9+
## Current set of `TaskSeq` utility functions
10+
11+
The following is the current surface area of the `TaskSeq` utility functions. This is just a dump of the signatures, proper
12+
documentation will be added soon(ish):
13+
14+
```f#
15+
module TaskSeq =
16+
val toList: t: taskSeq<'T> -> 'T list
17+
val toArray: taskSeq: taskSeq<'T> -> 'T[]
18+
val empty<'T> : IAsyncEnumerable<'T>
19+
val ofArray: array: 'T[] -> IAsyncEnumerable<'T>
20+
val ofList: list: 'T list -> IAsyncEnumerable<'T>
21+
val ofSeq: sequence: seq<'T> -> IAsyncEnumerable<'T>
22+
val ofResizeArray: data: ResizeArray<'T> -> IAsyncEnumerable<'T>
23+
val ofTaskSeq: sequence: seq<#Task<'T>> -> IAsyncEnumerable<'T>
24+
val ofTaskList: list: #Task<'T> list -> IAsyncEnumerable<'T>
25+
val ofTaskArray: array: #Task<'T> array -> IAsyncEnumerable<'T>
26+
val ofAsyncSeq: sequence: seq<Async<'T>> -> IAsyncEnumerable<'T>
27+
val ofAsyncList: list: Async<'T> list -> IAsyncEnumerable<'T>
28+
val ofAsyncArray: array: Async<'T> array -> IAsyncEnumerable<'T>
29+
val toArrayAsync: taskSeq: taskSeq<'a> -> Task<'a[]>
30+
val toListAsync: taskSeq: taskSeq<'a> -> Task<'a list>
31+
val toResizeArrayAsync: taskSeq: taskSeq<'a> -> Task<ResizeArray<'a>>
32+
val toIListAsync: taskSeq: taskSeq<'a> -> Task<IList<'a>>
33+
val toSeqCachedAsync: taskSeq: taskSeq<'a> -> Task<seq<'a>>
34+
val iter: action: ('a -> unit) -> taskSeq: taskSeq<'a> -> Task<unit>
35+
val iteri: action: (int -> 'a -> unit) -> taskSeq: taskSeq<'a> -> Task<unit>
36+
val iterAsync: action: ('a -> #Task<unit>) -> taskSeq: taskSeq<'a> -> Task<unit>
37+
val iteriAsync: action: (int -> 'a -> #Task<unit>) -> taskSeq: taskSeq<'a> -> Task<unit>
38+
val map: mapper: ('T -> 'U) -> taskSeq: taskSeq<'T> -> IAsyncEnumerable<'U>
39+
val mapi: mapper: (int -> 'T -> 'U) -> taskSeq: taskSeq<'T> -> IAsyncEnumerable<'U>
40+
val mapAsync: mapper: ('a -> #Task<'c>) -> taskSeq: taskSeq<'a> -> IAsyncEnumerable<'c>
41+
val mapiAsync: mapper: (int -> 'a -> #Task<'c>) -> taskSeq: taskSeq<'a> -> IAsyncEnumerable<'c>
42+
val collect: binder: ('T -> #IAsyncEnumerable<'U>) -> taskSeq: taskSeq<'T> -> IAsyncEnumerable<'U>
43+
val collectSeq: binder: ('T -> #seq<'U>) -> taskSeq: taskSeq<'T> -> IAsyncEnumerable<'U>
44+
val collectAsync: binder: ('T -> #Task<'b>) -> taskSeq: taskSeq<'T> -> taskSeq<'U> when 'b :> IAsyncEnumerable<'U>
45+
val collectSeqAsync: binder: ('T -> #Task<'b>) -> taskSeq: taskSeq<'T> -> taskSeq<'U> when 'b :> seq<'U>
46+
val zip: taskSeq1: taskSeq<'a> -> taskSeq2: taskSeq<'b> -> IAsyncEnumerable<'a * 'b>
47+
```

0 commit comments

Comments
 (0)