Changelog of @hackage/data-diverse 4.7.1.0

Changelog

  • 4.7.0.1

    • Added Hashable instances for Many.
  • 4.7.0.0

    • Removed totally. Added CaseFunc1_
  • 4.6.0.0

    • Renamed definitely to totally.
  • 4.5.0.0

  • 4.4.0.0

    • Renamed Unconstrained to C0. Added C2, C3, C4, C5, C6.
  • 4.3.0.0

    • Renamed NoConstraint to Unconstrained
  • 4.2.0.0

    • Added CaseFunc1 to allow afmap of with Functor, etc.
    • Which is now also an instance of AFoldable.
    • Added NoConstraint which is useful for CaseFunc1 for unused constraints.
    • Added definitely.
  • 4.1.0.0

    • Removed zilch.
  • 4.0.0.0

    • Renamed prefix to consMany and postfix to snocMany.
  • 3.1.0.0

    • Removed Read instance for Which [] since it is uninhabitable.
    • xxxTag functions only rely on UniqueMember, not UniqueLabelMember
  • 3.0.0.0

    • Renamed fetch to grab to avoid conflicting with Haxl.
    • Removed unused type functions from removed splitting functions (Before,To,After,From,Length)
    • Added impossible' and ability to diversify and reinterpret Which '[Void]
    • Added zilch
    • Removed CanAppendUnique (not useful).
  • 2.0.1.0

    • Simplified type synonyms for Which. Added Reinterpreted constraint synonym.
  • 2.0.0.0

    • Breaking change: the prime (xxx') version of functions are now consistently the simpler or non-polymorphic version.
      • This is more consistent with Control.Lens as well.
      • This means the following are swapped:
        • replace, replace'
        • replaceL, replaceL'
        • replaceTag, replaceTag'
        • replaceN, replaceN'
        • amend, amend'
        • amendL, amendL'
        • amendN, amendN'
    • Breaking change: Removed proxy argument from fetchL/Tag/N, replaceXXX, selectL/Tag/N, amendXXX, pickL/Tag/N, trialL/Tag/N relying soley on TypeApplications and now requiring AllowAmbiguousTypes. The Proxy is also removed from the Read/Show serialized format.
    • Rearranged type variables in fetchL/N, replaceL/Tag/N, pickL/Tag/N, trialL/Tag/N type parameters, so the type variable ordering is consistently label, orig to change, smaller to larger, ie. l/n, x, y, xs
  • 1.3.0.0

    • Removed splitting operations added in 1.2.0.0
    • added xxxTag version of label operations that also automatically untags the field.
  • 1.2.0.3

    • PolyKinds for Which
    • Removed cabal upper bounds
  • 1.2.0.2

    • Added insert/remove for GHC < 8.2
    • Removed type functions UniqueMemberAt, MaybeUniqueMemberAt
  • 1.2.0.1

    • insert/remove is not available in GHC 8.2 onwards.
  • 1.2.0.0

    • Rerranged type variable for xxxL and xxxN functions so that the x inferrred from label l or index n is after proxy.
      • This affects fetch[L|N], replace[L|N], replace[L|N]', pick[L|N]
    • Depends on at least containers-0.5.8.2 for Data.Sequence.insertAt
    • Added splitting operations: split[Before|After][|L|N], inset[Before|After][|L|N], insert[Before|After][|L|N], remove[Before|After][|L|N]
    • Renamed type function Without to Remove to be consistent with new remove method.
  • 1.1.0.0

  • 1.0.0.1

    • Added CaseTypeable' as an example of polymorphic Case that doesn't change the type.
  • 1.0.0.0

    • The exposed api shouldn't break, but there are a lot of internal changes.
    • Added AFunctor which can map over the types in the 'Many' https://github.com/louispan/data-diverse/issues/5.
    • Added friendlier type synomyns Collect and CollectN for collect and collectN
    • Expose type of 'Collector' and 'CollectorN'
    • Replace type parameter r from Case typeclass with CaseResult type family.
    • Replaced CasesResult type function with IsAll and CasesResults type functions.
    • All CaseXxx type variables now end with r xs.
    • All CaseXxxN type variables now end with r n xs.
  • 0.11.0.0

    • Added impossible modelled after Data.Void.absurd https://github.com/louispan/data-diverse/issues/4
    • Removed zilch so Which '[] is uninhabited like Data.Void.Void, making 'impossible' safe to use.
    • Removed Monoid and changed Show, Read and Generic instances for Which '[] to be partial just like Data.Void.Void.
    • Added instance Reduce (Which '[]) (Switcher c '[] r), which follows from impossible.
  • 0.10.0.0

    • Renamed Switch to Switcher. Switch is now a type synonym for switch constraints
    • Added CasesResult type family to help infer the result of cases
    • Added Semigroup and Monoid instances for all Many xs.
    • Added Maybe versions of trial, and reinterpret
    • Renamed reinterpetN to reinterpretN'
    • Renamed impossible to zilch.
    • Allowed reintepreting and diversifying zilch to zilch
    • Removed zipped type variable from Amend constraints.
    • Removed r type variable from Reduce typeclass.
    • Rearranged type variables in fetch, replace, pick, trial, Diversify type parameters, so the type variable ordering is consistently smaller to larger, ie. x, xs, branch, tree
    • Added diversify' for allowing rearranging the types only.
  • 0.9.0.1

    • Fixed GHC 8.2.1 test failure due to changed TypeRep show instance.
  • 0.9.0.0

    • Breaking changes: Renamed Many.sliceL/R to Many.viewf/b
    • Renamed TypeLevel.Internal.MissingImpl to IsUniqueImpl.
    • Added postifx' with SnocUnique and append' with AppendUnique.
    • Added Semigroup & Monoid instances for Many '[] and Which '[]
    • Fixed GHC 8.2 compile error with importing GHC.Prim (Any)
  • 0.8.1.0

    • Added NFData instance for Which.
    • Forgot to expose Many.sliceL and Many.sliceR.
  • 0.8.0.0

    • Changed internal representation to (Data.Seq Any) for a further 2x append speedup.
    • Added NFData instance for Many.
  • 0.7.0.0

    • Removed NOINLINE pragmas.
    • Changed internal representation to (Int, Data.IntMap Any) for a 2.5x append speedup.
  • 0.6.0.0

    • Moved lens to data-diverse-lens
  • 0.5.0.0

    • Renamed type level functions module from Type to TypeLevel
  • 0.4.0.0

    • Removed Emit typeclass, breaking renames. Added label accessors.
  • 0.1.0.0

    • Initial version represented as (Int, Data.Map Int Any)