Changelog for kan-extensions-5.2.7
5.2.7 [2025.06.17]
- Make the implementations of
(.>)and(*>)forData.Functor.Yonedamore stack-efficient.
5.2.6 [2024.05.04]
-
Drop support for GHC 8.2 and earlier.
-
Generalize instances in
Control.Monad.Codensityto be of the form:instance (f ~~ f', MonadFail f') => MonadFail (Codensity (f :: k -> TYPE rep))This avoids having to constrain
k ~ Typeandrep ~ LiftedRep, which could potentially harm type inference. -
Explicitly implement
liftA2in theApplicativeinstance forData.Functor.Day.Curried. -
Add an
Adjunctioninstance forData.Functor.Day. -
Add
AdjunctionandDivisibleinstances forData.Functor.Contravariant.Day. -
Add an
Applyinstance forData.Functor.Day.Curried.
5.2.5 [2022.06.26]
- Only require a
Functorconstraint in theEqandOrdinstances forCoyonedawhen building againsttransformers-0.4.*.
5.2.4 [2022.05.07]
- Allow building with
transformers-0.6.*andmtl-2.3.*.
5.2.3 [2021.07.27]
- Add
shiftandresettoControl.Monad.Codensity.
5.2.2 [2021.02.17]
- Add
hoistCoyonedatoData.Functor.Contravariant.Coyoneda.
5.2.1 [2020.10.01]
- Allow building with GHC 9.0.
5.2 [2018.07.03]
- Make
Codensitylevity polymorphic. - Add the
Data.Functor.Invariant.Daymodule, which combines the covariant and contravariant versions ofDay. As a result,kan-extensionsnow depends on theinvariantpackage. - Add a
wrapCodensityfunction. - More efficient
Eq1,Ord1, andAdjunctioninstances forCoyoneda. - Add
INLINEpragmas on more functions. - Allow building with
containers-0.6.
5.1 [2018.01.28]
- Make
Density,Codensity,KanandLanpolykinded. - Add
Eq1,Ord1,Read1andShow1instances forCoyonedaandYoneda. - Change contexts of
EqandOrdinstances ofCoyonedaandYoneda(and theShowinstance forCoyoneda) to require lifted class instances, e.g.Eq1 f, Eq a. - Allow
free-5.
5.0.2
- Added
hoistCoyoneda
5.0.1
- Removed some redundant constraints
5
- Move
Data.Functor.Kan.RifttoData.Functor.Day.Curried
4.2.3
- Builds clean on GHC 7.10
4.2.2
semigroupoids5 support
4.2.1
- Add
liftRiftandlowerRift
4.2
- Remove pointed dependency
4.1.1
- Added
Applicativeinstance forDay - Added
Typeableinstance forCodensity
4.1.0.1
- Added
taggeddependency
4.1
- Moved co- and contra- variant
Dayconvolution fromcontravariantto here. Day convolution is intimately connected toRift.
4.0.3
- Added
liftCoT0M,liftCoT1M,diteranddctrlMfor usingCoT w mto model a state machine with states inwand effects inm.
4.0.2
- Made fixes necessary to work around changes in
ImpredicativeTypesfor GHC 7.8.1rc2
4.0.1
- Bug fix so we can compile on GHC 7.4
4.0
- Removed
keysdependency - Now compatible with
adjunctions4.0
3.7
- Moved all the
Yonedavariants around again. - Improved haddocks
3.6.2
- Added
Data.Functor.Contravariant.Yonedato complete the set of Yoneda embeddings/reductions.
3.6.1
- Added several missing isomorphisms
3.6
instance Monad m => MonadSpec (Yoneda m)
3.5.1
- Fixed a bug in the signature for
composedRepToCodensity.
3.5
- More combinators for
Rift/Lift. - Added combinators for working with representable functors rather than just adjoint functors.
- Split
Data.Functor.KanExtensionintoData.Functor.Kan.RanandData.Functor.Kan.Lan - Split
Data.Functor.KanLiftintoData.Functor.Kan.RiftandData.Functor.Kan.Lift - Moved from
Data.Functor.Yoneda.ContravarianttoData.Functor.Yoneda.Reductionadopting terminology from Todd Trimble. - Added various missing isomorphisms.
- Greatly improved the Haddocks for this package stating laws and derivations where we can (especially for 'Rift' and 'Ran').
3.3
- Rift is now
Applicative. Addedrap.
3.2
- Added right and left Kan lifts under
Data.Functor.KanLift. - Decreased reliance on the
Compositionclass where unnecessary in the API
3.1.2
- Marked modules
Trustworthyas required forSafeHaskellin the presence of these extensions.
3.1.1
- Refactored build system
- IRC build-bot notification
- Removed upper bounds on dependencies on my other packages
3.1
- Moved
Control.Monad.Free.Churchover to thefreepackage instead and removed it fromkan-extensions