constrained-0.1: constrained.cabal
cabal-version:
2.0
name:
constrained
version:
0.1
synopsis:
Generalization of standard Functor, Foldable, and Traversable classes
description:
This package generalizes familiar 'Functor', 'Foldable' and 'Traversable'
for the case when a functorial type of kind Type -> Type imposes certain constraints
on what can be put in. E.g. 'Set' can only deal with types that are an instance of 'Ord'
and therefore cannot be made an instance of 'Functor'. But it can be made
an instance of a constrained functor with a similar interface that this
package provides.
license:
BSD2
license-file:
LICENSE
author:
Sergey Vinokurov
maintainer:
Sergey Vinokurov <serg.foo@gmail.com>
tested-with:
GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.5, GHC == 8.8.1
category: Data
build-type:
Simple
library
exposed-modules:
Data.Constrained
Data.Foldable.Constrained
Data.Functor.Constrained
Data.Traversable.Constrained
hs-source-dirs:
src
build-depends:
-- -- 7.4.1 instroduced ConstraintKind - base 4.5
-- base >= 4.5
-- 4.8 introduced extra functions in Foldable
base >= 4.8 && < 5
default-language:
Haskell2010
ghc-options:
-Wall
-fwarn-name-shadowing
-fno-warn-type-defaults
if impl(ghc >= 8.0)
ghc-options:
-Wall-missed-specialisations
-Wcompat
-Whi-shadowing
-Widentities
-Wincomplete-record-updates
-Wincomplete-uni-patterns
-Wmissing-exported-signatures
if impl(ghc >= 8.2)
ghc-options:
-Wcpp-undef
-Wmissing-home-modules
-Wunbanged-strict-patterns