category-extras

A meta-package documenting various packages inspired by category theory

http://comonad.com/reader/

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.

BSD-3-Clause licensed by Edward A. Kmett
Maintained by Daniel Wagner

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