name: category-extras
category: Control, Monads, Comonads
version: 1.0
license: BSD3
cabal-version: >= 1.2
license-file: LICENSE
author: Edward A. Kmett
maintainer: Daniel Wagner <daniel@wagner-home.com>
stability: provisional
homepage: http://comonad.com/reader/
synopsis: A meta-package documenting various packages inspired by category theory
copyright: Copyright (C) 2012 Daniel Wagner,
Copyright (C) 2008 Edward A. Kmett,
Copyright (C) 2004--2008 Dave Menendez,
Copyright (C) 2007 Iavor Diatchki
description: 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
.
A quick overview of the packages in dependency order is
available from
<http://dmwit.com/category-extras/dependencies.png>. 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 follows. 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
> 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
> 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
> 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
> Control.Monad.Indexed.Cont
> Control.Monad.Indexed.Fix
> Control.Monad.Indexed.State
> 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
build-type: Simple
library
build-depends:
adjunctions,
bifunctors,
categories,
comonad,
comonad-extras,
comonads-fd,
comonad-transformers,
contravariant,
distributive,
either,
free,
groupoids,
kan-extensions,
keys,
monad-products,
pointed,
profunctor-extras,
profunctors,
recursion-schemes,
reducers,
representable-functors,
representable-profunctors,
semigroupoid-extras,
semigroupoids,
semigroups,
void