packages feed

constrained-categories-0.2.0.0: constrained-categories.cabal

Name:                constrained-categories
Version:             0.2.0.0
Category:            control
Synopsis:            Constrained clones of the category-theory type classes, using ConstraintKinds.
Description:         Haskell has, and makes great use of, powerful facilities from category
                     theory – basically various variants of functors.
                     .
                     However, all those are just endofunctors in Hask, the category of
                     all Haskell types with functions as morphisms. Which is sufficient
                     for container / control structures that you want to be able to handle 
                     any type of data, but otherwise it's a bit limiting, seeing as 
                     there are (in maths, science etc.) many categories that cannot properly
                     be represented this way. Commonly used libraries such as 
                     <http://hackage.haskell.org/package/vector-space> thus make 
                     little notion of the fact that the objects they deal with actually
                     form a category, instead defining just specialised versions of
                     the operations.
                     .
                     This library generalises functors etc. to a much wider class of
                     categories, by allowing for constraints on objects (so these can have
                     extra properties required). At the same time, we try to keep as close
                     as possible to the well-known Haskell type class hierarchies rather
                     than exactly adopting the mathematicians' notions.
                     .
                     Consider the README file, the examples, and/or the documentation to
                     "Control.Category.Constrained" for how to make use of this.
License:             GPL-3
License-file:        COPYING
Author:              Justus Sagemüller
Maintainer:          (@) sagemueller $ geo.uni-koeln.de
Homepage:            https://github.com/leftaroundabout/constrained-categories
Build-Type:          Simple
Cabal-Version:       >=1.10

source-repository head
  type: git
  location: git://github.com/leftaroundabout/constrained-categories.git

Library
  Default-Language:   Haskell2010
  Build-Depends:      base>=4.6 && <5
                      , tagged
                      , void
  Default-Extensions: ConstraintKinds
                      TypeFamilies
                      FlexibleInstances
                      UndecidableInstances
                      Trustworthy
  Exposed-modules:    Control.Category.Constrained
                      Control.Functor.Constrained
                      Control.Applicative.Constrained
                      Control.Arrow.Constrained
                      Control.Monad.Constrained
                      Control.Category.Hask
                      Control.Category.Constrained.Prelude
                      Data.Foldable.Constrained
                      Data.Traversable.Constrained