The category-extras package

[Tags:bsd3, library]

A vastly expanded collection of modules implementing various ideas from category theory. Notable bits include: comonads, adjunctions, functor fixedpoints and various recursion operaters ala /Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire/.

Properties

Versions 0.1, 0.2, 0.44.1, 0.44.2, 0.44.4, 0.50.1, 0.50.3, 0.51.0, 0.51.2, 0.51.3, 0.52.0, 0.52.1, 0.52.3, 0.53.0, 0.53.1, 0.53.3, 0.53.4, 0.53.5, 0.53.5.1, 1.0, 1.0.1, 1.0.2
Dependencies array, base, ghc, mtl (>=1.1) [details]
License BSD3
Copyright Copyright (C) 2008 Edward A. Kmett Copyright (C) 2004--2008 Dave Menendez Copyright (C) 2007 Iavor Diatchki
Author Edward A. Kmett, Dave Menendez
Maintainer Edward A. Kmett <ekmett@gmail.com>
Stability experimental
Category Control, Monads, Comonads
Home page http://comonad.com/reader/
Uploaded Thu May 22 06:38:06 UTC 2008 by EdwardKmett
Distributions NixOS:1.0.2
Downloads 5071 total (82 in the last 30 days)
Votes
0 []
Status Docs not available [build log]
All reported builds failed as of 2015-12-11 [all 6 reports]

Modules

  • Control
    • Applicative
      • Control.Applicative.Parameterized
    • Arrow
      • Control.Arrow.BiKleisli
      • Control.Arrow.CoKleisli
    • Control.Category
      • Control.Category.Associative
      • Control.Category.Braided
      • Control.Category.Cartesian
        • Control.Category.Cartesian.Closed
      • Control.Category.Distributive
      • Control.Category.Dual
      • Control.Category.Hask
      • Control.Category.Monoidal
      • Control.Category.Object
    • Control.Comonad
      • Control.Comonad.Cofree
      • Control.Comonad.Coideal
      • Control.Comonad.Context
      • Control.Comonad.Fix
      • Control.Comonad.HigherOrder
      • Control.Comonad.Indexed
      • Control.Comonad.Parameterized
      • Control.Comonad.Pointer
      • Control.Comonad.Reader
      • Control.Comonad.Supply
    • Functor
      • Control.Functor.Adjunction
        • Control.Functor.Adjunction.HigherOrder
      • Control.Functor.Algebra
        • Control.Functor.Algebra.Elgot
      • Control.Functor.Categorical
      • 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
      • Control.Functor.Contra
      • Control.Functor.Exponential
      • Control.Functor.Extras
      • Control.Functor.Fix
      • Control.Functor.Full
      • Control.Functor.HigherOrder
        • Control.Functor.HigherOrder.Composition
      • Control.Functor.Indexed
      • Control.Functor.KanExtension
      • Control.Functor.Limit
      • Control.Functor.Pointed
        • Control.Functor.Pointed.Composition
      • Control.Functor.Representable
      • Control.Functor.Strong
      • Control.Functor.Yoneda
      • Control.Functor.Zap
      • Control.Functor.Zip
    • Monad
      • Control.Monad.Either
      • Control.Monad.Free
      • Control.Monad.HigherOrder
      • Control.Monad.Hyper
      • 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
      • Control.Morphism.Apo
      • Control.Morphism.Cata
      • Control.Morphism.Chrono
      • Control.Morphism.Dyna
      • Control.Morphism.Futu
      • Control.Morphism.Histo
      • Control.Morphism.Hylo
      • Control.Morphism.Meta
      • Control.Morphism.Para
      • Control.Morphism.Universal
      • Control.Morphism.Zygo
  • Data
    • Data.Void

Flags

NameDescriptionDefaultType
arrowsubclassescategoryIndicates Control.Category is available and that the standard library has its arrows subclass Control.Category.CategoryEnabledAutomatic
redefinableeithermonadIndicates Control.Monad.Error isn't baked into the PreludeEnabledAutomatic
typefamiliesSupport for Type Families is available to usEnabledAutomatic
optimizeEnable optimizationsDisabledAutomatic

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

For package maintainers and hackage trustees