Skip to content

Releases: jamil7/FSharp.Prelude

Try source link

Try source link Pre-release
Pre-release

Choose a tag to compare

@jamil7 jamil7 released this 02 Feb 14:53
2db50bd

What's Changed

  • One namespace to rule them all! by @jamil7 in #13
  • Add Task extensions 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 TaskResult by @jamil7 in #15
  • Add TaskOption by @jamil7 in #20
  • Remove Internal.fs and 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?

Tasks are here? Pre-release
Pre-release

Choose a tag to compare

@jamil7 jamil7 released this 20 Jan 00:14

What's Changed

  • One namespace to rule them all! by @jamil7 in #13
  • Add Task extensions 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 TaskResult by @jamil7 in #15
  • Add TaskOption by @jamil7 in #20
  • Remove Internal.fs and 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!

Choose a tag to compare

@jamil7 jamil7 released this 17 Nov 15:17

What's Changed

Full Changelog: v4.0.3...v5.0.0

Support netstandard2.0

Choose a tag to compare

@jamil7 jamil7 released this 22 May 22:07
v4.0.3

Fix script again

Improvements! Improvements! Improvements!

Choose a tag to compare

@jamil7 jamil7 released this 06 May 20:12
13b5581

What's new?

  • ofThrowable in Result and Option modules to wrap functions that can throw in a Result or an Option respectively

What's changed?

  • Remove traverse and sequence function from Async because it already has it's own version of them
  • Remove parallel' from AsyncResult AsyncOption AsyncResultOption
  • Remove kleisli operator >=> and compose function
  • Rename traverseM to mapM
  • Rename traverseA to traverse
  • Rename travseParallelA to traverseParallel
  • Rename sequenceM to sequence
  • Use a tail recursive version of traverse and sequence to support early termination
  • Add tests for AsyncResult thanks @AntonStrand ❤️

List module, and a whole lot of changes!

Choose a tag to compare

@jamil7 jamil7 released this 11 Apr 17:42
f307a98

What's new?

  • List module, which has both traverse and sequence in monadic and applicative variants for all the monads in the lib
  • bimap function for Result, AsyncResult, and AsyncResultOption

What's changed?

  • AwaitTaskWithInnerException is now a static method in the extended Async module instead of a function. This is to be able to override the methods to accept Task, and Task<'a> while keeping the same name
  • traverse is removed from all the monad modules, and added to the List module in two variants as mentioned before

What's improved

  • sequence, and parallel' are kept for convenience and backward compatibility, but they now use traverseM instead of traverseA under the hood to terminate on first error

New functions, and lots of improvements!

Choose a tag to compare

@jamil7 jamil7 released this 07 Jan 17:49

What's new?

  • While loop in all builders
  • Async builder can bind tasks, and has MergeSources() added to enable the and! keyword in builders
  • Added traverse to error handling modules, and changed sequence's implementation to use traverse under the hood

What's improved?

  • Changed implementation of (<&>) in Async to use Async.StartChildAsTask instead of Async.StartChild, because of some weird stack overflow exceptions caused by latter
  • Changed implementation of (<&>) in AsyncOption, and AsyncResult to use the new and! keyword from the Async module
  • Changed implementation of parallel' in async error handling modules to use Async.Parallel, which has better performance than (<&>), and doesn't cause stack overflows

Add missing option, and result builders

Choose a tag to compare

@jamil7 jamil7 released this 17 Dec 16:41

What's new?

  • Added builder for option, and result, which were missing before (oops)

Sequential apply, and String!

Choose a tag to compare

@jamil7 jamil7 released this 16 Dec 22:37

What's new?

  • Added a sequential implementation for apply for 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!

Choose a tag to compare

@jamil7 jamil7 released this 12 Dec 19:03

What's new?

  • AsyncResultOption type alias, operators, and CE
  • Kleisli (fish) operator for all error handling types