barbies v1.0.0.0 Release Notes

Release Date: 2018-09-29 // over 5 years ago
    • 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).