Version 1.1.0
You can find this release published on NuGet
New in 1.1.0
General / Features
- Fable compatibility for most extensions, generic comonadic operations and generic
>>=
operator - Generic Free Monad with Functor's Coproduct to allow easy composition
- Bifoldable and Bitraversable abstraction
- Generic
lift2
function made extensible and usable from F#5 preview's applicative CEs - Invariant Abstraction
- More integration with readonly collections
Extensions
- Add Nullable Dictionary and Lazy extensions module
- Extend Choice, Result, String, Task, Array, ResizeArray, Map, IDictionary, ReadOnly collections, IReadOnlyDictionary and Async extension modules
including:
- Some Choice and Result functions, including
Result.bindError
,Choice.bindChoice2Of2
- More Traverse/Sequence overloads for extensions
- Intersect functions for Map/Dictionaries
- Convenient conversion functions between
Option
andResult
- Dict.containsKey, IReadOnlyDictionary.containsKey
Generic functions
tap
functionbind
,try
/findIndex
andtry
/findSliceIndex
functions- Polyvariadic
memoizationN
,curryN
/uncurryN
functions - Polyvariadic parsing functions (scanf family)
- More generic Foldable functions
maximum
andminimum
for Foldable
Overloads for existing abstractions (Instances)
- IReadOnlyDictionary
- More ZipFunctor instances and better Unzip internals
- Task as ZipFunctor and Applicative
- Traverse and TraverseIndexed for Map<,>
- ZipList as Alternative
- Option as ZipFunctor
- Map and Dictionary as ZipFunctor
- Result and Choice as Semigroup and Alt
- Exceptions and AggregateExceptions as Semigroup
- OfSeq for IReadOnlyDictionary
- OfList for all same instances as OfSeq
- Async as ZipFunctor
- map and bind overloads for Nullable
Others
- More lens for Map and Set and new functions
choosed
andnon
- Add unary negation,
<=
and>=
Applicative Math operators - More operations on NonEmptyList, including conversion functions and a
nel
builder - Generic choice function made extensible and already working with semigroups
- Short-circuit mechanism for Traversable and Alternatives allowing infinite sequences
- Add functions gets and modify for stateful computations
- Improved
lift
implementation for Monad Transformers - Default Monoid for bool (xor)
- More Xml docs and type annotations
- More "clean signatures" supported
- Removed tuple size limitations
- Optimized Foldable/Collection generic functions by adding specific overloads
Fixes
- Improve performance for union on dictionaries and maps
- Lens with less constraints (speed up compile time)
- Fix:
zero
andempty
forDList
- Fix: defaults for generic
zero
function - Fix:
ofSeq
/ofList
for IEnumerables - Fix:
_item
(from Lens) - Added missing operations for Computation Expressions to some types, including Monad Transformers
- Fix and rename
optional
function toopt
- Lens: fix
foldOf
and addmaximumOf
/minimumOf
- Fix: generic
sum
function works with any monoid - Fix
use
for strict builders - Fix some type inference problems
- Fix: generic
scan
signature - Fix: bug in
<|>
for Choice - Fix culture neutrality of
tryParse
functions - ZipList without Equality
Changes / Deprecate
- Fix: swap type parameters of Bifunctor for
Choice
/Result
- Rename
liftA2
tolift2
- Some functions deprecated in Validation and Extensions
- deprecating
Validation.biFoldBack