packages feed

selective-0.5: selective.cabal

name:          selective
version:       0.5
synopsis:      Selective applicative functors
license:       MIT
license-file:  LICENSE
author:        Andrey Mokhov <andrey.mokhov@gmail.com>, github: @snowleopard
maintainer:    Andrey Mokhov <andrey.mokhov@gmail.com>, github: @snowleopard
copyright:     Andrey Mokhov, 2018-2021
homepage:      https://github.com/snowleopard/selective
bug-reports:   https://github.com/snowleopard/selective/issues
category:      Control
build-type:    Simple
cabal-version: 1.18
tested-with:   GHC==9.0, GHC==8.10, GHC==8.8, GHC==8.6, GHC==8.4, GHC==8.2, GHC==8.0
description:   Selective applicative functors: declare your effects statically,
               select which to execute dynamically.
               .
               This is a library for /selective applicative functors/, or just
               /selective functors/ for short, an abstraction between
               applicative functors and monads, introduced in
               <https://www.staff.ncl.ac.uk/andrey.mokhov/selective-functors.pdf this paper>.

extra-doc-files:
    CHANGES.md
    README.md

source-repository head
    type:     git
    location: https://github.com/snowleopard/selective.git

library
    hs-source-dirs:     src
    exposed-modules:    Control.Selective,
                        Control.Selective.Free,
                        Control.Selective.Multi,
                        Control.Selective.Rigid.Free,
                        Control.Selective.Rigid.Freer
    build-depends:      base         >= 4.9     && < 5,
                        containers   >= 0.5.5.1 && < 0.7,
                        transformers >= 0.4.2.0 && < 0.7
    default-language:   Haskell2010
    other-extensions:   DeriveFunctor,
                        FlexibleInstances,
                        GADTs,
                        GeneralizedNewtypeDeriving,
                        RankNTypes,
                        StandaloneDeriving,
                        TupleSections
    ghc-options:        -Wall
                        -fno-warn-name-shadowing
                        -Wcompat
                        -Wincomplete-record-updates
                        -Wincomplete-uni-patterns
                        -Wredundant-constraints
    if impl(ghc >= 9.2)
        ghc-options:    -Wno-operator-whitespace-ext-conflict

test-suite test
    hs-source-dirs:     test, examples
    other-modules:      Build,
                        Laws,
                        Parser,
                        Processor,
                        Query,
                        Sketch,
                        Teletype,
                        Teletype.Rigid,
                        Test,
                        Validation
    type:               exitcode-stdio-1.0
    main-is:            Main.hs
    build-depends:      base                   >= 4.7     && < 5,
                        containers             >= 0.5.5.1 && < 0.7,
                        QuickCheck             >= 2.8     && < 2.15,
                        selective,
                        transformers           >= 0.4.2.0 && < 0.7
    default-language:   Haskell2010
    ghc-options:        -Wall
                        -fno-warn-name-shadowing
                        -Wcompat
                        -Wincomplete-record-updates
                        -Wincomplete-uni-patterns
                        -Wredundant-constraints
    if impl(ghc >= 9.2)
        ghc-options:    -Wno-operator-whitespace-ext-conflict