Releases: jamil7/FSharp.Prelude
Releases · jamil7/FSharp.Prelude
Try source link
What's Changed
- One namespace to rule them all! by @jamil7 in #13
- Add
Taskextensions by @jamil7 in #14 - Clean up some duplicate functions and rename some by @jamil7 in #17
- Remove the alternative combinator use built in functions when needed by @jamil7 in #18
- Refactor parallel apply operator by @jamil7 in #19
- Add
TaskResultby @jamil7 in #15 - Add
TaskOptionby @jamil7 in #20 - Remove
Internal.fsand refactor by @jamil7 in #21 - Add some more functionality to options by @jamil7 in #22
- Move Tasks to its own project by @jamil7 in #23
- Add source link to include sources by @jamil7 in #24
Full Changelog: v5.0.0...v6.0.0-beta.4
Tasks are here?
What's Changed
- One namespace to rule them all! by @jamil7 in #13
- Add
Taskextensions by @jamil7 in #14 - Clean up some duplicate functions and rename some by @jamil7 in #17
- Remove the alternative combinator use built in functions when needed by @jamil7 in #18
- Refactor parallel apply operator by @jamil7 in #19
- Add
TaskResultby @jamil7 in #15 - Add
TaskOptionby @jamil7 in #20 - Remove
Internal.fsand refactor by @jamil7 in #21 - Add some more functionality to options by @jamil7 in #22
- Move Tasks to its own project by @jamil7 in #23
Full Changelog: v5.0.0...v6.0.0-beta-3
Restructure and more!
Support netstandard2.0
v4.0.3 Fix script again
Improvements! Improvements! Improvements!
What's new?
ofThrowableinResultandOptionmodules to wrap functions that can throw in aResultor anOptionrespectively
What's changed?
- Remove
traverseandsequencefunction fromAsyncbecause it already has it's own version of them - Remove
parallel'fromAsyncResultAsyncOptionAsyncResultOption - Remove kleisli operator
>=>andcomposefunction - Rename
traverseMtomapM - Rename
traverseAtotraverse - Rename
travseParallelAtotraverseParallel - Rename
sequenceMtosequence - Use a tail recursive version of
traverseandsequenceto support early termination - Add tests for
AsyncResultthanks @AntonStrand ❤️
List module, and a whole lot of changes!
What's new?
Listmodule, which has bothtraverseandsequenceinmonadicandapplicativevariants for all the monads in the libbimapfunction forResult,AsyncResult, andAsyncResultOption
What's changed?
AwaitTaskWithInnerExceptionis now a static method in the extendedAsyncmodule instead of a function. This is to be able to override the methods to acceptTask, andTask<'a>while keeping the same nametraverseis removed from all the monad modules, and added to theListmodule in two variants as mentioned before
What's improved
sequence, andparallel'are kept for convenience and backward compatibility, but they now usetraverseMinstead oftraverseAunder the hood to terminate on first error
New functions, and lots of improvements!
What's new?
- While loop in all builders
Asyncbuilder can bind tasks, and hasMergeSources()added to enable theand!keyword in builders- Added
traverseto error handling modules, and changedsequence's implementation to usetraverseunder the hood
What's improved?
- Changed implementation of
(<&>)inAsyncto useAsync.StartChildAsTaskinstead ofAsync.StartChild, because of some weird stack overflow exceptions caused by latter - Changed implementation of
(<&>)inAsyncOption, andAsyncResultto use the newand!keyword from theAsyncmodule - Changed implementation of
parallel'in async error handling modules to useAsync.Parallel, which has better performance than(<&>), and doesn't cause stack overflows
Add missing option, and result builders
What's new?
- Added builder for
option, andresult, which were missing before (oops)
Sequential apply, and String!
What's new?
- Added a sequential implementation for
applyfor async operations, as well as a parallel one (which was the default) - New String module that has some nice to have string functions, inspired by Elm's collection of string functions (more functions coming!)
AsyncResultOption is here!
What's new?
- AsyncResultOption type alias, operators, and CE
- Kleisli (fish) operator for all error handling types