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
lift2function 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
OptionandResult - Dict.containsKey, IReadOnlyDictionary.containsKey
Generic functions
tapfunctionbind,try/findIndexandtry/findSliceIndexfunctions- Polyvariadic
memoizationN,curryN/uncurryNfunctions - Polyvariadic parsing functions (scanf family)
- More generic Foldable functions
maximumandminimumfor 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
choosedandnon - Add unary negation,
<=and>=Applicative Math operators - More operations on NonEmptyList, including conversion functions and a
nelbuilder - 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
liftimplementation 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:
zeroandemptyforDList - Fix: defaults for generic
zerofunction - Fix:
ofSeq/ofListfor IEnumerables - Fix:
_item(from Lens) - Added missing operations for Computation Expressions to some types, including Monad Transformers
- Fix and rename
optionalfunction toopt - Lens: fix
foldOfand addmaximumOf/minimumOf - Fix: generic
sumfunction works with any monoid - Fix
usefor strict builders - Fix some type inference problems
- Fix: generic
scansignature - Fix: bug in
<|>for Choice - Fix culture neutrality of
tryParsefunctions - ZipList without Equality
Changes / Deprecate
- Fix: swap type parameters of Bifunctor for
Choice/Result - Rename
liftA2tolift2 - Some functions deprecated in Validation and Extensions
- deprecating
Validation.biFoldBack