packages feed

hw-polysemy-0.1.0.0: hw-polysemy.cabal

cabal-version:          3.4
name:                   hw-polysemy
version:                0.1.0.0
synopsis:               Opinionated polysemy library
description:            Opinionated polysemy library.
license:                Apache-2.0
license-file:           LICENSE
author:                 John Ky
maintainer:             newhoggy@gmail.com
copyright:              2024 John Ky
category:               Development
build-type:             Simple
extra-doc-files:        CHANGELOG.md
extra-source-files:     README.md

source-repository head
  type:                 git
  location:             https://github.com/haskell-works/hw-polysemy

common base                       { build-depends: base                       >= 4.18.2.1   && < 5      }

common bytestring                 { build-depends: bytestring                                  < 0.13   }
common filepath                   { build-depends: filepath                                    < 1.6    }
common hedgehog                   { build-depends: hedgehog                                    < 1.5    }
common polysemy                   { build-depends: polysemy                                    < 2      }
common polysemy-log               { build-depends: polysemy-log                                < 0.11   }
common polysemy-plugin            { build-depends: polysemy-plugin                             < 0.5    }
common polysemy-time              { build-depends: polysemy-time                               < 0.7    }
common tasty                      { build-depends: tasty                                       < 1.6    }
common tasty-hedgehog             { build-depends: tasty-hedgehog                              < 1.5    }
common text                       { build-depends: text                                        < 3      }

common hw-polysemy                { build-depends: hw-polysemy                                          }

common project-config
  import:               polysemy,
                        polysemy-plugin,
  default-extensions:   BlockArguments
                        DataKinds
                        FlexibleContexts
                        FlexibleInstances
                        LambdaCase
                        NoImplicitPrelude
                        OverloadedStrings
                        TypeApplications
  ghc-options:          -Wall
                        -fplugin=Polysemy.Plugin

library
  import:               base, project-config,
                        bytestring,
                        filepath,
                        hedgehog,
                        polysemy,
                        polysemy-log,
                        polysemy-time,
                        text,
  exposed-modules:      HaskellWorks.Polysemy
                        HaskellWorks.Polysemy.ByteString
                        HaskellWorks.Polysemy.ByteString.Lazy
                        HaskellWorks.Polysemy.ByteString.Strict
                        HaskellWorks.Polysemy.Data.String
                        HaskellWorks.Polysemy.Either
                        HaskellWorks.Polysemy.Hedgehog
                        HaskellWorks.Polysemy.Hedgehog.Assert
                        HaskellWorks.Polysemy.Hedgehog.Effect.Hedgehog
                        HaskellWorks.Polysemy.Hedgehog.Effect.Hedgehog.Internal
                        HaskellWorks.Polysemy.Hedgehog.Effect.Log
                        HaskellWorks.Polysemy.Hedgehog.Eval
                        HaskellWorks.Polysemy.Hedgehog.Jot
                        HaskellWorks.Polysemy.Hedgehog.Property
                        HaskellWorks.Polysemy.Prelude
                        HaskellWorks.Polysemy.Text
                        HaskellWorks.Polysemy.Text.Lazy
                        HaskellWorks.Polysemy.Text.Strict
                        HaskellWorks.Polysemy.IO
  hs-source-dirs:       src
  default-language:     GHC2021

test-suite hw-polysemy-test
  import:               base, project-config,
                        filepath,
                        hw-polysemy,
                        polysemy,
                        polysemy-log,
                        tasty-hedgehog,
                        tasty,
                        text,
  default-language:     GHC2021
  type:                 exitcode-stdio-1.0
  build-tool-depends:   tasty-discover:tasty-discover
  hs-source-dirs:       test
  main-is:              Main.hs
  other-modules:        HaskellWorks.Polysemy.HedgehogSpec
  ghc-options:          -threaded -rtsopts -with-rtsopts=-N -with-rtsopts=-T