packages feed

monoidal-functors-0.3.0.0: monoidal-functors.cabal

cabal-version:       3.0
name:                monoidal-functors
category:            Control, Categories
version:             0.3.0.0
license:             MIT
license-file:        LICENSE
author:              Solomon Bothwell & Asad Saeeduddin
maintainer:          ssbothwell@gmail.com
stability:           experimental
synopsis:            Monoidal Functors Library
homepage:            http://github.com/solomon-b/monoidal-functors
build-type:          Simple
extra-doc-files:     CHANGELOG.md
description:         A typeclass hierarchy for monoidal functors.
tested-with:
    GHC == 9.2.8,
    GHC == 9.4.8,
    GHC == 9.6.7,
    GHC == 9.8.4,
    GHC == 9.10.3,
    GHC == 9.12.4,
source-repository head
  type:     git
  location: https://github.com/solomon-b/monoidal-functors

--------------------------------------------------------------------------------

common common-extensions
  default-extensions:
    ConstraintKinds
    DeriveFunctor
    DerivingVia
    FunctionalDependencies
    FlexibleInstances
    FlexibleContexts
    GeneralizedNewtypeDeriving
    ImportQualifiedPost
    InstanceSigs
    KindSignatures
    LambdaCase
    MultiParamTypeClasses
    NoImplicitPrelude
    QuantifiedConstraints
    RankNTypes
    ScopedTypeVariables
    StandaloneDeriving
    TupleSections
    TypeApplications
    TypeOperators
    UndecidableInstances

--------------------------------------------------------------------------------

library
  import: common-extensions
  build-depends:
    base                          >= 4.12 && < 5,
    bifunctors                    >= 5.6.1 && < 6,
    kindly-functors               >= 0.2 && < 0.3,
    tagged                        >= 0.8.7 && < 0.10,
    transformers                  >= 0.5.6 && < 0.7,
    comonad                       >= 5.0.8 && < 6,
    distributive                  >= 0.6.2 && < 0.7,
    contravariant                 >= 1.5.5 && < 1.6,
    profunctors                   >= 5.6.2 && < 5.7,
    semialign                     >= 1.3 && < 1.5,
    semigroupoids                 >= 6.0.0 && < 6.1,
    these                         >= 1.2 && < 1.3,
    mtl                           >= 2.2.2 && < 2.4,
    kind-generics                 >= 0.5 && < 0.6,

  exposed-modules:
    Control.Category.Tensor
    Control.Category.Cartesian
    Control.Category.Tensor.Expr
    Data.Bifunctor.BiInvariant
    Data.Bifunctor.Module
    Data.Bifunctor.Monoidal
    Data.Bifunctor.Monoidal.Specialized
    Data.Bifunctor.Rank2.Monoidal
    Data.Bifunctor.Rank2.Traversable
    Data.Functor.Invariant
    Data.Functor.Module
    Data.Functor.Monoidal
    Data.Functor.Monoidal.Generic
    Data.Functor.Monoidal.Specialized
    Data.Functor.Rank2.Monoidal
    Data.Functor.Rank2.Traversable
    Data.Trifunctor.Module
    Data.Trifunctor.Monoidal
    Data.Trifunctor.Rank2.Traversable

  ghc-options:
    -Wall
    -Wcpp-undef
    -Widentities
    -Wincomplete-record-updates
    -Wincomplete-uni-patterns
    -Wpartial-fields
    -Werror=missing-home-modules
    -Wno-star-is-type

  hs-source-dirs: src

  default-language: Haskell2010

--------------------------------------------------------------------------------

library laws
  import:            common-extensions
  visibility:        public
  hs-source-dirs:    laws
  exposed-modules:   Control.Category.Cartesian.Laws
                     Control.Category.Tensor.Laws
                     Data.Bifunctor.Monoidal.Laws
                     Data.Functor.Monoidal.Laws
  other-modules:     Control.Category.Laws.Internal
  build-depends:
    base,
    monoidal-functors,
    hedgehog                      >= 1.5 && < 1.6,
    hedgehog-classes              >= 0.2 && < 0.3,
    profunctors,
  default-language:  Haskell2010

--------------------------------------------------------------------------------

executable co-log
  import: common-extensions
  hs-source-dirs:    examples/co-log
  main-is:           Main.hs
  build-depends:
    base,
    bifunctors,
    contravariant,
    distributive,
    monoidal-functors,
    mtl,
  default-language: Haskell2010

--------------------------------------------------------------------------------

test-suite spec
  import:            common-extensions
  type:              exitcode-stdio-1.0
  hs-source-dirs:    test
  main-is:           Main.hs
  other-modules:     Control.Category.CartesianSpec
                     Control.Category.LawsSupport
                     Control.Category.TensorSpec
                     Data.Bifunctor.Monoidal.LawsSpec
                     Data.Bifunctor.Rank2.MonoidalSpec
                     Data.Bifunctor.Rank2.TraversableSpec
                     Data.Functor.Monoidal.GenericSpec
                     Data.Functor.Monoidal.LawsSpec
                     Data.Functor.Rank2.MonoidalSpec
                     Data.Functor.Rank2.TraversableSpec
                     Data.Trifunctor.Rank2.TraversableSpec
  build-depends:
    base,
    bifunctors,
    contravariant,
    distributive,
    hedgehog,
    hedgehog-classes,
    kind-generics,
    kind-generics-th,
    kindly-functors,
    monoidal-functors,
    monoidal-functors:laws,
    profunctors,
    tagged,
    these,
    transformers,
  ghc-options:
    -Wall
  default-language: Haskell2010