Initial release 0.1.0
Version 0.1.0, 4 Nov, 2022
This very first release features a fully functional taskSeq { .... } computation expression and a decent surface area coverage of module functions. All relevant issues and PR's are listed as part of milestone v0.1.0.
Summary of changes
Changes implemented by @abelbraaksma unless otherwise noted.
Bugs fixed
- #25 Fix bug: empty task sequences may have race conditions and run forever
- #39 Fix bug: multiple iterations over some task seqs can lead to
InvalidOperationException - #65 Fix bug: prevent
MoveNextwhen not necessary inTaskSeq.item/tryItem - #49 Fix bug: state machine resumption back to zero after reset (by @dsyme)
Features added
- #72 Put everything in namespace
FSharp.Control(per @dsyme's suggestions) - #2, #51 etc CE
taskSeq { ... }using resumable code (based on original ideas by @dsyme, @gusty and @rspeele, see tasks.fs):- Support
Bind, fortaskSeq { let! foo = someTask() } - Support
For,WhilefortaskSeq { for current in someTaskSeq do ... } - Support
YieldfortaskSeq { yield "hello world" } - Support
YieldFromfortaskSeq { yield! anotherTaskSeq }with overload for normal sequences - Support
UsingfortaskSeq { use ... }andtaskSeq { use! ... } - Support
TryFinallyandTryWithfortaskSeq { try .. with | try .. finally } - Support
ZerofortaskSeq { do () } - Support
Combinefor supporting multiplelet!
- Support
- #59 Drop
ReturnFromfromtaskSeqcomputation expression - #34 Consistent naming style as F#
Seqfunctions - #2, #18, #20, #23, #31, #53, #67, #68, #69, #70 and issues #22, #38 Add functions to
TaskSeqmodule:- Add
box - Add
cast - Add
choose,chooseAsync - Add
collect,collectAsync - Add
collectSeq,collectSeqAsync - Add
concat - Add
contains - Add
empty<_> - Add
exactlyOne - Add
exists,existsAsync - Add
filter,filterAsync - Add
find,findAsync - Add
findIndex,findIndexAsync - Add
fold,foldAsync - Add
head - Add
indexed - Add
init,initAsync - Add
initInfinite,initInfiniteAsync - Add
isEmpty - Add
item - Add
iter,iterAsync` - Add
iteri,iteriAsync - Add
last - Add
length - Add
lengthBy,lengthByAsync - Add
lengthOrMax - Add
map,mapAsync - Add
mapi,mapiAsync - Add
ofArray - Add
ofAsyncArray - Add
ofAsyncList - Add
ofAsyncSeq - Add
ofList - Add
ofResizeArray - Add
ofSeq - Add
ofTaskArray - Add
ofTaskList - Add
ofTaskSeq - Add
pick,pickAsync - Add
toArray - Add
toArrayAsync - Add
toIListAsync - Add
toList - Add
toListAsync - Add
toResizeArrayAsync - Add
toSeqCachedAsync - Add
tryExactlyOne - Add
tryFind,tryFindAsync - Add
tryFindIndex,tryFindIndexAsync - Add
tryHead - Add
tryItem - Add
tryLast - Add
tryPick,tryPickAsync - Add
unbox - Add
zip
- Add