BSD-3-Clause licensed by Edward A. Kmett
This version can be pinned in stack with:kan-extensions-5.0.2@sha256:12de0fdcbff3f4fa7d0da89da88709cc8d6d14b7e3f9fe5f007fc011285e17af,1972
Module documentation for 5.0.2
- Control
- Control.Comonad
 
- Control.Monad
 
 
- Data
 
Depends on 13 packages
(full list with versions):
adjunctions, 
array, 
base, 
comonad, 
containers, 
contravariant, 
distributive, 
fail, 
free, 
mtl, 
semigroupoids, 
tagged, 
transformers kan-extensions
 
This package provides tools for working with various Kan extensions and Kan lifts in Haskell.
Among the interesting bits included are:
- Right and left Kan extensions (
Ran and Lan) 
- Right and left Kan lifts (
Rift and Lift) 
- Multiple forms of the Yoneda lemma (
Yoneda) 
- The 
Codensity monad, which can be used to improve the asymptotic complexity of code over free monads (Codensity, Density) 
- A “comonad to monad-transformer transformer” that is a special case of a right Kan lift. (
CoT, Co) 
Contact Information
Contributions and bug reports are welcome!
Please feel free to contact me through github or on the #haskell IRC channel on irc.freenode.net.
-Edward Kmett
5.0.2
5.0.1
- Removed some redundant constraints
 
5
- Move 
Data.Functor.Kan.Rift to Data.Functor.Day.Curried 
4.2.3
4.2.2
4.2.1
- Add 
liftRift and lowerRift 
4.2
- Remove pointed dependency
 
4.1.1
- Added 
Applicative instance for Day 
- Added 
Typeable instance for Codensity 
4.1.0.1
4.1
- Moved co- and contra- variant 
Day convolution from contravariant to here. Day convolution is intimately connected to Rift. 
4.0.3
- Added 
liftCoT0M, liftCoT1M, diter and dctrlM for using CoT w m to model a state machine with states in w and effects in m. 
4.0.2
- Made fixes necessary to work around changes in 
ImpredicativeTypes for GHC 7.8.1rc2 
4.0.1
- Bug fix so we can compile on GHC 7.4
 
4.0
- Removed 
keys dependency 
- Now compatible with 
adjunctions 4.0 
3.7
- Moved all the 
Yoneda variants around again. 
- Improved haddocks
 
3.6.2
- Added 
Data.Functor.Contravariant.Yoneda to 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.KanExtension into Data.Functor.Kan.Ran and Data.Functor.Kan.Lan 
- Split 
Data.Functor.KanLift into Data.Functor.Kan.Rift and Data.Functor.Kan.Lift 
- Moved from 
Data.Functor.Yoneda.Contravariant to Data.Functor.Yoneda.Reduction adopting 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. Added rap. 
3.2
- Added right and left Kan lifts under 
Data.Functor.KanLift. 
- Decreased reliance on the 
Composition class where unnecessary in the API 
3.1.2
- Marked modules 
Trustworthy as required for SafeHaskell in 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.Church over to the free package instead and removed it from kan-extensions