All Versions
Latest Version
Avg Release Cycle
33 days
Latest Release

Changelog History
Page 1

  • v2.0.2.0 Changes

    • Add Barbies.Bare.WearTwo type family to support having field-specific newtype wrappers that get applied only to the covered barbie (Lennart Spitzner).
  • v2.0.1.0 Changes

    • Add the DistributiveB class (Gergő Érdi).
  • v2.0.0.0 Changes

    • Builds with ghc 8.8, but drops support for ghc 8.0 and 8.2
    • Fix failure to derive TraversableB and ConstraintsB when using a type parameter not under the functor argument.
    • Fix failure to derive instances for types with arguments of kind k -> Type.
    • Fix failure to derive instances where functor arg is applied under a functor.
    • Derive instances for nested barbies occurring under two functors (Matthew Peddie).
    • Add foldMapC and bzipWithxC (Matthew Peddie).
    • Create a Barbies module, to contain wrappers, basic docs, etc. Data.Functor.Barbie contains only functor-related stuff.
    • Replace ProductB by ApplicativeB, with more lax laws. Now we can derive more instances than before, since arbitrary monoids are allowed as fields of the record.
    • Add Data.Functor.Transformer, operations for bi-barbies, including support for nesting.
    • Add a ErrorContainer wrapper, similar to Container but for Either e.
    • Remove ProductBC, since bdicts can now be defined in terms of ApplicativeB and ConstraintsB.
    • Remove functions deprecated on release 1.0
    • Deprecate Data.Functor.Prod, (/*) and (/*/).
    • Deprecate Data.Barbie, in favor of Data.Functor.Barbie.
    • Deprecate Data.Barbie.Bare, in favor of Barbies.Bare.
    • Deprecate Data.Barbie.Constraints, in favor of Barbies.Constraints.
  • v1.1.3.0 Changes

    July 06, 2019
    • Wear will raise a TypeError instead of getting stuck (Alex Peitsinis).
  • v1.1.2.1 Changes

    • Uploaded was broken (missing btraverseC)
  • v1.1.2.0 Changes

    March 31, 2019
    • Add traverseC (Ole Krüger).
    • Fix typo in ProductB laws (thanks to Ben Radford).
  • v1.1.1.0 Changes

    February 27, 2019
    • Add bmapC (Chris Penner).
  • v1.1.0.0 Changes

    December 19, 2018
    • Make all classes poly-kinded (#7): a barbie can now be any type parameterised by a type (k -> Type). In particular, a (higher-kinded) barbie is a type parameterised by a barbie. Thanks to Ole Krüger.

    • Add instances for functor transformers: Proxy, Const, Product, Sum and Compose (Ole Krüger).

  • v1.0.0.0 Changes

    September 29, 2018
    • Replaced ConstraintsOf in ConstraintsB by AllB, which allows constraints to be given on a instead of on f a. The ClassF class lets us specify constraints on f a by doing AllB (ClassF c f) b. ConstraintsOf becomes then a type alias. Credit goes to Csongor Kiss.

    • ConstraintsOf was ultimately deprecated in favour of AllBF, which is shorter and more consistent with AllB.

    • Renamed ConstraintsB(adjProof) to ConstraintsB(baddDicts).

    • Renamed ProofB(bproof) to ProductBC(bdicts).

    • Changed the way Wear works: now wear-types need to have an extra type parameter that controls whether they are Bare or Covered. This let us remove all the "magic" that was involved, in the sense that one couldn't have instances of FunctorB, etc, for wear-types wihtout using unsafeCoerce (this was true also for handwritten instances).

    • Added bsequence', a frequent specialisation of bsequence.

    • Added bfoldMap.

    • Added buniqC and bmempty.

    • Improved the internal instance derivation mechanism. We no longer need unsafeCoerce and the code should be in general indistinguishible from hand-written instances (not currently verified).

    • Fixed support for barbie-types that have additional type parameters (#5).

  • v0.1.4.0 Changes

    • Added btraverse_

    • Added the trivial Void and Unit barbies