packages feed

fused-effects-mwc-random-0.1.0.0: fused-effects-mwc-random.cabal

cabal-version:       2.4
name:                fused-effects-mwc-random
version:             0.1.0.0
synopsis:            High-quality random number generation as an effect.
description:         This package wraps the mwc-random package and provides a convenient interface to invoke its functions from an effect stack.
homepage:            https://github.com/fused-effects/fused-effects-mwc-random
bug-reports:         https://github.com/fused-effects/fused-effects-mwc-random/issues
license:             BSD-3-Clause
license-file:        LICENSE
author:              Patrick Thomson
maintainer:          patrickt@github.com
copyright:           2020 Patrick Thomson
category:            Control
build-type:          Simple
extra-doc-files:     README.md
                   , CHANGELOG.md
tested-with:         GHC == 8.2.2
                   , GHC == 8.4.4
                   , GHC == 8.6.5
                   , GHC == 8.8.1
                   , GHC == 8.10.1

common shared
  ghc-options:         -Wall
                       -Wincomplete-uni-patterns
                       -Wincomplete-record-updates
                       -Wcompat
                       -Widentities
                       -Wredundant-constraints
                       -fhide-source-paths

  if (impl(ghc >= 8.10))
    ghc-options:       -Wno-missing-safe-haskell-mode
                       -Wno-prepositive-qualified-module


  default-language:    Haskell2010

source-repository head
  type:                git
  location:            https://github.com/fused-effects/fused-effects-mwc-random.git

library
  import:              shared
  hs-source-dirs:      src
  exposed-modules:     Control.Carrier.Random.Lifted
                     , Control.Carrier.Random.Instances
                     , Control.Effect.Random


  build-depends:       base >= 4.10 && < 4.15
                     , fused-effects ^>= 1.1
                     , mwc-random >= 0.13.6 && < 0.15
                     , vector ^>= 0.12
                     , primitive >= 0.6.4 && < 0.8
                     , template-haskell >= 2.12
                     , transformers >= 0.5.2 && < 0.6

test-suite test
  import:              shared
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test
  main-is:             Test.hs
  other-modules:       Magic
  build-depends:       base
                     , fused-effects
                     , fused-effects-mwc-random
                     , mwc-random
                     , vector

benchmark bench
  import: shared
  type: exitcode-stdio-1.0
  hs-source-dirs: bench
  main-is: Bench.hs
  build-depends: base
               , gauge ^>= 0.2.5
               , fused-effects-random
               , fused-effects-mwc-random