Skip to content

Releases: cptjazz/Bebop.Monads

v2.2.0

14 Feb 13:49
Compare
Choose a tag to compare

Features

  • Provide a way to easily hoist Nullable`1 instances to a Maybe`1:
var x = (Nullable<int>) 77;
var m = Maybe.From(x); //  <77>

var y = default(Nullable<int>);
var n = Maybe.From(y); //  <Nothing>

v2.1.0

15 Nov 13:47
Compare
Choose a tag to compare

Features

  • New exceptional monad Try`1 (and acompanying AsyncTry`1.)
  • Enable SourceLink support

v2.0.0

29 Jun 21:28
Compare
Choose a tag to compare

Features (breaking)

  • Complete overhaul of the async binding functions. MapAsync(..) is now fully "stackable" and only requires one terminal await, and
  • Methods previously marked as obsolete were removed.

Features (non-breaking)

  • Various performance optimizations.

v1.4.0

29 Apr 10:05
8eebd8f
Compare
Choose a tag to compare

Features

  • Introduced IMaybe.Value and IMaybe1.Valueand obsoleted the.GetValueOrDefault(..)` infrastructure methods.
  • Introduced separate MapAsync(..) methods for Task and ValueTask; obsoleted the Map(..) overload with the async binder
  • Introduced OrElseAsync(..) methods for Task and ValueTask to support async creation of alternative values.

v1.3.0

01 Dec 09:47
Compare
Choose a tag to compare

Bugfixes

  • The interface IMaybe<out T> was not inheriting from IMaybe

Features

  • Added mechanisms to non-generically create instances of IMaybe that are runtime down-castable to Maybe<T>.

v1.2.0

19 Oct 16:22
Compare
Choose a tag to compare

Features

  • Added ToString() overloads to Maybe

v1.1.1

24 Aug 15:34
Compare
Choose a tag to compare

Bugfixes

  • GetHashCode() on Maybe<T> and on the underlying non-generic Maybe-type were not in all cases yielding the same result.

v1.1.0

21 Aug 19:26
Compare
Choose a tag to compare

Bugfixes

  • Fixed issues with Equals() on Maybe.Nothing<ValueType>() and a Maybe constructed via Maybe.From<ValueType>(default).
  • Fixed equality issues between the generic/non-generic inheritance chain.

Features

  • Provide implicit conversion from T to Maybe<T> where
    • a non-null value of T maps to Maybe.From<T>(value), and
    • a null value of T maps to Maybe.Nothing<T>().

v1.0.0

16 Aug 21:33
9132354
Compare
Choose a tag to compare

Initial release of this library. Currently, an implementation of Maybe<T> is provided.

https://www.nuget.org/packages/Bebop.Monads/1.0.0