0.1.1
- Define
Invariant
type class
- Functors composition is just a type synonymous
Control.Functor.Composition
-> Control.Functor
0.1.2
- Define
Adjoint
type class
Control.Functor
-> Control.Functor.Composition
- Move all composition-based classes into Composition module
- Define laws for all classes, except
Pointable
, Exclusive
and Extractable
0.1.3
- Define
I
, II
and III
to able make instances
- Add
Identity
and Constant
cases of functors
- Weaken
Adjoint
type class requirements
- Move all newtype wrappers to
Basic
module
0.1.4
- Add
Kleisli
and Cokleisli
methods to Bindable
and Extendable
classes
- Create supermodule
Control.Functor
that exports everything from this library
- Remove
Composition
folder from classes modules
- Move
Basic
functors to Data.Functor
module
0.1.5
Control.Functor.Composition
-> Control.Variance
- Define
Yoneda
lemma as datatype
- Define
Liftable
and Lowerable
classes
Control.Transformation.Natural
-> Data.Functor.Transformation.Natural
- Sort modules in
Control
by variance, on composition and transformations
0.1.6
- Define left and right
Kan
extensions, Codensity
- Define open product type (
Data.Functor.Product
)
- Define
Straight
and Opposite
arrow types
- Add
Bi
-, Tri
-, Quad
- covariant and contravariant functors
- Define
Provariant
and Orpvariant
0.1.7
- Redefine
Kan
extensions: make them newtypes without existential variables
- Redefine
Codensity
: make newtype without existential variables
- Define
Product
instance of Comonad
- Define type operators for
Straight
and Opposite
datatypes
- Fix functors composition type operator (
:.:
)