Skip to content

Version 1.1.0

Compare
Choose a tag to compare
@wallymathieu wallymathieu released this 14 Apr 19:06

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 and Result
  • Dict.containsKey, IReadOnlyDictionary.containsKey

Generic functions

  • tap function
  • bind, try/ findIndex and try / findSliceIndex functions
  • Polyvariadic memoizationN, curryN / uncurryN functions
  • Polyvariadic parsing functions (scanf family)
  • More generic Foldable functions
  • maximum and minimum 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 and non
  • 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 and empty for DList
  • 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 to opt
  • Lens: fix foldOf and add maximumOf / 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 to lift2
  • Some functions deprecated in Validation and Extensions
  • deprecating Validation.biFoldBack