category-extras
A meta-package documenting various packages inspired by category theory
Latest on Hackage: | 1.0.2 |
This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.
The obsolete category-extras
package provided a monolithic set
of modules designed for the use of category theory in Haskell.
It was exploded into more focused, self-contained packages
(listed in the dependencies below); this meta-package documents
where the code has gone. In addition to the core definitions,
the original category-extras library included several concrete
data types as instances of the core concepts. These are now
available from the following packages:
data-lens
data-lens-fd
data-lens-template
eq
representable-tries
streams
vector-instances
There are two overviews below. The first is a quick, dependency-order graphical overview of packages. The second is a more detailed (but very incomplete -- help me complete it!) overview mapping each module in the old package into its new location in the new hierarchy. Not all modules have exact analogs; where possible, similar alternatives are listed.
Control
Control.Allegory: use alternative profunctors-Data.Profunctor
Applicative
Control.Applicative.Parameterized
Arrow
Control.Arrow.BiKleisli
Control.Arrow.CoKleisli: comonad-Control.Comonad
Control.Category: base-Control.Category
Control.Category.Associative: categories-Control.Category.Associative
Control.Category.Braided: categories-Control.Category.Braided
Control.Category.Cartesian: categories-Control.Category.Cartesian
Control.Category.Cartesian.Closed: categories-Control.Category.Cartesian.Closed
Control.Category.Discrete: categories-Control.Category.Discrete
Control.Category.Distributive: categories-Control.Category.Distributive
Control.Category.Dual: categories-Control.Category.Dual
Control.Category.Hask: just use "(->)" instead of "Hask"
Control.Category.Monoidal: categories-Control.Category.Monoidal
Control.Category.Object: categories-Control.Categorical.Object
Control.Comonad: comonad-Control.Comonad
Control.Comonad.Cofree: free-Control.Comonad.Cofree
Control.Comonad.Coideal
Control.Comonad.Context: comonad-transformers-Control.Comonad.Trans.Store
Control.Comonad.Density: kan-extensions-Control.Comonad.Density
Control.Comonad.Exponent: comonad-transformers-Control.Comonad.Trans.Trace
Control.Comonad.Fix: comonad-Control.Comonad
Control.Comonad.HigherOrder
Control.Comonad.Indexed: indexed-Control.Comonad.Indexed
Control.Comonad.Parameterized
Control.Comonad.Pointer: comonad-extras-Control.Comonad.Store.Pointer
Control.Comonad.Reader: comonad-transformers-Control.Comonad.Trans.Env
Control.Comonad.Stream: use alternative package streams
Control.Comonad.Supply
Control.Comonad.Trans: comonad-transformers-Control.Comonad.Trans.Class
Control.Dyad
Control.Functor: bifunctors-Data.Bifunctor
Control.Functor.Adjunction: adjunctions-Data.Functor.Adjunction
Control.Functor.Adjunction.HigherOrder
Control.Functor.Algebra
Control.Functor.Algebra.Elgot: recursion-schemes-Data.Functor.Foldable
Control.Functor.Categorical: categories-Control.Categorical.Functor
Combinators
Control.Functor.Combinators.Biff
Control.Functor.Combinators.Const
Control.Functor.Combinators.Flip
Control.Functor.Combinators.Join
Control.Functor.Combinators.Lift
Control.Functor.Combinators.Of
Control.Functor.Composition: transformers-Data.Functor.Compose and comonad-transformers-Data.Functor.Composition
Control.Functor.Cone
Control.Functor.Contra: contravariant-Data.Functor.Contravariant
Control.Functor.Exponential: invariant-Data.Functor.Invariant
Control.Functor.Extras: distributive-Data.Distributive, semigroupoids-Data.Functor.Plus, and semigroupoids-Data.Functor.Alt
Control.Functor.Fix: recursion-schemes-Data.Functor.Foldable
Control.Functor.Full
Control.Functor.HigherOrder
Control.Functor.HigherOrder.Composition
Control.Functor.Indexed: indexed-Data.Functor.Indexed
Control.Functor.KanExtension: kan-extensions-Data.Functor.KanExtension
Control.Functor.KanExtension.Interpreter
Control.Functor.Lambek
Control.Functor.Limit
Control.Functor.Pointed: pointed-Data.Pointed and pointed-Data.Copointed
Control.Functor.Pointed.Composition: pointed-Data.Pointed and pointed-Data.Copointed
Control.Functor.Representable: representable-functors-Data.Functor.Representable
Control.Functor.Strong
Control.Functor.Yoneda: kan-extensions-Data.Functor.Yoneda
Control.Functor.Zap: keys-Data.Key
Control.Functor.Zip: keys-Data.Key
Monad
Control.Monad.Categorical: pointed-Data.Pointed and semigroupoids-Data.Functor.Bind
Control.Monad.Codensity: kan-extensions-Control.Monad.Codensity
Control.Monad.Either: either-Control.Monad.Trans.Either
Control.Monad.Free: free-Control.Monad.Free
Control.Monad.HigherOrder
Control.Monad.Hyper
Control.Monad.Ideal
Control.Monad.Indexed: indexed-Control.Monad.Indexed
Control.Monad.Indexed.Cont: indexed-extras-Control.Monad.Indexed.Cont
Control.Monad.Indexed.Fix: indexed-Control.Monad.Indexed.Fix
Control.Monad.Indexed.State: indexed-extras-Control.Monad.Indexed.State
Control.Monad.Indexed.Trans: indexed-Control.Monad.Indexed.Trans
Control.Monad.Parameterized
Morphism
Control.Morphism.Ana: recursion-schemes-Data.Functor.Foldable
Control.Morphism.Apo: recursion-schemes-Data.Functor.Foldable
Control.Morphism.Build
Control.Morphism.Cata: recursion-schemes-Data.Functor.Foldable
Control.Morphism.Chrono
Control.Morphism.Destroy
Control.Morphism.Dyna
Control.Morphism.Exo
Control.Morphism.Futu: recursion-schemes-Data.Functor.Foldable
Control.Morphism.Histo: recursion-schemes-Data.Functor.Foldable
Control.Morphism.Hylo: recursion-schemes-Data.Functor.Foldable
Meta
Control.Morphism.Meta.Erwig
Control.Morphism.Meta.Gibbons
Control.Morphism.Para: recursion-schemes-Data.Functor.Foldable
Control.Morphism.Postpro: recursion-schemes-Data.Functor.Foldable
Control.Morphism.Prepro: recursion-schemes-Data.Functor.Foldable
Control.Morphism.Span
Control.Morphism.Synchro
Control.Morphism.Universal
Control.Morphism.Zygo: recursion-schemes-Data.Functor.Foldable
Data
Data.Void: void-Data.Void