name: category-extras
category: Control, Monads, Comonads
version: 0.53.4
license: BSD3
cabal-version: >= 1.2
license-file: LICENSE
author: Edward A. Kmett
maintainer: Edward A. Kmett <ekmett@gmail.com>
stability: experimental
homepage: http://comonad.com/reader/
synopsis: Various modules and constructs inspired by category theory
copyright: Copyright (C) 2008 Edward A. Kmett,
Copyright (C) 2004--2008 Dave Menendez,
Copyright (C) 2007 Iavor Diatchki
description: A vastly expanded collection of modules implementing various
ideas from category theory. Notable bits include: comonads,
adjunctions, and various recursion schemes ala
/Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire/.
build-type: Simple
flag ArrowSubclassesCategory
description: Indicates Control.Category is available and that the standard library has
its arrows subclass Control.Category.Category
default: True
flag TypeFamilies
description: Support for Type Families is available to us
flag Optimize
description: Enable optimizations
default: False
library
build-depends: mtl >= 1.1
extensions:
CPP,
EmptyDataDecls,
FlexibleContexts,
FlexibleInstances,
FunctionalDependencies,
MultiParamTypeClasses,
TypeOperators,
TypeSynonymInstances
UndecidableInstances,
ExistentialQuantification,
Rank2Types
other-modules:
Control.Functor.Internal.Adjunction,
Control.Functor.Internal.Ideal
exposed-modules:
Control.Category.Monoidal,
Control.Category.Cartesian,
Control.Category.Cartesian.Closed,
Control.Applicative.Parameterized,
Control.Allegory,
Control.Arrow.BiKleisli,
Control.Arrow.CoKleisli,
Control.Category.Associative,
Control.Category.Braided,
Control.Category.Discrete,
Control.Category.Distributive,
Control.Category.Dual,
Control.Category.Hask,
Control.Category.Object,
Control.Comonad,
Control.Comonad.Cofree,
Control.Comonad.Context,
Control.Comonad.Coideal,
Control.Comonad.Density,
Control.Comonad.Exponent,
Control.Comonad.Fix,
Control.Comonad.Indexed,
Control.Comonad.HigherOrder,
Control.Comonad.Parameterized,
Control.Comonad.Pointer,
Control.Comonad.Reader,
Control.Comonad.Stream,
Control.Comonad.Supply,
Control.Comonad.Trans,
Control.Dyad,
Control.Functor,
Control.Functor.Adjunction,
Control.Functor.Adjunction.HigherOrder,
Control.Functor.Algebra,
Control.Functor.Algebra.Elgot,
Control.Functor.Categorical,
Control.Functor.Cone,
Control.Functor.Composition,
Control.Functor.Combinators.Const,
Control.Functor.Combinators.Lift,
Control.Functor.Combinators.Join,
Control.Functor.Combinators.Biff,
Control.Functor.Combinators.Flip,
Control.Functor.Combinators.Of,
Control.Functor.Contra,
Control.Functor.Extras,
Control.Functor.Exponential,
Control.Functor.Fix,
Control.Functor.Full,
Control.Functor.HigherOrder,
Control.Functor.HigherOrder.Composition,
Control.Functor.Indexed,
Control.Functor.KanExtension,
Control.Functor.KanExtension.Interpreter,
Control.Functor.Lambek,
Control.Functor.Limit,
Control.Functor.Pointed,
Control.Functor.Pointed.Composition,
Control.Functor.Representable,
Control.Functor.Strong,
Control.Functor.Yoneda,
Control.Functor.Zip,
Control.Functor.Zap,
Control.Monad.Categorical,
Control.Monad.Codensity,
Control.Monad.Free,
Control.Monad.HigherOrder,
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,
Control.Monad.Hyper,
Control.Monad.Either,
Control.Morphism.Ana,
Control.Morphism.Apo,
Control.Morphism.Build,
Control.Morphism.Cata,
Control.Morphism.Chrono,
Control.Morphism.Destroy,
Control.Morphism.Dyna,
Control.Morphism.Exo,
Control.Morphism.Futu,
Control.Morphism.Histo,
Control.Morphism.Hylo,
Control.Morphism.Meta.Gibbons,
Control.Morphism.Meta.Erwig,
Control.Morphism.Para,
Control.Morphism.Postpro,
Control.Morphism.Prepro,
Control.Morphism.Span,
Control.Morphism.Synchro,
Control.Morphism.Universal,
Control.Morphism.Zygo,
Data.Void
hs-source-dirs: src
ghc-options: -Wall
if flag(ArrowSubclassesCategory)
build-depends: ghc >= 6.9, base > 3, array
cpp-options: -D__ARROW_SUBCLASSES_CATEGORY__=1
else
build-depends: ghc < 6.9, base, array
hs-source-dirs: pre-6.9
exposed-modules: Control.Category
if flag(TypeFamilies)
extensions: TypeFamilies
cpp-options: -D__TYPE_FAMILIES__=1
if flag(Optimize)
ghc-options: -funbox-strict-fields -O2